日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔

Iceberg概述

更新時間:

Iceberg是一種開放的數據湖表格式。您可以借助Iceberg快速地在HDFS或者阿里云OSS上構建自己的數據湖存儲服務,并借助開源大數據生態的Spark、Flink、Hive和Presto等計算引擎來實現數據湖的分析。

核心能力

Apache Iceberg設計初衷是為了解決Hive數倉上云的問題,經過多年迭代已經發展成為云上構建數據湖服務的表格式標準。關于Apache Iceberg的更多介紹,請參見Apache Iceberg官網

目前Iceberg提供以下核心能力:

  • 基于HDFS或者對象存儲構建低成本的輕量級數據湖存儲服務。

  • 實現主流開源計算引擎入湖和分析場景的完善對接。

  • 完善的ACID語義。

  • 支持行級數據變更能力。

  • 支持歷史版本回溯。

  • 支持高效的數據過濾。

  • 支持Schema變更。

  • 支持分區布局變更。

  • 支持隱式分區(Hidden Partitioning)。

為了便于理解數倉和Iceberg數據湖在系統架構、業務價值和成本方面的差異,選擇了業界流行的Clickhouse實時數倉、Hive離線數倉和Iceberg數據湖三種具體的技術架構,為您進行了對比,詳細信息如下表。

對比項

子項目

開源Clickhouse實時數倉

開源Hive離線數倉

阿里云Iceberg數據湖

系統架構

架構

計算存儲一體

計算存儲分離

計算存儲分離

多計算引擎支持

不支持

支持

支持

數據存儲在對象存儲

不支持

支持不完善

支持

數據存儲在HDFS

不支持

支持

支持

存儲格式開放性

不開放

開放

開放

業務價值

時效性

秒級

小時級/天級

分鐘級

計算靈活性

事務性

不支持

不完善

支持

表級語義通用性

優秀

行級數據變更

不支持

支持較弱

支持

數據質量

非常高

較高

較高

維護成本

查詢性能

較高

較高

存儲成本

非常高

一般

自助服務

不支持

不支持

支持

資源彈性

一般

一般

優秀

與開源Iceberg對比

從基礎功能、數據變更和計算引擎等方面,對比了阿里云Iceberg與開源Iceberg,詳細信息如下表。

說明

“√”表示支持,“x”表示暫未支持。

類別

項目

子項目

開源Iceberg

Iceberg商業版(阿里云)

基礎功能

ACID

歷史版本回溯

Source和Sink集成

Batch

Streaming

高效數據過濾

數據變更

Schema Evolution

Partition Evolution

CopyOnWrite更新

MergeOnRead更新

Read

Write

Compaction

x

x

計算引擎

Apache Spark

讀取

寫入

Apache Hive

讀取

寫入

Apache Flink

讀取

寫入

PrestoDB或Trino

讀取

寫入

編程語言

Java

Python

高級功能

原生接入阿里云OSS

x

原生接入阿里云DLF

x

本地數據緩存加速

x

自動合并小文件

x

說明

以上信息是在2021年9月份,客觀分析開源Iceberg和商業版Iceberg現狀之后制定的表格。隨著后續版本的不斷迭代升級,對比項狀態可能發生變化。

適用場景

Iceberg作為通用數據湖解決方案中最核心的組件之一,主要適用于以下場景。

場景

描述

實時數據導入和查詢

數據實時從上游流入Iceberg數據湖,查詢側即可查詢該數據。例如,在日志場景中,啟動IcebergSpark流作業,實時地將日志數據導入Iceberg表中,然后可以使用Hive、SparkIceberg或Presto進行實時查詢。同時,由于Iceberg支持ACID,保證了數據的流入和查詢的隔離性,不會產生臟數據。

刪除或更新數據

大部分數倉都難以實現較為高效的行級數據刪除或更新,通常需要啟動離線作業把整個表原始數據讀取出來,然后變更數據后,寫入到一個原始表。而Iceberg成功把變更的范圍從表級別縮小到了文件級別,從而可以通過局部變更來完成業務邏輯的數據變更或刪除。

在Iceberg數據湖中,您可以直接通過執行類似命令DELETE FROM test_table WHERE id > 10,來完成表中數據的變更。

數據質量控制

借助于Iceberg Schema的校驗功能,在數據導入時剔除異常數據,或者對異常數據做進一步處理。

數據Schema變更

數據的Schema并非固定不變,Iceberg支持通過Spark SQL的DDL語句完成表結構變更。

Iceberg在變更表結構的時候,歷史數據并不需要全部重新按照新的Schema導出一份,從而使得Schema變更的速度非常快。同時,由于Iceberg支持ACID,有效地隔離了Schema變更對現有讀取任務的影響,從而使得您可以讀取到結果一致的數據。

實時機器學習

通常在機器學習場景中,需要花費大量的時間處理數據,例如,數據清洗、轉換和提取特征等,還需要對歷史數據和實時數據進行處理。而Iceberg簡化了工作流程,整個數據處理過程是一條完整的、可靠的實時流,其數據的清洗、轉換和特征化等操作都是流上的節點動作,無需處理歷史數據和實時數據。此外,Iceberg還支持原生的Python SDK,對于機器學習算法的開發者非常友好。