Apache Arrow Flight:从多个端点获取排序数据

Apache Arrow Flight: Getting sorted data from multiple endpoints

提问人:zeodtr 提问时间:1/20/2023 最后编辑:zeodtr 更新时间:1/20/2023 访问量:170

问:

根据文档(https://arrow.apache.org/docs/dev/format/Flight.html),Apache Arrow Flight 客户端无法从多个端点获取排序数据。这似乎是设计使然。

在介绍文档(https://arrow.apache.org/blog/2019/10/13/introducing-arrow-flight/)中,他们说“虽然 Flight 流不一定是有序的,但我们提供了应用程序定义的元数据,可用于序列化排序信息。但我认为应用程序定义的元数据不是很有用,因为使用包装器的一般客户端(如 BI 应用程序)——例如,Apache Arrow Flight SQL,更不用说包装器的包装器:Apache Arrow Flight SQL JDBC 驱动程序——不知道它。

是否有任何标准方法可以从多个 Apache Arrow Flight 端点获取排序数据?如果不是,为什么设计人员选择不支持该功能?

谢谢。

apache-arrow apache-arrow-flight

评论


答:

0赞 li.davidm 1/20/2023 #1

当时没有考虑过,但你是对的:有一种方法可以表明这一点会很有用,这样各种包装器和构建在上面的项目就有一种标准化的方式来知道如何处理这个问题。

主要思想是,如果对数据进行排序,则应返回单个终结点。我认为其理由是,很少有能够跨多个端点进行排序的实现,因为实现起来成本很高。当然,如果你的后端实际上可以跨多个工作线程对数据进行排序,那就不是很有用了!

我(作为该项目的贡献者之一)正计划提出一个处理此案的提案。如果您有兴趣,请关注邮件列表:[email protected]。