我有一个更大的蜂巢表(可能不适合单个机器的内存,我们可以说)。表结构如下,
CREATE TABLE X
(
id INT,
values ARRAY<INT>
);
如果我使用Scala / Spark使用SparkSQL查询此表,如何在数据框中的计算机之间分配数据?
val sc = new SparkContext(conf)
val sqlContext = new org.apache.spark.sql.SQLContext(sc);
val xDF = sqlContext.sql("select id, values from X")
请注意,表格X中没有任何分区。
我希望使用以下逻辑在scala中进一步处理数据,
- 有一组(Y)的整数值(比方说1,2,3,4,5)
- 我想检查X表中值列中是否存在这些值(xDF中的值)
- 返回Y中与X中的值匹配的值列表。
醇>
我该怎么做? 我不想在xDf上使用collect()然后执行上面的逻辑,因为数据可能很大。我有什么选择?