0
想象一下,您正在通過SparkContext和Hive加載大型數據集。所以這個數據集然後分佈在你的Spark集羣中。例如,對數千個變量進行觀察(值+時間戳)。是Dataframe.toPandas總是在驅動程序節點上還是在工作節點上?
現在您將使用一些map/reduce方法或聚合來組織/分析您的數據。例如按變量名稱分組。
一旦分組,您可以獲得每個變量的所有觀察值(值)作爲時間序列數據框。如果現在使用DataFrame.toPandas
def myFunction(data_frame):
data_frame.toPandas()
df = sc.load....
df.groupBy('var_name').mapValues(_.toDF).map(myFunction)
- 是此轉換爲一個數據幀熊貓(每變量)每個工人 節點上,或
- 是熊貓Dataframes總是駕駛員節點和數據因此從工作節點轉移到驅動程序?
因此,您可以在地圖功能中使用Pandas Dataframe API,以便即使在工作節點中也可以使用更多的convo敵方法。例如在地圖步驟中僅對該信息進行一些分析並返回結果。 – Matthias
是的,它可能與SparkR'dapply'類似。獲得期望的性能可能會非常棘手,但您必須平衡資源分配和並行性。 – zero323
你是我的英雄。我仍然是一個新手,但改善。也許你可以幫助我[這也是](http://stackoverflow.com/questions/39155954/how-to-do-a-nested-for-each-loop-with-pyspark)。 – Matthias