我想将火花数据框保存到excel中。
我已经通过在每个节点中保存csv文件并使用DataBricks spark-CSV将其附加到服务器中来为csv完成此操作。
我不知道如何为excel做这件事。有人请建议和想法。
答案 0 :(得分:0)
您可以在Spark中使用HadoopOffice库的数据源: https://github.com/zuinnote/hadoopoffice
但是,如果要存储的数据量非常大,那么它就没有多大意义,因为Excel本身在处理大型数据文件时存在问题。
答案 1 :(得分:0)
%sh pip install XlsxWriter
spark.conf.set("spark.sql.execution.arrow.enabled", "true")
import shutil, sys ,os
import pandas as pd
import xlsxwriter
df = spark.createDataFrame(
[
(1, 'foo'), # create your data here, be consistent in the types.
(2, 'bar'),
(3, 'bar1'),
(4, 'bar2'),
],
['id', 'txt'] # add your columns label here
)
adls_path="/dbfs/mnt/"
pd_df=df.toPandas()
pd_df.to_excel('test.xlsx',engine='xlsxwriter')
shutil.move('test.xlsx', adls_path)