【发布时间】:2020-07-17 13:51:38
【问题描述】:
我正在尝试使用 Pyspark 读取 csv 文件。 Csv-File 有一些元信息和数据列,它们有不同的列号和结构。
Excel 读取此文件没有问题。 我想在 spark 中定义一个自定义模式来读取这个文件。 这是一个例子:
HEADER_TAG\tHEADER_VALUE
FORMAT\t2.00
NUMBER_PASSES\t0001
"Time"\t"Name"\t"Country"\t"City"\t"Street"\t"Phone1"\t"Phone2"
0.49tName1\tUSA\tNewYork\t5th Avenue\t123456\t+001236273
0.5tName2\tUSA\tWashington\t524 Street\t222222\t+0012222
0.62tName3\tGermany\tBerlin\tLinden Strasse\t3434343\t+491343434
NUM_DATA_ROWS\t3
NUM_DATA_COLUMNS\t7
START_TIME_FORMAT\tMM/dd/yyyy HH:mm:ss
START_TIME\t06/04/2019 13:04:23
END_HEADER
没有预定义的Schema spark只读2列:
df_static = spark.read.options(header='false', inferschema='true', multiLine=True, delimiter = "\t",mode="PERMISSIVE",).csv("/FileStore/111.txt")
root
|-- _c0: string (nullable = true)
|-- _c1: string (nullable = true)
【问题讨论】: