我使用的是膠水版本 3.0、python 版本 3、火花版本 3.1。我正在從 xml 創建資料幀中提取資料并將資料以 csv 格式寫入 s3 路徑。在撰寫資料幀之前,我使用 show(1) 列印了資料幀的模式和 1 條記錄。到目前為止,一切都很好。但是在將其寫入 s3 位置的 csv 檔案時,發現錯誤重復列,因為我的資料框有 2 列,即“標題”和“標題”。嘗試添加一個新的列 title2,它將包含標題的內容,并考慮稍后使用以下命令洗掉標題
from pyspark.sql import 函式作為 f
df=df.withcoulumn('title2',f.expr("title"))但得到錯誤 參考'title' 不明確,可能是:title, title 嘗試df=df.withcoulumn('title2',f.col("title"))得到同樣的錯誤。任何幫助或解決此問題的方法,請..
uj5u.com熱心網友回復:
默認情況下,spark 不區分大小寫,我們可以通過將 設定為spark.sql.caseSensitive來使 spark 敏感True。
from pyspark.sql import functions as f
df = spark.createDataFrame([("CaptializedTitleColumn", "title_column", ), ], ("Title", "title", ))
spark.conf.set('spark.sql.caseSensitive', True)
df.withColumn('title2',f.expr("title")) .show()
輸出
-------------------- ------------ ------------
| Title| title| title2|
-------------------- ------------ ------------
|CaptializedTitleC...|title_column|title_column|
-------------------- ------------ ------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/373681.html
標籤:亚马逊网络服务 火花 apache-spark-sql aws-胶水
下一篇:如何使用AWSCDK正確洗掉
