无法使用 Databricks 将 Apache Spark 镶木地板文件保存到 csv
Unable to Save Apache Spark parquet file to csv with Databricks
我正在尝试 save/convert 使用 Databricks 在 Apache Spark 上将镶木地板文件转换为 csv,但运气不佳。
以下代码成功写入名为 tempDelta 的文件夹:
df.coalesce(1).write.format("parquet").mode("overwrite").option("header","true").save(saveloc+"/tempDelta")
然后我想将 parquet 文件转换为 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 保存到不是增量文件夹的文件夹时,出现以下错误:
df.write.option("header","true").csv("testfolder")
AnalysisException: CSV data source does not support struct data type.
谁能告诉我使用 Databricks 从 parquet 保存/转换为 csv 的最佳方法
您可以使用以下两个选项之一
1. df.write.option("header",true).csv(path)
2. df.write.format("csv").save(path)
注意:您不能将格式称为 parquet 并立即使用 .csv 函数。
我正在尝试 save/convert 使用 Databricks 在 Apache Spark 上将镶木地板文件转换为 csv,但运气不佳。
以下代码成功写入名为 tempDelta 的文件夹:
df.coalesce(1).write.format("parquet").mode("overwrite").option("header","true").save(saveloc+"/tempDelta")
然后我想将 parquet 文件转换为 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 保存到不是增量文件夹的文件夹时,出现以下错误:
df.write.option("header","true").csv("testfolder")
AnalysisException: CSV data source does not support struct data type.
谁能告诉我使用 Databricks 从 parquet 保存/转换为 csv 的最佳方法
您可以使用以下两个选项之一
1. df.write.option("header",true).csv(path)
2. df.write.format("csv").save(path)
注意:您不能将格式称为 parquet 并立即使用 .csv 函数。