Spark:查询数据帧与连接

时间:2016-11-10 13:07:36

标签: apache-spark spark-streaming spark-dataframe rdd

Spark 1.5。 有一个静态数据集,其范围可以从几百MB到几GB(这里我放弃了广播数据集的选项 - 需要太多的内存)。 我有一个Spark Streaming输入,我想用来自该静态数据集的数据来丰富,提供一个公共密钥(我知道这可以通过使用DStream转换来应用RDD / PairRDD逻辑来完成)。关键基数很高,成千上万。

这里有我可以看到的选项:

我可以进行完全连接,我猜它在内存方面可以很好地扩展,但是如果数据太多必须在节点之间流动,则会产生问题。据我所知,通过相同的密钥对静态和输入RDD进行分区可能会有所回报。

我正在考虑将数据加载到Dataframe中,并且每次都从输入中查询它。这是否太过性能损失?我认为这不是一种正确的使用方式,除非流的基数低,对吧?

我的假设是否正确?那么,将分区的完全连接作为首选选项吗?

0 个答案:

没有答案