我加载两个文件如下-
f1 = sc.textFile("s3://testfolder1/file1")
f2 = sc.textFile("s3://testfolder2/file2")
这个加载操作给我一个元组列表。每行创建一个元组。
file1和file2的架构如下-
f1 (a,b,c,d,e,f,g,h,i)
f2 (x,y,z,a,b,c,f,r,u)
我想基于字段a,b,c连接这两个数据集。我做了一些研究,发现下面的方法可能有用。
rdd.keyBy(func)
但是,我找不到一种简单的方法来指定键并连接两个数据集。有人能演示一下如何不用Dataframe就可以做到这一点吗?使用sparksql是可以的,但是如果不使用sparksql就可以做到,那就最好了。
1条答案
按热度按时间hgb9j2n61#
这个加载操作给我一个元组列表
不,它会给你一个
RDD[String]
.你可以把字符串转换成你想要的任何东西。
对于您的用例,您可以将每一行转换为((a,b,c),(d,e,f,g,h,i))
然后,
f1.join(f2)
应该就行了。