【发布时间】:2021-03-13 00:16:08
【问题描述】:
我有 1000 个包含以下格式数据的文件:
a|b|c|clm4=1|clm5=3
a|b|c|clm4=9|clm6=60|clm7=23
我想阅读它并将其转换为如下数据框:
clm1|clm2|clm3|clm4|clm5|clm6|clm7
a|b|c|1|3|null|null
a|b|c|9|null|60|23
我尝试了以下方法:
files = [f for f in glob.glob(pathToFile + "/**/*.txt.gz", recursive=True)]
df = spark.read.load(files, format='csv', sep = '|', header=None)
但它给了我以下结果:
clm1, clm2, clm3, clm4, clm5
a, b, c, 1, 3
a, b, c, 9, null
【问题讨论】:
-
要使用这种方法,我必须为每一列编写 getItem(),这是不可能的,因为有 100 列,其中大部分是未知的
标签: python apache-spark pyspark apache-spark-sql pyspark-dataframes