我有两个星火1.4.1 PipelineRDD(我不知道什么样的对象是:-s:星火 - 在特定领域加入JSON RDDS(键 - 值)
1)名单IDS(ids_alsaciens RDD)
2)的列表personne(personnes RDD)
在 'Personnes' RDD有4个字段,在JSON格式,关键是 “ID”。 我可能在这张表中有同一人的几条线(id是相同的)
我想获取'personnes'RDD上的'alsacien'表中包含的所有行。
我怎么能这样做在火花?
>type(ids_alsaciens)
pyspark.rdd.PipelinedRDD
>type(personnes)
pyspark.rdd.PipelinedRDD
>ids_alsaciens.take(10)
[u'1933992',
u'2705919',
u'2914684',
u'2915444',
u'11602833',
u'11801394',
u'10707371',
u'2018422',
u'2312432',
u'233375']
>personnes.take(3)
[{'date': '2013-06-03 00:00',
'field': 'WAID_INDIVIDU_WC_NUMNNI',
'id': '10000149',
'value': '2770278'},
{'date': '2013-05-15 00:00',
'field': 'WAID_INDIVIDU_WC_NUMNNI',
'id': '10009910',
'value': '2570631'},
{'date': '2013-03-01 00:00',
'field': 'WAID_INDIVIDU_WC_NUMNNI',
'id': '10014405',
'value': '1840288'}]
编辑
尝试: personnes.filter(拉姆达X:X在ids_alsaciens)
了异常: 例外:看来您正在尝试播放的RDD或引用RDD从行动或转变。 RDD转换和操作只能由驱动程序调用,而不能在其他转换中调用;例如,rdd1.map(lambda x:rdd2.values.count()* x)无效,因为值转换和计数操作不能在rdd1.map转换中执行。有关更多信息,请参阅SPARK-5063。
我没有测试你的代码,当我达到一个相当类似的方案谢谢:-) –
不客气。 – Paul