Spark版本:1.5.2 我們正在嘗試首次實現流式傳輸,並嘗試對傳入流進行CDC並將結果存儲在hdfs中。帶有多個歷史記錄表的Spark流連接
什麼是工作 我們用輸入文件流創建了1個表CDC的POC。 SNAPPY壓縮PARQUET格式的基礎(歷史)表(Hive)爲2.5 GB。我們以5分鐘的流動間隔與輸入流(〜10000條記錄)一起加入。由於我們需要一次又一次地爲每個輸入dstream連接相同的基礎數據,因此我們正在緩存基礎數據,因此連接正在快速運行。
下方設置 --num執行人工作8 --executor-核5 --driver-1G內存--executor-4G內存
我們所需要的 建議如果我們有規模我們知道,由於內存的可用性有限,緩存所有基礎數據並不是一個好主意。在同一時間在生產環境中,同一解決方案可以在多個表上執行CDC(對大約100個歷史記錄表的不同CDC操作)。
有沒有更好的方式做流中的連接而不讀取所有的基礎數據到內存中? 是分區配置單元將有助於嗎?