如何使用推断的架构读取列名称中带有点的JSON文件(Spark / Pyspark)?

时间:2019-05-17 16:31:55

标签: python json apache-spark pyspark

我正在动态导入JSON文件(将多个文件名并行发送到一个脚本中),并且其中一个文件的字段名中包含点。

当将其读入数据帧进行处理时,模式推断会将其分解为嵌套结构(即“ A.B.C”-> A [B [C]])。

有没有一种方法可以读取文件中的列而不破坏包含点的列名?

我知道反引号可以限定列名,但是由于我无法在读取JSON文件之前显式定义架构,因此我无法做到这一点。

df = sqlContext.read.option('multiline','true').json(<location>)
df.printSchema()

我看到“ P.O.重置成本”字段变为:

|-- P: struct (nullable = true)

 |    |-- O: struct (nullable = true)

 |    |    |-- Replacement Cost: double (nullable = true)

0 个答案:

没有答案