spark-read带分区过滤器的Parquet地板与完整路径

mum43rcc  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(398)

我在hdfs中有一个分区Parquet地板数据示例:hdfs://cluster/stage/data/datawarehouse/table=metrics_data/country=印度/year=2020/month=06/day=30/hour=23/
我想了解阅读数据的最佳方式:
df=Spark.阅读.Parquet地板(“hdfs://cluster/stage/data/datawarehouse/table=metrics_data/country=印度/年=2020/月=06/天=30/“),其中(col('小时')=”23“)

df=Spark.阅读.Parquet地板(“hdfs://cluster/stage/data/datawarehouse/table=metrics_data/country=印度/年=2020/月=06/天=30/小时=23“)
我想了解更多的性能和其他优势,如果有的话。

628mspwn

628mspwn1#

这很简单,我们在读取文件时要做的第一件事就是使用 df = df.filter() 这将过滤下来的数据,甚至在读取到内存,先进的文件格式,如Parquet,orc支持的概念预测下推更多,这使您读取数据的方式更快,加载完整的数据。

w6mmgewl

w6mmgewl2#

如果你有一个大的目录/文件层次结构,直接读取单个目录可能比过滤更快,因为spark需要建立一个索引来应用这个过滤器。请看下面的问题和答案。

相关问题