我们可以使用以下命令轻松地从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();
如何从上面的连接查询中检索记录?
答案 0 :(得分:1)
SparkContext.sql
方法始终返回DataFrame
,因此JOIN
与任何其他类型的查询之间没有实际差异。
你不应该使用collect
方法,除非向驱动程序提取数据确实是一个理想的结果。它很昂贵,如果数据无法容纳在驱动程序内存中,它会崩溃。