日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

spark 把一列数据合并_Spark Java-合并同一列多行 - java

發布時間:2025/3/21 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark 把一列数据合并_Spark Java-合并同一列多行 - java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在使用Java Spark,并且有1個這樣的數據框

+---+-----+------+

|id |color|datas |

+----------------+

|1 |blue |data1|

|1 |red |data2|

|1 |orange|data3|

|2 |black |data4|

|2 | |data5|

|2 |yellow| |

|3 |white |data7|

|3 | |data8|

+----------------+

我需要修改此數據框,使其看起來像這樣:

+---+--------------------+---------------------+

|id |color |datas |

+----------------------------------------------+

|1 |[blue, red, orange] |[data1, data2, data3]|

|2 |[black, yellow] |[data4, data5] |

|3 |[white] |[data7, data8] |

+----------------------------------------------+

我想合并數據以創建同一列的“數組”,但基于“ id”列從不同的行創建一個“數組”。

我可以通過UserDefinedAggregateFunction來完成此操作,但一次只能完成一列,并且處理時間太長。

謝謝

編輯:我正在使用Spark 1.6

參考方案

您可以按“ id”分組,然后使用collect_list函數獲取匯總值。

dataframe.groupBy("id").agg(collect_list(struct("color")).as("color"), collect_list(struct("dates")).as("dates") )

希望這可以幫助

有效地將包含字母的字符串轉換為Int-Apache Spark - java

我正在使用將用戶作為字符串的數據集(即B000GKXY4S)。我想將這些用戶中的每一個都轉換為int,因此可以在Apache Spark ALS中使用Rating(user:Int,product:Int,rating:Double)類。最有效的方法是什么?最好使用Spark Scala函數或python本機函數。 參考方案 如果只想將任何可匹配的Strin…找不到火花RDD類 - java

我是Spark的新手,并且需要有關錯誤的幫助:java.lang.NoClassDefFoundError: org/apache/spark/rdd/RDD$我正在Scala中創建一個獨立的Spark示例。我運行了sbt clean package和sbt assembly來打包scala spark代碼。兩者均成功完成,沒有任何錯誤。 RDD上的任何操作…Java:線程池如何將線程映射到可運行對象 - java

試圖繞過Java并發問題,并且很難理解線程池,線程以及它們正在執行的可運行“任務”之間的關系。如果我創建一個有10個線程的線程池,那么我是否必須將相同的任務傳遞給池中的每個線程,或者池化的線程實際上只是與任務無關的“工人無人機”可用于執行任何任務?無論哪種方式,Executor / ExecutorService如何將正確的任務分配給正確的線程? 參考方案 …JAVA:字節碼和二進制有什么區別? - java

java字節代碼(已編譯的語言,也稱為目標代碼)與機器代碼(當前計算機的本機代碼)之間有什么區別?我讀過一些書,他們將字節碼稱為二進制指令,但我不知道為什么。 參考方案 字節碼是獨立于平臺的,在Windows中運行的編譯器編譯的字節碼仍將在linux / unix / mac中運行。機器代碼是特定于平臺的,如果在Windows x86中編譯,則它將僅在Win…java:繼承 - java

有哪些替代繼承的方法? java大神給出的解決方案 有效的Java:偏重于繼承而不是繼承。 (這實際上也來自“四人幫”)。他提出的理由是,如果擴展類未明確設計為繼承,則繼承會引起很多不正常的副作用。例如,對super.someMethod()的任何調用都可以引導您通過未知代碼的意外路徑。取而代之的是,持有對本來應該擴展的類的引用,然后委托給它。這是與Eric…

總結

以上是生活随笔為你收集整理的spark 把一列数据合并_Spark Java-合并同一列多行 - java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。