Python 如何使用DataRicks中的pyspark将spark dataframe中的所有行数据提取到文件中
我正在尝试将所有行数据从spark dataframe提取到DataRicks中的一个文件中。我能够将df数据写入一个只有很少计数的文件。假设df中的计数为100,那么文件中的计数为50,因此跳过了数据。如何将已完成的数据从dataframe加载到文件中而不跳过数据。我创建了一个udf,udf将打开文件并将数据附加到其中。我在spark sql df中调用了该udfPython 如何使用DataRicks中的pyspark将spark dataframe中的所有行数据提取到文件中,python,pyspark,apache-spark-sql,azure-databricks,Python,Pyspark,Apache Spark Sql,Azure Databricks,我正在尝试将所有行数据从spark dataframe提取到DataRicks中的一个文件中。我能够将df数据写入一个只有很少计数的文件。假设df中的计数为100,那么文件中的计数为50,因此跳过了数据。如何将已完成的数据从dataframe加载到文件中而不跳过数据。我创建了一个udf,udf将打开文件并将数据附加到其中。我在spark sql df中调用了该udf 有人能帮我解决这个问题吗?我建议不要像您这样使用udf,原因如下: UDF在工作节点上运行,因此您将有多个UDF,每个UDF将一
有人能帮我解决这个问题吗?我建议不要像您这样使用udf,原因如下:
- UDF在工作节点上运行,因此您将有多个UDF,每个UDF将一部分数据写入本地文件
- 即使将UDF附加到共享位置(如DBF)中的文件,仍有多个节点同时写入文件,这可能会导致错误
- Spark已经有了一种开箱即用的方法,您应该充分利用它
df_to_write = my_df.select(<columns you want>)
df_to_write.coalesce(1).write.csv("/dbfs/myFileDownloads/dataframeDownload.csv")
df_to_write=my_df.select()
df_to_write.coalesce(1.write.csv)(“/dbfs/myFileDownloads/dataframeDownload.csv”)
您能分享一下您要执行的代码吗?