0
我正在將批處理操作轉換爲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)
從谷歌的定義,一個數據幀是一表格結構,並放射性散佈分佈;不過,我已經看到其他說明dataFrames是基於Rdds實現的。數據框是分佈式的嗎?它們是否僅在採取了某些步驟並行化之後才進行分發?
RDD API僅用於兼容性。你應該在數據集中使用Spark 2.x(如果使用最新的Spark) –
「數據集API可以在Scala和Java中使用Python不支持數據集API,但是由於Python的動態特性,許多好處的數據集API已經可用了(也就是說,您可以通過自然的row.columnName名稱來訪問一個行的字段),R的情況類似。「 http://spark.apache.org/docs/latest/sql-programming-guide.html#datasets-and-dataframes。我正在使用pyspark – LizH
我認爲Dataframe是分佈式的。它的名字是SchemaRDD,也是一種RDD。 – BobXWu