日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flink 作为现代数据仓库的统一引擎:Hive 集成生产就绪!

發布時間:2024/8/23 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flink 作为现代数据仓库的统一引擎:Hive 集成生产就绪! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在2020年,你的數據倉庫和基礎設施需要滿足哪些需求?

我們總結了幾下幾點:

首先,當下的企業正快速轉向更實時化的模式,這要求企業具備對線上流式數據進行低延遲處理的能力,以滿足實時(real-time)或近實時(near-real-time)的數據分析需求。人們對從數據產生到數據可用之間延遲的容忍度越來越低。曾經幾個小時甚至幾天的延誤不再被接受。用戶期待的是幾分鐘甚至幾秒鐘的數據端到端體驗。

第二,數據基礎設施需要具備同時處理線上和線下數據的能力,兩種模式在實際應用中都不可或缺。除了上面提到的流處理,用戶也需要批處理做即席查詢(ad-hoc query)和數據挖掘。數據基礎設施不應該要求用戶二選一,而應該提供兩個選項并且都是高質量的。

第三,數據工程師、數據科學家、分析師和運維人員都在渴望一套統一的數據技術棧,以便更輕松的使用。大數據領域的技術棧已經支離破碎很多年了,企業可能有一套流處理系統,一套批處理系統,一套線上數據分析系統。這基本都是由于當年流處理框架不夠成熟而被迫采用過時的 lambda 架構造成的問題?,F在不同了,流處理已成為主流,終端用戶不必再學習多種技能和維護各種復雜的工具和數據處理管道(data pipeline)。用戶渴望的是一套統一的簡單易學易維護的方案。

如果你對以上問題深有同感,那說明這篇文章很適合你。我們來看看如何真正解決這個問題。

接下來我將帶各位了解下 Flink 與 Hive 生產級別的整合工作。

Flink 與 Hive 生產級整合

Flink 一直遵循“ 流優先,批是流的一個特例”的思想理念。在這一思想的指導下,Flink 將最先進的流式處理技術運用到批處理中,使得 Flink 的批處理能力一早就令人印象深刻。特別是在 Flink 1.10 中我們基本完成了從1.9開始的對 Blink planner 的整合工作后,Flink SQL 的批處理能力更上一層樓。

Hive 在大數據生態中已成為標準的數據倉庫組件。它不僅僅是一個 SQL 引擎,也是一個數據管理系統。但由于自身的局限,Hive 在當下面臨很大的挑戰,也無法滿足的用戶需求。

基于此,我們從 Flink 1.9 推出了 Flink 和 Hive 整合的 beta 版本。在過去幾個月中,我們基于用戶的反饋,在各個方面都對產品進行了加強。我很高興的宣布,Flink 和 Hive 的整合在 Flink 1.10 版本中能實現生產可用!

下面來為大家介紹一些細節。

統一的元數據管理

Hive Metastore 已逐漸成為 Hadoop 生態中元數據管理的中樞。很多公司都用 Hive Metastore 管理他們的 Hive 甚至非 Hive 的元數據。

Flink 1.9 中我們推出了 Flink 的 HiveCatalog,將 Flink 對接 Hive Metastore 中豐富的元數據。HiveCatalog 有兩層作用。

  • 一是它允許 Flink 用戶將 Flink 本身的元數據,包括表、函數等,存儲到 Hive Metastore 中。
  • 二是它允許 Flink 使用 Hive Metastore 中已有的 Hive 元數據,使得 Flink 可以讀寫 Hive 的表。

Flink 1.10 中的新功能是用戶可以對接幾乎所有版本的 Hive Metastore。這里有一個例子是如何將 Flink 的 Kafka 表元數據存儲到 Hive Metastore 中。

代碼示例:
https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/hive/hive_catalog.html#example

流處理

由于 Hive 自身的缺陷,用戶無法獲得實時數據導入的能力。但通過與 Flink 的整合,用戶可以解鎖一些其他很有用的場景,比如:

  • 對 Flink 的實時數據和 Hive 的離線數據做 join
  • 通過 Flink 回填 Hive 的數據

Hive 版本兼容

在 Flink 1.10 中,我們兼容了幾乎所有 Hive 1.x, 2.x, 3.x 的版本。

復用 Hive 函數

在 Flink 1.9 中用戶已經可以復用 Hive UDF。這對 Hive 用戶是極大的利好,因為用戶不需要再重新開發函數,省時省力。

Flink 1.10 引入了 module 的概念,并通過 HiveModule 支持了所有 Hive 自帶的函數(built-in functions)。Hive 社區在過去很多年積累了數量可觀的有用的自帶函數,這將方便用戶在 Flink 更好地完成他們的工作。

加強讀寫 Hive 數據

1.10 加強了對 Hive 數據讀寫的支持。

在讀方面,Flink 可以讀取 Hive 的分區表和視圖(view);同時,我們添加了很多讀優化,比如分區裁剪(partition-pruning)和 projection pushdown 來減少從文件系統攝入的數據;對 ORC 文件,我們加入了向量化讀取。

在寫方面,Flink 引入了“INSERT INTO” 和 “INSERT OVERWRITE” 語法;此外,Flink 可以靜態和動態寫入 Hive 分區表。

更多的數據類型

1.10 中我們支持了更多的常用 Hive 類型。

后續規劃

社區計劃在用戶反饋的基礎上進一步優化兩個系統間的整合。一些 1.11 的目標包括:

  • Hive 的 near-real-time streaming sink
  • 原生 Parquet 文件讀取
  • 額外的交互性 - 允許用戶從 Flink 創建 Hive 的表和函數等
  • 更好地開箱即用性
  • Hive 語法的支持

數倉正在向更實時化的方向發展,與 Flink 的緊密結合會使這個趨勢向前更進一步。

Flink 1.10 中與 Hive 在元數據和數據領域生產級別的結合,都能使用戶更好地解決實際問題,為業務帶來更多價值。

原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

?

總結

以上是生活随笔為你收集整理的Flink 作为现代数据仓库的统一引擎:Hive 集成生产就绪!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。