【发布时间】:2021-03-12 08:15:45
【问题描述】:
我正在尝试从 Azure 数据湖中逐个读取 csv 文件列表,经过一些检查后,我想将所有文件合并到一个数据帧中。
fileList = dbutils.fs.ls(file_input_path)
for i in fileList:
try:
file_path = i.path
print(file_path)
except Exception as e:
raise Exception(str(e))
在这种情况下,我想使用自定义架构从 file_path 读取 csv,然后将所有内容合并到一个数据帧中。
我只能读取一个 csv,如下所示。如何读取每个 csv 并将它们合并为一个数据帧?
df = spark.read.csv(file_path, header = True, schema=custom_schema)
如何努力做到这一点?谢谢。
【问题讨论】:
-
使用
reduce合并数据框列表:df = functools.reduce(DataFrame.union, df_list)
标签: pyspark union azure-data-lake pyspark-dataframes