【发布时间】:2017-03-14 19:33:37
【问题描述】:
当 Spark 将源数据从文件加载到 DataFrame 中时,哪些因素决定了数据是在单个节点(很可能是驱动程序/主节点)上完全加载到内存中,还是在计算所需的最小并行子集中 (大概在工作者/执行者节点上)?
特别是,如果使用 Parquet 作为输入格式并通过 Spark DataFrame API 加载,需要注意哪些事项以确保从 Parquet 文件加载并行化并推迟到执行程序,并限制在列的范围内相关执行程序节点上的计算需要?
(我希望了解 Spark 用于在分布式执行计划中调度源数据加载的机制,以避免通过加载完整数据集耗尽任何一个节点上的内存。)
【问题讨论】:
标签: apache-spark apache-spark-sql spark-dataframe parquet