如何轻松地将json文件的某些方面加载到rdd

Posted

技术标签:

【中文标题】如何轻松地将json文件的某些方面加载到rdd【英文标题】:How to load certain aspect of json file to rdd easily 【发布时间】:2019-05-27 23:14:33 【问题描述】:

我有一个超过一百万行的 json 文件,所以我试图尽量减少我必须运行的次数才能将它的一个方面放入 rdd。

现在,我将每一行加载到一个列表中:

with open('in/json-files/sites.json') as f:
        for line in f:
            data.append(json.loads(line))

然后,我制作另一个列表并将方面导入其中:

for line in range(1,len(data)):
        data_companies.append(data[line]['company'])

然后,我将其并行化为一个 rdd,以便我可以对其进行分析。我担心这会占用多少内存,那么有没有更简单快捷的方法来做到这一点?我试过像这样加载 json 文件,但它不起作用:

data.append(json.loads(line['company'))

【问题讨论】:

【参考方案1】:

由于您的数据是结构化的 (JSON),您可以查看 Spark-SQL

https://spark.apache.org/docs/2.4.0/sql-programming-guide.htmlhttps://spark.apache.org/docs/2.4.0/sql-data-sources-json.html

您可以直接将 JSON 加载到数据框中并查找特定列进行分析

【讨论】:

以上是关于如何轻松地将json文件的某些方面加载到rdd的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 安全地将 JSON 数据写入文件

使用jq组合多个JSON文件

如何将所有数据存储在单个数组中,以便我可以轻松地将其作为请求发布?

如何使用 netbeans 轻松地将任何数据库视图绑定到 jtable?

如何轻松地将变量从一个视图传递到另一个视图?

如何轻松地将 CSV 文件处理为 List<MyClass>