2016-12-14 69 views
0

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操作)。

有沒有更好的方式做流中的連接而不讀取所有的基礎數據到內存中? 是分區配置單元將有助於嗎?

回答

0

我認爲this section的文檔應該是有幫助的。

您可以將數據加載爲RDD,然後在transform操作的幫助下將它們與DStreams一起加入。