如何根据另一个textFile第一列作为键

时间:2017-02-22 18:37:50

标签: scala apache-spark apache-spark-sql spark-streaming spark-dataframe

我有2个TextFiles A和B

我想要将文件A读入Spark接下来我还必须读取文件B但是依赖于我必须阅读的密钥

  1. 表A.

    id列

  2. 1 anu 2 usha

    2表B

    id age

    1 23 2 23

    我希望基于第1表第1列的加载数据作为键如外键和主键任何一个请指导我 -

1 个答案:

答案 0 :(得分:0)

形成你的问题的要点似乎你正在尝试加入文本文件。您可以使用数据框来连接这两个文件。

val table1 = sqlContext.read.format("text").load("/user/chlr/spark_test/table1.csv").map(x => x.getString(0).split(',').head -> x.getString(0).split(',').tail.head ).toDF("id","column")

val table2 = sqlContext.read.format("text").load("/user/chlr/spark_test/table2.csv").map(x => x.getString(0).split(',').head -> x.getString(0).split(',').tail.head ).toDF("id","column")

table1.join(table2, "id").show()
+---+------+------+
| id|column|column|
+---+------+------+
|  1|   anu|    23|
|  2|  usha|    23|
+---+------+------+