【发布时间】:2019-10-18 20:30:43
【问题描述】:
我正在处理一个充满 .parquet 文件的文件系统。其中一列“id”唯一地标识了一台机器。我能够使用 pyspark 打开某个目录路径中的所有 .parquet 文件,然后从“id”列创建一组值([])。我想打开所有其他文件中的所有其他行,其中“id”与先前计算集中的值之一匹配。
我可以通过 pyspark 做到这一点,但它非常复杂,需要我实例化一个本地 spark 服务器。我正在尝试通过 pyarrow 找到一种方法来执行此操作,但似乎它的 read_pandas / read 方法 'filters' 参数只能过滤分区数据,而不是任意列数据。
有没有办法实现我在这里寻找的东西?我无法打开整个数据集,然后使用 Python 过滤掉“id”不匹配的行,因为它不适合内存。
【问题讨论】: