如何轻松地将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的主要内容,如果未能解决你的问题,请参考以下文章
如何将所有数据存储在单个数组中,以便我可以轻松地将其作为请求发布?