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