文章目錄
Flink相容Iceberg目前不足和Iceberg與Hudi對比
一、Flink相容Iceberg目前不足
二、Iceberg與Hudi對比
Flink相容Iceberg目前不足和Iceberg與Hudi對比
一、Flink相容Iceberg目前不足
- Iceberg目前不支援Flink SQL 查詢表的中繼資料資訊,需要使用Java API 實作。
- Flink不支援建立帶有隐藏分區的Iceberg表
- Flink不支援帶有WaterMark的Iceberg表
- Flink不支援添加列、删除列、重命名列操作。
- Flink對Iceberg Connector支援并不完善。
二、Iceberg與Hudi對比
- 都是建構于存儲格式之上的資料組織方式
- 提供ACID能力,提供一定的事務、并行執行能力
- 提供行級别資料修改能力。
- 提供一定的Schema擴充能力,例如:新增、修改、删除列操作。
- 支援資料合并,處理小檔案。
- 支援Time travel 查詢快照資料。
- 支援批量和實時資料讀寫
- Iceberg支援Parquet、avro、orc資料格式,Hudi支援Parquet和Avro格式。
- 兩者資料存儲和查詢機制不同
- 對于處理小檔案合并時,Iceberg隻支援API方式手動處理合并小檔案,Hudi對于小檔案合并處理可以根據配置自動的執行。
- Spark與Iceberg和Hudi整合時,Iceberg對SparkSQL的支援目前來看更好。Spark與Hudi整合更多的是Spark DataFrame API 操作。
- 關于Schema方面,Iceberg Schema與計算引擎是解耦的,不依賴任何的計算引擎,而Hudi的Schema依賴于計算引擎Schema。
- 📢停下休息的時候不要忘了别人還在奔跑,希望大家抓緊時間學習,全力奔赴更美好的生活✨