我是Spark新手。
我可以使用以下方法查看弹性搜索数据库中第一个RDD的内容:
print(es_rdd.first())
>>>(u'1', {u'name': u'john'})
我还可以使用以下方法获取Dstream所需的值:
kvs = KafkaUtils.createDirectStream(ssc, [topic], {"metadata.broker.list":brokers})
name=kvs.map(lambda x: x[1])
name.pprint()
>>>>robert
我打算用“robert”替换rdd“name”:“john”,然后使用saveAsNewAPIHadoopFile()
将新的rdd插入elasticsearch中我该怎么做? 有没有办法将“罗伯特”映射到一个新的rdd?像...这样的东西。
new_rdd=es_rdd.map(lambda item: {item[0]:name})
由于
答案 0 :(得分:2)
我们可以根据索引列表将RDD的一部分替换为另一个RDD。例如,将(RDD)中的元素从1,2,3,4替换为2,3,4,4。
INV_LEDGERS
结果显示[2,3,4,4]