我在我的lake中列出了以下镶木地板文件,我想将这些文件转换为CSV。
我曾尝试使用SO上的建议进行转换,但我一直得到属性错误:
AttributeError: 'str' object has no attribute 'write'
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<command-507817377983169> in <module>
----> 1 df.write.format("csv").save("/mnt/lake/RAW/export/")
AttributeError: 'str' object has no attribute 'write'
我已经创建了一个数据帧到镶木地板文件所在的位置,作为"df",它给出了以下输出:
Out[71]: '/mnt/lake/CUR/CURATED/F1Area/F1Domain/myfinal'
当我尝试使用以下任何一种方法将parquets写入/转换为CSV时,我会收到上面的错误:
df.write.format("csv").save("/mnt/lake/RAW/export/")
df.write.csv(path)
我正在输入以下内容进行阅读:df = spark.read.parquet("/mnt/lake/CUR/CURATED/F1Area/F1Domain/myfinal/")
,但我收到以下错误消息:
Databricks Delta的事务日志位于/mnt/lake/CUR/CURATED/F1Area/F1Domain/myfinal/_Delta_log,但您正试图使用格式("镶木地板"(从/mnt/lace/CUR/CURATED/F1are/F1Domain/myfinal读取。在读取和写入delta表时,必须使用"format("delta"("。要禁用此检查,请设置spark.databricks.delta.formatCheck.enabled=false
您存储的文件为delta格式。因此,将其读取为以下命令
df= spark.read.format("delta").load(path_to_data)
加载后,请先尝试显示,以确保使用display(df)
正确加载。
如果输出符合预期,则可以将其作为CSV写入所需位置。
df
变量的类型为字符串,其值为/mnt/lake/CUR/CURATED/F1Area/F1Domain/myfinal
。
在调用df.write
之前,您需要先读取文件并确保df
变量是pyspark数据帧