我正在嘗試使用 Databricks 在 Apache Spark 上將鑲木地板檔案保存/轉換為 csv,但運氣不佳。
以下代碼成功寫入名為 tempDelta 的檔案夾:
df.coalesce(1).write.format("parquet").mode("overwrite").option("header","true").save(saveloc "/tempDelta")
然后我想將鑲木地板檔案轉換為 csv,如下所示:
df.coalesce(1).write.format("parquet").mode("overwrite").option("header","true").save(saveloc "/tempDelta").csv(saveloc "/tempDelta")
AttributeError Traceback (most recent call last)
<command-2887017733757862> in <module>
----> 1 df.coalesce(1).write.format("parquet").mode("overwrite").option("header","true").save(saveloc "/tempDelta").csv(saveloc "/tempDelta")
AttributeError: 'NoneType' object has no attribute 'csv'
在寫入該位置后,我還嘗試了以下操作:
df.write.option("header","true").csv(saveloc "/tempDelta2")
但它得到錯誤:
A transaction log for Databricks Delta was found at `/CURATED/F1Area/F1Domain/final/_delta_log`,
but you are trying to write to `/CURATED/F1Area/F1Domain/final/tempDelta2` using format("csv"). You must use
'format("delta")' when reading and writing to a delta table.
當我嘗試將 csv 保存為不是 delta 檔案夾的檔案夾時,我收到以下錯誤:
df.write.option("header","true").csv("testfolder")
AnalysisException: CSV data source does not support struct data type.
有人可以讓我知道使用 Databricks 從鑲木地板保存/轉換為 csv 的最佳方法嗎
uj5u.com熱心網友回復:
您可以使用以下兩個選項之一
1. df.write.option("header",true).csv(path)
2. df.write.format("csv").save(path)
注意:您不能同時提及格式為鑲木地板并使用 .csv 函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/383931.html
上一篇:無法將考拉系列指定為考拉中的新列
