pyspark - 加入两个 RDD - 缺少第三列

j_code_evans

我是 Pyspark 的新手,请考虑:)

基本上我有这两个文本文件:

文件 1:

  1,9,5
  2,7,4
  3,8,3

文件2:

 1,g,h
 2,1,j
 3,k,i

和 Python 代码:

file1 = sc.textFile("/user/cloudera/training/file1.txt").map(lambda line: line.split(","))

file2 = sc.textFile("/user/cloudera/training/file2.txt").map(lambda line: line.split(","))

现在做这个加入:

join_file = file1.join(file2)

我希望得到这个:

(1,(9,5),(g,h))
(2,(7,4),(i,j))
(3,(8,3),(k,1))

但是,我得到了不同的结果:

(1, (9,g))
(3, (8,k))
(2, (7,1))

我是否缺少 Join 上的任何参数?

谢谢!

蓝幽灵

这应该可以解决问题:

file1 = sc.textFile("/FileStore/tables/f1.txt").map(lambda line: line.split(",")).map(lambda x: (x[0], list(x[1:])))
file2 = sc.textFile("/FileStore/tables/f2.txt").map(lambda line: line.split(",")).map(lambda x: (x[0], list(x[1:])))
join_file = file1.join(file2)
join_file.collect()

以 Unicode u' 返回:

Out[3]: 
[(u'2', ([u'7', u'4'], [u'1', u'j'])),
 (u'1', ([u'9', u'5'], [u'g', u'h'])),
 (u'3', ([u'8', u'3'], [u'k', u'i']))]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 PySpark 中加入两个 RDD?

加入后停止pyspark返回两个“ on”列

过滤pyspark中的两个RDD

加入两个RDD

如何加入两个Spark RDD

如何获取PySpark中两个RDD之间的差异?

不可散列的类型:加入PySpark RDD时的“列表”

获取 pyspark RDD 行的前三列

pyspark:根据另一个RDD的某些列过滤一个RDD

如何在PySpark中合并并将两个rdd合并为一个

在pyspark中加入多个配对的RDD

过滤操作时在pyspark操作中结合两个rdd

pyspark将两个rdd合并在一起

对两个Spark RDD(在PySpark中)进行半联接的正确方法是什么?

如何在pyspark中通过键找到两个rdd的交集?

pyspark加入两个rdds并展平结果

为什么在pyspark中加入两个临时视图后删除列不起作用,但是对数据框联接有效?

比较两个工作表中的列,在第三个工作表中列出缺少的值

当key不在同一个地方时加入两个RDD

在第三个模型中加入两个Rails ActiveRecord模型

PySpark - 基于另一个 RDD 过滤 RDD - 广播 RDD

合并三个表并加入两个联合

在两个 Rdd 上使用 union 后,无法将 Pyspark 作业结果保存到单个文本文件

在PySpark中加入两个数据框时避免列重复的列名

Python中的Spark使用元组-加入两个RDD后如何合并两个元组

如何合并两个列与pyspark中的条件?

在 PySpark Python 中减去两个日期列

pyspark:两个日期列之间的小时差

Pyspark:如何筛选两个列值对的列表?