从 datalake 中读取 csv 文件列表并将它们联合到单个 pyspark 数据帧中

Read a list of csv files from datalake and union them into a single pyspark dataframe

我正在尝试从 Azure datalake 中一个一个地读取 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)

如何努力做到这一点?谢谢

我设法阅读并合并如下。

fileList = dbutils.fs.ls(file_input_path)
output_df = spark.createDataFrame([],schema=custom_schema)

for i in fileList:
  try:
    file_path = i.path
    df = spark.read.csv(file_path, header=True, schema=custom_schema)
    output_df = output_df.union(df)
    
  except Exception as e:
    raise Exception(str(e))