您好,登錄后才能下訂單哦!
小編給大家分享一下Flink1.10和Hive集成一些需要注意什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Flink官方release了Flink1.10版本,這個版本有很多改動。比如:
Flink 1.10 同時還標志著對 Blink的整合宣告完成,隨著對 Hive 的生產級別集成及對 TPC-DS 的全面覆蓋,Flink 在增強流式 SQL 處理能力的同時也具備了成熟的批處理能力。本篇博客將對此次版本升級中的主要新特性及優化、值得注意的重要變化以及使用新版本的預期效果逐一進行介紹。
其中最重要的一個特性之一是:推出了生產可用的 Hive 集成。
Flink 1.9推出了預覽版的 Hive 集成。該版本允許用戶使用 SQL DDL 將 Flink 特有的元數據持久化到 Hive Metastore、調用 Hive 中定義的 UDF 以及讀、寫 Hive 中的表。Flink 1.10 進一步開發和完善了這一特性,帶來了全面兼容 Hive 主要版本的生產可用的 Hive 集成。
筆者就遇到的幾個問題,歸類總結如下。如果你在生產環境遇到各種奇奇怪怪得問題,可能帶來一些啟示:
Flink在創建運行環境時會同時創建一個CatalogManager,這個CatalogManager就是用來管理不同的Catalog實例,我們的Flink運行環境就是通過這個訪問Hive:
官網給出的例子如下:
Hadoop和Spark鏈接Hive時都會有一個hive-site.xml的配置文件,同樣Flink在和Hive集成時也需要一個配置文件:sql-client-hive.yaml 這個配置文件中包含了:hive配置文件的路徑,執行引擎等。官網給出的配置案例:
官網同樣給出了警示??信息如下:
意思是說,本地需要一個hive-site.xml,另外sql-client-hive.yaml 中的planner配置必須為blink
。
這個玩具類似一個對話窗口,可以通過腳本sql-client.sh
腳本啟動,運行方法如下:
需要注意的是,運行腳本的當前機器必須有必須的環境變量,例如:HADOOP_CONF_DIR、HIVE_HOME、HADOOP_CLASSPATH等,把Hadoop集群搭建的時候指定的一些環境變量拿過來即可。
Flink 1.10 對Hive集成支持了很多版本,對于不同的Hive版本需要不同的Jar包支持,具體可以參考: https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/hive/#connecting-to-hive
另外,官網還給出了目前對Hive支持的一些注意點??:
很簡單的英文,不再翻譯了。
本次更新issue里提到了目前主要做的一些優化,包括:Projection Pushdown(只讀取必要的列),Limit Pushdown(sql能limit的就limit,減少數據量),分區裁剪(只讀必須分區)等等。總體來說目前都是sql優化的一些常用手段。
目前的不足之處主要包含:
存儲格式目前還沒有完全支持,We have tested on the following of table storage formats: text, csv, SequenceFile, ORC, and Parquet.
,相信很快就會再次release。
另外ACID、Bucket表暫時還不支持。
Hive作為數據倉庫系統的絕對核心,承擔著絕大多數的離線數據ETL計算和數據管理,期待Flink未來的完美支持。
以上是“Flink1.10和Hive集成一些需要注意什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。