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,我们知道缓存所有基础数据不是一个好主意,因为有限的可用性存储器中。
有没有更好的方法在流媒体中进行连接而不将所有基础数据读入内存? 无论如何,蜂巢表会有所帮助吗?