Flink 1.10 正式發佈!——與Blink集成完成,集成Hive,K8S

来源:https://www.cnblogs.com/tree1123/archive/2020/02/13/12302283.html

Apache Flink社區宣佈Flink 1.10.0正式發佈! 本次Release版本修複1.2K個問題,對Flink作業的整體性能和穩定性做了重大改進,同時增加了對K8S,Python的支持。 這個版本標志著與Blink集成的完成,並且強化了流式SQL與Hive的集成,本文將詳細介紹新功能和主 ...


file

Apache Flink社區宣佈Flink 1.10.0正式發佈!

本次Release版本修複1.2K個問題,對Flink作業的整體性能和穩定性做了重大改進,同時增加了對K8S,Python的支持。

這個版本標志著與Blink集成的完成,並且強化了流式SQL與Hive的集成,本文將詳細介紹新功能和主要的改進。

一、記憶體管理優化

原有TaskExecutor有一些缺點:

流處理和批處理用了不同的配置模型;

流處理的堆外配置RocksDB複雜,需要用戶配置;

為了使記憶體管理更明確直觀,Flink 1.10對TaskExecutor記憶體模型和配置做了重大改進,這個更改使FLink更適合於各種部署環境:K8S,Yarn,Mesos。

這種更改統一了入口點,使得下游框架比如zeppelin的編程更加容易。

file

二、集成Kubernetes

這對於想要在容器中使用Flink的用戶是一個非常好的消息。

在Flink1.10中推出了Active Kubernetes集成

Flink的ResourceManager(K8sResMngr)與Kubernetes進行本地通信以按需分配新的Pod,類似於Flink的Yarn和Mesos集成。用戶還可以利用命名空間為聚合資源消耗有限的多租戶環境啟動Flink集群。事先配置具有足夠許可權的RBAC角色和服務帳戶。

用戶可以簡單地參考Kubernetes配置選項,然後使用以下命令在CLI中將作業提交到Kubernetes上的現有Flink會話:

./bin/flink run -d -e kubernetes-session -Dkubernetes.cluster-id=<ClusterId> examples/streaming/WindowJoin.jar

file

三、集成Hive

Flink 1.10通過開發將Hive集成到Flink,可用於生產環境。

並且支持大部分Hive版本,Flink支持Hive版本列表:

  • 1.0

    • 1.0.0
    • 1.0.1
  • 1.1

    • 1.1.0
    • 1.1.1
  • 1.2

    • 1.2.0
    • 1.2.1
    • 1.2.2
  • 2.0

    • 2.0.0
    • 2.0.1
  • 2.1

    • 2.1.0
    • 2.1.1
  • 2.2

    • 2.2.0
  • 2.3

    • 2.3.0
    • 2.3.1
    • 2.3.2
    • 2.3.3
    • 2.3.4
    • 2.3.5
    • 2.3.6
  • 3.1

    • 3.1.0
    • 3.1.1
    • 3.1.2

需要引入依賴

<!-- Flink Dependency -->
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-connector-hive_2.11</artifactId>
  <version>1.10.0</version>
  <scope>provided</scope>
</dependency>

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-api-java-bridge_2.11</artifactId>
  <version>1.10.0</version>
  <scope>provided</scope>
</dependency>

<!-- Hive Dependency -->
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-exec</artifactId>
    <version>${hive.version}</version>
    <scope>provided</scope>
</dependency>

連接Hive代碼

val settings = EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build()
val tableEnv = TableEnvironment.create(settings)

val name            = "myhive"
val defaultDatabase = "mydatabase"
val hiveConfDir     = "/opt/hive-conf" // a local path
val version         = "2.3.4"

val hive = new HiveCatalog(name, defaultDatabase, hiveConfDir, version)
tableEnv.registerCatalog("myhive", hive)

// set the HiveCatalog as the current catalog of the session
tableEnv.useCatalog("myhive")

四、PyFlink:支持UDF

從Flink 1.10開始,PyFlink開始支持UDF函數。

用戶還可以pip使用以下方法輕鬆安裝PyFlink :

pip install apache-flink

file

file

file

五、其他重要變化

  • Flink現在可以編譯併在Java 11上運行。

  • 一個新的Elasticsearch sink,完全支持Elasticsearch 7.x版本。

  • Kafka 0.8 和 0.9 版本已經被廢,不再支持。

  • 刪除了非認證網路流量配置選項taskmanager.network.credit.model。

  • 刪除了舊版Web UI。

六、貢獻者名單

最後我們看一下貢獻者的名單,有很多國內大神的身影

