将字典文件作为pyspark数据框读取

问题描述 投票:0回答:1

我正在处理的问题是,我有一个(或多个)文件装满了字典,然后我试图将其放入数据框。输入文件可能如下所示:

{"A":"value1", "B":"value2"}
{"A":"value2", "B":"value3"}
{"A":"value4", "B":"value5", "C":"value6"}

我正在处理的问题:

  • 字典之间没有换行符或逗号或其他任何分隔符。这是一个单行文件,很遗憾,我对此无能为力。
  • 字典可以具有不同数量的键。但是我拥有最终数据框的架构。

在上面的示例中,期望的结果将是:

A          B          C
value1     value2     null
value2     value3     null
value4     value5     value6

到目前为止我尝试过的:

spark_sql_context.read.json(path_to_file)

这仅读取第一个字典,并返回一行的pyspark数据帧。我也尝试将其读取为文本文件:

data_rdd = spark_context.textFile(path_to_file)

问题是我不知道:

  1. 由于字典和之间没有分隔符,所以如何分割线>
  2. 字典的长度不同。
  3. 如果能为我指出解决此问题的方法或解决方案,我将不胜感激。

我正在处理的问题是,我有一个(或多个)文件装满了字典,然后我试图将其放入数据框。输入文件可能如下所示:{“ A”:“ ...

python apache-spark pyspark pyspark-sql pyspark-dataframes
1个回答
1
投票

您可以将其读取为文本,然后除以}{以获取JSON对象数组。为此,我们首先将}{替换为};{,然后将其拆分为;

© www.soinside.com 2019 - 2024. All rights reserved.