gpt4 book ai didi

apache-spark - 从 Spark 中的 Parquet 文件中读取特定列的有效方法

转载 作者:行者123 更新时间:2023-12-04 10:06:49 24 4
gpt4 key购买 nike

从具有多列的 Parquet 文件中仅读取 spark 中的列子集的最有效方法是什么?正在使用 spark.read.format("parquet").load(<parquet>).select(...col1, col2)最好的方法是什么?我也更喜欢使用带有案例类的类型安全数据集来预定义我的架构,但不确定。

最佳答案

val df = spark.read.parquet("fs://path/file.parquet").select(...)

这只会读取相应的列。事实上, Parquet 是一种柱状存储,它完全适用于这种类型的用例。尝试运行 df.explain spark 会告诉你只读取相应的列(它打印执行计划)。 explain如果您还使用 where 条件,还会告诉您哪些过滤器被推送到物理执行计划。最后使用以下代码将数据框(行数据集)转换为案例类的数据集。
case class MyData...
val ds = df.as[MyData]

关于apache-spark - 从 Spark 中的 Parquet 文件中读取特定列的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48422137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com