Achyuth Samudrala, Aitozi, Alberto Romero, Alec.Ch, Aleksey Pak, Alexander Fedulov, Alice Yan, Aljoscha Krettek, Aloys, Andrey Zagrebin, Arvid Heise, Benchao Li, Benoit Hanotte, Benoît Paris, Bhagavan Das, Biao Liu, Chesnay Schepler, Congxian Qiu, Cyrille Chépélov, César Soto Valero, David Anderson, David Hrbacek, David Moravek, Dawid Wysakowicz, Dezhi Cai, Dian Fu, Dyana Rose, Eamon Taaffe, Fabian Hueske, Fawad Halim, Fokko Driesprong, Frey Gao, Gabor Gevay, Gao Yun, Gary Yao, GatsbyNewton, GitHub, Grebennikov Roman, GuoWei Ma, Gyula Fora, Haibo Sun, Hao Dang, Henvealf, Hongtao Zhang, HuangXingBo, Hwanju Kim, Igal Shilman, Jacob Sevart, Jark Wu, Jeff Martin, Jeff Yang, Jeff Zhang, Jiangjie (Becket) Qin, Jiayi, Jiayi Liao, Jincheng Sun, Jing Zhang, Jingsong Lee, JingsongLi, Joao Boto, John Lonergan, Kaibo Zhou, Konstantin Knauf, Kostas Kloudas, Kurt Young, Leonard Xu, Ling Wang, Lining Jing, Liupengcheng, LouisXu, Mads Chr. Olesen, Marco Zühlke, Marcos Klein, Matyas Orhidi, Maximilian Bode, Maximilian Michels, Nick Pavlakis, Nico Kruber, Nicolas Deslandes, Pablo Valtuille, Paul Lam, Paul Lin, PengFei Li, Piotr Nowojski, Piotr Przybylski, Piyush Narang, Ricco Chen, Richard Deurwaarder, Robert Metzger, Roman, Roman Grebennikov, Roman Khachatryan, Rong Rong, Rui Li, Ryan Tao, Scott Kidder, Seth Wiesman, Shannon Carey, Shaobin.Ou, Shuo Cheng, Stefan Richter, Stephan Ewen, Steve OU, Steven Wu, Terry Wang, Thesharing, Thomas Weise, Till Rohrmann, Timo Walther, Tony Wei, TsReaper, Tzu-Li (Gordon) Tai, Victor Wong, WangHengwei, Wei Zhong, WeiZhong94, Wind (Jiayi Liao), Xintong Song, XuQianJin-Stars, Xuefu Zhang, Xupingyong, Yadong Xie, Yang Wang, Yangze Guo, Yikun Jiang, Ying, YngwieWang, Yu Li, Yuan Mei, Yun Gao, Yun Tang, Zhanchun Zhang, Zhenghua Gao, Zhijiang, Zhu Zhu, a-suiniaev, azagrebin, beyond1920, biao.liub, blueszheng, bowen.li, caoyingjie, catkint, chendonglin, chenqi, chunpinghe, cyq89051127, danrtsey.wy, dengziming, dianfu, eskabetxe, fanrui, forideal, gentlewang, godfrey he, godfreyhe, haodang, hehuiyuan, hequn8128, hpeter, huangxingbo, huzheng, ifndef-SleePy, jiemotongxue, joe, jrthe42, kevin.cyj, klion26, lamber-ken, libenchao, liketic, lincoln-lil, lining, liuyongvs, liyafan82, lz, mans2singh, mojo, openinx, ouyangwulin, shining-huang, shuai-xu, shuo.cs, stayhsfLee, sunhaibotb, sunjincheng121, tianboxiu, tianchen, tianchen92, tison, tszkitlo40, unknown, vinoyang, vthinkxie, wangpeibin, wangxiaowei, wangxiyuan, wangxlong, wangyang0918, whlwanghailong, xuchao0903, xuyang1706, yanghua, yangjf2019, yongqiang chai, yuzhao.cyz, zentol, zhangzhanchum, zhengcanbin, zhijiang, zhongyong jin, zhuzhu.zz, zjuwangg, zoudaokoulife, 硯田, 謝磊, 張志豪, 曹建華

Flink系列文章:

Flink入門(一)——Apache Flink介紹
Flink入門(二)——Flink架構介紹

Flink入門(三)——環境與部署

Flink入門(四)——編程模型

更多實時計算,Flink,Kafka等相關技術博文,歡迎關註實時流式計算

file


您的分享是我們最大的動力!

