这是
PCollection<BeamRecord> rec = rec_out.apply(BeamSql.query(
"SELECT bnk_name,state_name,val from PCOLLECTION order by val desc limit 2"));
但我需要
PCollection<BeamRecord> rec = rec_out.apply(BeamSql.query(
"SELECT bnk_name,state_name,val from PCOLLECTION order by val desc "));
这实际上没有帮助。PCollections在Beam中是无序的,因此不能对整个输出应用排序。
梁没有排序,因为它通常是不必要的,通常是不可能的。大多数使用排序的问题都有另一种不需要全局排序的解决方案。
如果您详细描述如何处理SQL查询的输出,我将用建议更新我的答案。
如果您不能共享更多,那么您可以选择在SQL查询之外使用Beam的排序器扩展,但这并不是真正的全局排序,而是在洗牌后按键排序。