Spark流连接多个历史表

时间:2016-12-14 17:13:56

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

Spark版本:1.5.2 我们正在尝试首次实现流式传输,并尝试在传入流上执行CDC并将结果存储在hdfs中。

工作正常 我们用1个表CDC和输入文件流启动了POC。基本(历史)表(Hive)是SNAPPY压缩PARQUET格式的2.5 GB。我们将这与输入dstreams(~10000条记录)加入,流间隔为5分钟。由于我们需要一遍又一遍地为每个输入dstream加入相同的基础数据,我们正在缓存基础数据,因此连接工作正在快速进行。

使用以下设置 --num-executors 8 --executor-cores 5 --driver-memory 1g --executor-memory 4g

我们需要什么建议 如果我们必须在生产中同时扩展相同的解决方案以在多个表(在100个历史表上的不同CDC操作)上执行CDC,我们知道缓存所有基础数​​据不是一个好主意,因为有限的可用性存储器中。

有没有更好的方法在流媒体中进行连接而不将所有基础数​​据读入内存? 无论如何,蜂巢表会有所帮助吗?

1 个答案:

答案 0 :(得分:0)

我认为文档的this section应该会有所帮助。

您可以将数据作为RDD加载,然后在transform操作的帮助下将它们与DStreams连接起来。