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

我如何使用DataFrame投?

cfregly
貢獻者
5回複5

cfregly
貢獻者

您可以使用HiveQL的演員()的類型轉換函數將一個元素嵌套映射在Python中如下:

從pyspark。sql行df = sqlContext進口。createDataFrame([行(a = {b: 1}))) str = df。selectExpr(“鑄([b]作為字符串)”)

或在Scala中,如下所示:

val df = Seq ((Map (“a”- > 1))) .toDF df (“a”)。selectExpr(“鑄([a]作為字符串)”)

嗯……
新的貢獻者二世

如果你的df是注冊表你也可以用SQL調用:

df.createOrReplaceTempView(“表”)str =火花。sql(“選擇演員([b]作為字符串)從表”)

更多的代碼的簡單的例子,但在過去,當我發現這是組合成更複雜的查詢SQL格式可以從可讀性角度更友好。

DarrellUlm
新的貢獻者二世

還可以使用withColumn()沒有Spark-SQL,雖然性能可能會不同。問題是,創建一個新的列會比使用Spark-SQL更多的時間。

喜歡的東西:

val dfNew = df。withColumn (“newColName df.originalColName.cast (IntegerType)) .drop (“originalColName”)。withColumnRenamed (“newColName”、“originalColName”)

創建新列,鑄件從原始列,最初的下降,然後重命名新列回到原來的名字。有點迂回,但看起來像。

ShubhamGupta187
新的貢獻者二世

它是將一個列包含空值安全嗎?

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

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

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

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

Baidu
map