读取使用Spark加入Hive表的记录

时间:2015-12-25 09:48:47

标签: apache-spark hive apache-spark-sql

我们可以使用以下命令轻松地从Spark中的Hive表中读取记录:

X1           X2           X3        X4             X5
1           0,0254      -0,331     0,528         0,149
0,0254        1         -0,031    -0,414        -0,282
-0,331    -0,0312         1        0,159        -0,470
0,5288    -0,414         0,159      1           -0,218
0,149     -0,282        -0,47      -0,218          1

但是当我加入两个表时,例如:

Row[] results = sqlContext.sql("FROM my_table SELECT col1, col2").collect();

如何从上面的连接查询中检索记录?

1 个答案:

答案 0 :(得分:1)

SparkContext.sql方法始终返回DataFrame,因此JOIN与任何其他类型的查询之间没有实际差异。

你不应该使用collect方法,除非向驱动程序提取数据确实是一个理想的结果。它很昂贵,如果数据无法容纳在驱动程序内存中,它会崩溃。