一、寫數據
向Hive中寫數據只嘗試了流數據寫入Hive,畢竟批數據寫入數倉的場景並不多,Flink 1.11對於Hive流處理的支持還是改善很多的,用起來也很方便。
1、可以直接將流數據轉換為Table寫入hive(測試環境下采用文件寫入DataStream,再轉換為Table);
2、可以create table name with()直接銜接kafka等數據流。
二、讀數據
讀數據可以采用HQL操作獲得Table,但是要注意該Table源自StreamTableSource,是不可轉換為DataSet的。由於在調研Alink,算法訓練需要批數據的輸入,所以對於剛入門Flink的新手比較難辦。嘗試了一些辦法,最終采用了很早之前就有的HCatalog獲取DataSource,這樣就不愁DataSet的需要了,不過HCatalog的相關文檔比較少,還不是很會用,主要調試以下幾點:
1、hive-site.xml文件記得導入,同時需要更改其中的verification的值為false;
2、需要增加hive-shims、hive-hcatalog-core依賴包。hive的依賴包會有重疊,可以視情況從maven庫中刪掉些