更多相關文章
  • 未來的某個時間點執行一次某任務的命令: ,`batch` 命令執行的結果,會發送到任務發起者的郵箱 周期性運行某任務: 命令執行的結果,會發送到任務發起者的郵箱 本地郵件服務 發郵件的協議:smtp(simple mail transmission protocol) 收郵件的協議: pop3(po ...
  • 註意,這裡用char類型只是舉了一個例子,其他的int之類的也通用。 1: 常量: 例子: char str[] = "Hello world!"; char ch = 'a'; int i = 12345; 我們看等號右邊的,這些就叫常量。常量在程式運行過程中不會發生改變,並且隨著程式一起裝入記憶體 ...
  • 下載安裝Kibana 1. 下載地址:https://www.elastic.co/cn/downloads/kibana 2. 解壓下載的壓縮包 [[email protected] ~]# tar -zxvf kibana-7.6.0-linux-x86_64.tar.gz 3. 給es用戶分配許可權 ...
  • 前面文章分享了Linux下常用命令以及Shell編程相關知識,本節繼續學習Linux用戶管理及文件許可權控制。 ...
  • CRUD 在我們的項目中有日誌是一個必不可少的東西,但是日誌的檢索是一個很麻煩的事情,如每天一個日誌,要找到問題就得一個一個找,並不能做到檢索功能,這還算好的,如果是分散式的,每個機器都得找一遍,這種效率太低,當然可以把日誌收集到一個文件中,多個機器每天的日誌可以收集到一塊,如果把所有的日誌收集一塊 ...
  • sprd_battery.c 是充電驅動,這個是充電功能的核心內容,電量顯示策略、溫度檢測策略、充電保護機制等功能在這裡實現,功能實現與硬體細節剝離,調用通用介面實現邏輯控制; 1 sprdbat_probe函數: 1.1 解析設備樹: sprdbat_parse_dt函數如下: 2. 各個工作隊列 ...
  • 鳴謝:http://blog.csdn.net/leimengyuanlian/article/details/18748599 http://www.cnblogs.com/maowang1991/archive/2013/02/05/2893142.html https://www.cnblog ...
  • 編譯安裝redisd [toc] 安裝方法: yum安裝 1. 查看yum倉庫redis版本 2. yum安裝 3. 啟動服務並設為開機啟動 4. 查看redis埠 5. 測試登錄redis 6. 測試使用 編譯安裝 下載當前最新release版本redis源碼包 :http://download ...
一周排行
  • 比如要拆分“呵呵呵90909086676喝喝999”,下麵當type=0返回的是中文字元串“呵呵呵,喝喝”,type=1返回的是數字字元串“90909086676,999”, private string GetStrings(string str,int type=0) { IList<strin ...
  • Swagger一個優秀的Api介面文檔生成工具。Swagger可以可以動態生成Api介面文檔,有效的降低前後端人員關於Api介面的溝通成本,促進項目高效開發。 1、使用NuGet安裝最新的包:Swashbuckle.AspNetCore。 2、編輯項目文件(NetCoreTemplate.Web.c ...
  • 2020 年 7 月 30 日, 由.NET基金會和微軟 將舉辦一個線上和為期一天的活動,包括 微軟 .NET 團隊的演講者以及社區的演講者。本次線上大會 專註.NET框架構建微服務,演講者分享構建和部署雲原生應用程式的最佳實踐、模式、提示和技巧。有關更多信息和隨時瞭解情況:https://focu... ...
  • #abp框架Excel導出——基於vue #1.技術棧 ##1.1 前端採用vue,官方提供 UI套件用的是iview ##1.2 後臺是abp——aspnetboilerplate 即abp v1,https://github.com/aspnetboilerplate/aspnetboilerp ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 作者:碧茂大數據 PS:如有需要Python學習資料的小伙伴可以加下方的群去找免費管理員領取 input()輸入 Python提供了 input() 內置函數從標準輸入讀入一 ...
  • 從12年到20年,python以肉眼可見的趨勢超過了java,成為了當今It界人人皆知的編程語言。 python為什麼這麼火? 網路編程語言搜索指數 適合初學者 Python具有語法簡單、語句清晰的特點,這就讓初學者在學習階段可以把精力集中在編程對象和思維方法上。 大佬都在用 Google,YouT ...
  • 在社會上存在一種普遍的對培訓機構的學生一種歧視的現象,具體表現在,比如:當你去公司面試的時候,一旦你說了你是培訓機構出來的,那麼基本上你就涼了,那麼你瞞著不說,然後又通過了面試成功入職,但是以後一旦在公司被髮現有培訓經歷,可能會面臨被降薪,甚至被辭退,培訓機構出來的學生,在用人單位眼裡就是能力低下的 ...
  • from typing import List# 這道題看了大佬寫的代碼,經過自己的理解寫出來了。# 從最外圍的四周找有沒有為O的,如果有的話就進入深搜函數,然後深搜遍歷# 判斷上下左右的位置是否為Oclass Solution: def solve(self, board: List[List[s ...
  • import requests; import re; import os; # 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, li ...
  • import requests; import re; import os; import parsel; 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537. ...