我打算将批处理操作转换为Spark作业,以便在AWS EMR中运行;这项工作的核心是两个相当大的数据集之间的连接。
该操作的核心是加入:
table_1: loaded from json file_1
table_2: loaded from parquet file_2
joined_table = table_1.join(table_2)
.map(some_data_transformations)
store_it_off(joined_table)
从谷歌定义中,dataFrame是一个表格式结构,并且分布了Rdd;但是,我已经看到其他说明dataFrames是基于Rdds实现的。数据帧是否已分发?它们是仅在某些步骤之后分发才能并行化它们吗?
答案 0 :(得分:0)
是,Spark dataFrames是分布式的
从火花明确的指南:
.. spark dataFrame可以跨越数千台计算机。
但这仅在scala和java中可用,
来自同一本书:
... Python / R DataFrame存在于一台计算机上,而不是多台计算机上