从另一个textFile读取基于key作为列的文本文件

时间:2017-02-23 05:29:45

标签: apache-spark apache-spark-sql

我是Spark新手我试图将表格加载到Spark中作为textFIle

enter image description here

我想基于另一个文本文件列读取文本文件,例如:: Id作为A键 如果B.id匹配A.id然后我必须将文件B读入Spark

val file2=sc.textFile("path")

1 个答案:

答案 0 :(得分:0)

一种方法是读取文件和文件。然后根据id字段加入它们,只选择表b中的那些列,如下面的

val df1 = Seq((1, "Anu"),(2, "Suresh"),(3, "Usha"), (4, "Nisha")).toDF("id","name")
val df2 = Seq((1, 23),(2, 24),(3, 24), (4, 25), (5, 30), (6, 32)).toDF("id","age")

df1.as("df1").join(df2.as("df2"), df1("id") === df2("id"), "inner").select("df2.*").show()

输出:

+---+---+
| id|age|
+---+---+
|  1| 23|
|  2| 24|
|  3| 24|
|  4| 25|
+---+---+