取消
顯示的結果
而不是尋找
你的意思是:

如何添加新列值在dataframe代表惟一的id嗎

supriya
新的貢獻者二世

我需要在dataframe創建新列的數據。

例子:

= sqlContext val測試。createDataFrame (Seq ((4 l,引發我j k), (5 l, l m n), (6 l, mapreduce“火花”),(7 l,“apache hadoop”), (11 l a b c d e火花),(12 l,“b d”), (13 l,“火花f g h”), (14 l, hadoop mapreduce)))。toDF (“id”、“文本”)

val元組=列表((0.9 0 l), (4 l, 3.0), (0.12 6 l), (7 l, 0.7), (0.15 l, 11), (12 l, 6.1), (13 l, 1.8)) val抽樣:抽樣[(長,雙)]= sparkContext.parallelize ((tuples.toSeq))

這個元組ID和平均價值。現在我想添加新列命名平均和增加價值的行代表ID和genrate新Dataframe或抽樣。

12個回複12

raela
新的貢獻者三世

你想添加一個新的列元組嗎?

你首先要把元組DataFrame,並能輕鬆做到這一點:

val tuplesDF =元組。toDF (“id”、“平均”)

然後您可以使用withColumn來創建一個新的列:

tuplesDF。withColumn (“average2 tuplesDF.col(“平均”)+ 10)

請參閱DataFrame文檔:

https://spark.apache.org/docs/latest/api/scala/index.html org.apache.spark.sql.DataFrame

supriya
新的貢獻者二世

謝謝王@Raela。但是我的要求是不同的,我想加入平均列測試dataframe代表id列。我知道這是可能使用加入…但我認為加入過程太緩慢。如果你有其他的解決方案,那麼你可以建議我。

jackAKAkarthik
新的貢獻者三世

你給的方法將一個已有的列的值複製到一個新創建的列,但@supriya問不同的問題。

raela
新的貢獻者三世

@supriya

你需要做一個連接。

進口org.apache.spark.sql.functions。_ val加入=測試。加入(元組,坳(" id ") = = =坳(“tupleid”)、“內在”)。選擇(“id”、“文本”、“平均”)

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map