【发布时间】:2020-08-13 09:18:05
【问题描述】:
我得到两个RDD 并想连接并合并为一个RDD,如下所示:
rdd_1 = ['a1', 'a2', 'a3', 'a4', 'a5', ]
rdd_2 = ['b1', 'b2', 'b3', 'b4', 'b5', ]
# concat and combine these two rdd into one
rdd = ['a1_b1', 'a2_b2', 'a3_b3', 'a4_b4', 'a5_b5']
我知道我可以将这两个 RDD 转换为 DataFrame 并将其连接到 spark.sql 中,如下所示:
df = df.withColumn('col1_col2', concat(col('col1'), lit(' '), col('col2')))
但是对于亿级样本来说效率不够。
所以想知道RRD编程有没有更快的方法。
【问题讨论】:
-
"a1" 和 "b1" 的组合规则是什么?你用“1”吗?将 RDD 想象成一袋大理石。其中没有预定义的顺序。所以列表的第一个元素不会自动与另一个列表的第一个元素结合。你需要定义一个规则。
标签: apache-spark pyspark apache-spark-sql rdd