原创 Hudi系列19:Hudi寫入模式 一. Changelog 模式 二. Append 模式

一. Changelog 模式 如果希望 Hoodie 保留消息的所有變更(I/-U/U/D), 之後接上 Flink 引擎的有狀態計算實現全鏈路近實時數倉(增量計算), Hoodie 的 MOR 表通過行存 原生支持 保留消息的所有變更(

原创 Hudi系列18:Hudi全量接增量 一. 全量接增量概述

一. 全量接增量概述 如果已經有了全量的離線 Hoodie 表,需要接上實時寫入,並且保證數據不重複,可以開啓 index bootstrap 功能。 如果覺得流程冗長,可以在寫入全量數據的時候資源調大直接走流模式寫,全量走完接新數據再將

原创 Hudi系列15:Hudi元數據同步到Hive 一. hive sync tool工具介紹 二. 問題排查 三. 實操 參考:

一. hive sync tool工具介紹 使用DataSource writer或HoodieDeltaStreamer寫入數據支持將表的最新模式同步到Hive metastore,這樣查詢就可以獲得新的列和分區。在這種情況下,最好從命令

原创 Hudi系列13:Hudi集成Hive 一. Hudi集成Hive概述 二. Hudi集成Hive步驟 三. 實操案例(COW) 四. 實操案例(MOR) FAQ: 參考:

一. Hudi集成Hive概述 Hudi 源表對應一份 HDFS數據,通過Spark,Flink組件或者Hudi CLI,可以將Hudi表的數據映射爲Hive外部表,基於該外部表,Hive可以方便的進行實時視圖,讀優化視圖以及增量的查詢。

原创 Hudi系列14:Hudi元數據持久化 一. 元數據持久化 二. 實操1(不使用初始化文件) 三. 實操2(使用初始化文件) 參考:

一. 元數據持久化 元數據持久化: 每次退出flink-sql重新登錄後,建表的元數據就不存在,需要重新創建。 從 Hudi 0.12.0開始支持,通過catalog可以管理flink創建的表,避免重複建表操作,另外hms模式的catalo

原创 Hudi系列12:Flink 與 Hudi類型映射

如下是Flink SQL Type對應Hudi Type以及Avro(MOR表的log)對應的關係。 在Flink中創建hudi表的時候需要注意,特別是時間相關的居然對應的關係是 int和long。

原创 Hudi系列10:Flink流式插入 流式插入概述 一. Hudi流式插入案例1(datagen) 二. Hudi流式插入案例2(Kafka) 參考:

流式插入概述 kafka (映射爲一個flink table source_table)-> flink (insert into target_table select * from source_table) -> hudi (映射爲一

原创 Hudi系列9:Flink SQL操作hudi表 一. 準備工作 二. 插入數據 三. 查詢數據 四. 更新數據 五. 流查詢 六. 刪除數據 參考:

一. 準備工作 -- 啓動yarn-session /home/flink-1.15.2/bin/yarn-session.sh -d -- 在yarn session模式下啓動flink sql /home/flink-1.15.2/b

原创 Hudi系列8:Hudi集成Flink 一. 相關配置 二. YARN Session模式下啓動Flink SQL 三. 測試 四. 異常問題彙總

一. 相關配置 1.1 拷貝編譯好的jar包到Flink的lib目錄 # 同步到其它節點 cd /home/hudi-0.12.0/packaging/hudi-flink-bundle/target/ cp ./hudi-flink1.1

原创 Hudi系列5:Hudi與Spark集成 一. Spark操作Huid概述 二. Spark-Shell方式 三. pyspark方式 四. SparkSQL方式 參考:

一. Spark操作Huid概述 Hudi各個版本支持Spark版本情況: 將hudi集成spark的jar包,放到spark的jars目錄 -- 同步到其它節點 cd /home/hudi-0.12.0/packaging/hudi

原创 Hudi系列4:Hudi數據寫操作流程 一. Hudi數據寫流程概述 二. upsert寫流程 三. insert寫流程 參考:

一. Hudi數據寫流程概述 在Hudi數據湖框架中支持三種方式寫入數據:UPSERT(插入更新)、INSERT(插入)和BULK INSERT(批量寫入) UPSERT:默認行爲,數據先通過 index 打標 (INSERT/UPDAT

原创 Hudi系列1:Hudi介紹 一. 什麼是Hudi 二. 發展歷史 三. Hudi 功能和特性 四. Hudi 基礎架構 五. 使用公司 六. 小結 參考:

一. 什麼是Hudi Apache Hudi(發音“hoodie”)是下一代流數據湖平臺。Apache Hudi將核心倉庫和數據庫功能直接帶到數據湖中。Hudi提供了表,事務,高效upserts /刪除,高級索引,流式攝取服務,數據羣集/壓

原创 Hudi系列3:Hudi核心概念 Hudi架構 一. 時間軸(TimeLine) 二. 文件佈局 三. 索引 四. 表類型 五. 查詢類型 參考:

Hudi架構 一. 時間軸(TimeLine) 1.1 時間軸(TimeLine)概念 Hudi的核心是維護在不同時刻(Instant)在表上執行的所有操作的時間軸,提供表的即時視圖,同時還有效地支持按時間順序檢索數據 1.2 Hud

原创 Hudi系列2:Hudi安裝 編譯環境準備 一. 下載並解壓hudi 二. maven的下載和配置 三. 編譯hudi 參考:

編譯環境準備 軟件 版本 Hadoop 3.3.2 Hive 3.1.2 Spark 3.3.1 Flink 1.14.5 一. 下載並解壓hudi cd /home/software wget https:

原创 hadoop 3.x 案例7: hadoop大數據平臺日誌 一. Hadoop日誌 二. Hive日誌 三. Spark日誌 四. Flink日誌

一. Hadoop日誌 cd $HADOOP_HOME/logs 日誌分類: namenode日誌 datanode日誌 secondarynamenode日誌 yarn日誌 4.1 resourcemanger日誌 4.2 node