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

Iceberg

更新時間: 2024-12-12 18:24:19

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

核心能力

Apache Iceberg設(shè)計初衷是為了解決Hive數(shù)倉上云的問題,經(jīng)過多年迭代已經(jīng)發(fā)展成為云上構(gòu)建數(shù)據(jù)湖服務(wù)的表格式標(biāo)準(zhǔn)。關(guān)于Apache Iceberg的更多介紹,請參見Apache Iceberg官網(wǎng)

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

  • 基于HDFS或者對象存儲構(gòu)建低成本的輕量級數(shù)據(jù)湖存儲服務(wù)。

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

  • 完善的ACID語義。

  • 支持行級數(shù)據(jù)變更能力。

  • 支持歷史版本回溯。

  • 支持高效的數(shù)據(jù)過濾。

  • 支持Schema變更。

  • 支持分區(qū)布局變更。

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

為了便于理解數(shù)倉和Iceberg數(shù)據(jù)湖在系統(tǒng)架構(gòu)、業(yè)務(wù)價值和成本方面的差異,選擇了業(yè)界流行的Clickhouse實時數(shù)倉、Hive離線數(shù)倉和Iceberg數(shù)據(jù)湖三種具體的技術(shù)架構(gòu),為您進(jìn)行了對比,詳細(xì)信息如下表。

對比項

子項目

開源Clickhouse實時數(shù)倉

開源Hive離線數(shù)倉

阿里云Iceberg數(shù)據(jù)湖

系統(tǒng)架構(gòu)

架構(gòu)

計算存儲一體

計算存儲分離

計算存儲分離

多計算引擎支持

不支持

支持

支持

數(shù)據(jù)存儲在對象存儲

不支持

支持不完善

支持

數(shù)據(jù)存儲在HDFS

不支持

支持

支持

存儲格式開放性

不開放

開放

開放

業(yè)務(wù)價值

時效性

秒級

小時級/天級

分鐘級

計算靈活性

強(qiáng)

強(qiáng)

事務(wù)性

不支持

不完善

支持

表級語義通用性

優(yōu)秀

行級數(shù)據(jù)變更

不支持

支持較弱

支持

數(shù)據(jù)質(zhì)量

非常高

較高

較高

維護(hù)成本

查詢性能

較高

較高

存儲成本

非常高

一般

自助服務(wù)

不支持

不支持

支持

資源彈性

一般

一般

優(yōu)秀

與開源Iceberg對比

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

說明

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

類別

項目

子項目

開源Iceberg

Iceberg商業(yè)版(阿里云)

基礎(chǔ)功能

ACID

歷史版本回溯

Source和Sink集成

Batch

Streaming

高效數(shù)據(jù)過濾

數(shù)據(jù)變更

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

本地數(shù)據(jù)緩存加速

x

自動合并小文件

x

說明

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

適用場景

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

場景

描述

實時數(shù)據(jù)導(dǎo)入和查詢

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

刪除或更新數(shù)據(jù)

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

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

數(shù)據(jù)質(zhì)量控制

借助于Iceberg Schema的校驗功能,在數(shù)據(jù)導(dǎo)入時剔除異常數(shù)據(jù),或者對異常數(shù)據(jù)做進(jìn)一步處理。

數(shù)據(jù)Schema變更

數(shù)據(jù)的Schema并非固定不變,Iceberg支持通過Spark SQL的DDL語句完成表結(jié)構(gòu)變更。

Iceberg在變更表結(jié)構(gòu)的時候,歷史數(shù)據(jù)并不需要全部重新按照新的Schema導(dǎo)出一份,從而使得Schema變更的速度非常快。同時,由于Iceberg支持ACID,有效地隔離了Schema變更對現(xiàn)有讀取任務(wù)的影響,從而使得您可以讀取到結(jié)果一致的數(shù)據(jù)。

實時機(jī)器學(xué)習(xí)

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

上一篇: 常見問題 下一篇: Iceberg概述
阿里云首頁 開源大數(shù)據(jù)平臺 E-MapReduce 相關(guān)技術(shù)圈