在SparkDataFrame中找到每個組的最大行數(shù)我試圖使用SparkDataaframes而不是RDDs,因為它們看起來比RDD更高級,并且傾向于產(chǎn)生更易讀的代碼。在一個14個節(jié)點的Google Dataproc集群中,我有大約600萬個名稱,它們被兩個不同的系統(tǒng)轉換為ID:sa和sb..各Row含name, id_sa和id_sb..我的目標是從id_sa到id_sb使每個人id_sa,相應的id_sb是附加在所有名稱中最常見的id。id_sa.讓我們用一個例子來說明一下。如果我有下列行:[Row(name='n1', id_sa='a1', id_sb='b1'),
Row(name='n2', id_sa='a1', id_sb='b2'),
Row(name='n3', id_sa='a1', id_sb='b2'),
Row(name='n4', id_sa='a2', id_sb='b2')]我的目標是從a1到b2..實際上,與a1是n1, n2和n3,分別映射到b1, b2和b2,所以b2的名稱中最頻繁的映射。a1..以同樣的方式,a2將被映射到b2..假設總有贏家是可以的:不需要斷絕關系。我希望我能用groupBy(df.id_sa)但我不知道下一步該怎么做。我希望有一個聚合,最終生成以下行:[Row(id_sa=a1, max_id_sb=b2),
Row(id_sa=a2, max_id_sb=b2)]但也許我試圖使用錯誤的工具,我應該回到使用RDDs。
添加回答
舉報
0/150
提交
取消