如何将json对象的spark RDD映射到另一个只包含选定属性集的对象的RDD

2024-04-26 22:18:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个json对象的spark RDD(productList),格式如下。在

{u'name': u'product_id', u'price': 12, u'quantity': 1}'

现在,我想把这个映射到另一个RDD中,它只包含“product_id”和“total_amount”,即price*quantity。下面将生成总金额列表。但是我怎样才能把产品标识和总金额一起映射呢。在

^{pr2}$

Tags: 对象nameidjson列表格式productamount
1条回答
网友
1楼 · 发布于 2024-04-26 22:18:33

像这样?在

productList = sc.parallelize([
    {u'name': u'product_id', u'price': 12, u'quantity': 1}])

productList.map(
    lambda x: {'name': x['name'],  'total': x['price'] * x['quantity']}
).first()

## {'name': 'product_id', 'total': 12}

如果您的输入数据是一个JSONL文件,那么您应该考虑使用DataFrames

^{pr2}$

相关问题 更多 >