Python Pyspark databricks从第一个文件读取头文件
我试图在databricks中读取航空公司数据集Python Pyspark databricks从第一个文件读取头文件,python,pyspark,databricks,Python,Pyspark,Databricks,我试图在databricks中读取航空公司数据集 Path in databricks -> /databricks-datasets/airlines 此文件夹下存在多个文件-从第-00000部分开始,依此类推 只有第-00000部分文件存在头信息。其他文件没有标题信息 我正在尝试使用以下命令读取所有文件 df= spark.read.format("csv").option("header", "true").load("/databricks-datasets/airlines
Path in databricks -> /databricks-datasets/airlines
此文件夹下存在多个文件-从第-00000部分开始,依此类推
只有第-00000部分文件存在头信息。其他文件没有标题信息
我正在尝试使用以下命令读取所有文件
df= spark.read.format("csv").option("header", "true").load("/databricks-datasets/airlines/part-*")
出于某种原因,它没有从第一个文件部分-00000中提取头信息。是否有一种方法可以从part-00000文件中提取头信息,因为其他文件没有头信息
谢谢 您可以首先读取包含标题的csv分区文件:
df = spark \
.read \
.format("csv")\
.option("header", "true") \
.load("/databricks-datasets/airlines.csv/part-00000")
然后保存模式:
csv_schema = df.schema
现在,您可以使用schemacsv\u schema
读取所有分区:
df = spark \
.read \
.format("csv")\
.schema(csv_schema) \
.load("/databricks-datasets/airlines.csv")
我不知道他们用的是*通配符。这可能就是问题所在。如果是这种情况,那么您可以将read命令放在范围内i的
中,然后将i格式化为五个字符,并将其插入到文件路径字符串中。