你的Lakehouse開始與三角洲湖的基礎
這是一個令人興奮的最近幾年的三角洲湖項目。三角洲湖1.0的發布邁克爾時常要宣布在數據+人工智能峰會2021年5月代表開放源碼社區的一個偉大的裏程碑,我們剛剛開始!更好地提高社區參與和問,我們最近出版的三角洲湖2021 H2路線圖和相關的三角洲湖用戶調查(2021 H2)——我們將討論的結果在以後的博客。在這個博客中,我們回顧迄今為止公布的主要特性和即將到來的路線圖概述。
讓我們先從三角洲湖是什麼。三角洲湖是一個開源項目,支持建立一個嗎Lakehouse架構上現有的存儲係統,如S3, ADLS, GCS, HDFS。三角洲湖的特點提高可管理性和性能處理數據的雲存儲對象和啟用lakehouse範式,結合數據倉庫和數據湖泊的主要特點:標準數據庫管理係統與低成本的對象存儲管理功能可用。一起種δ圖案架構數據質量框架,三角洲湖確保批處理和流媒體數據的可靠性與ACID事務。
三角洲湖采用
今天,三角洲湖用於世界各地。艾字節的數據處理日常三角洲湖上,占75%的磚上的掃描的數據平台Beplay体育安卓版本獨自一人。此外,三角洲湖已經部署到超過3000客戶僅在其生產lakehouse架構在磚!beplay体育app下载地址
三角洲湖的速度創新亮點
1.0三角洲湖之旅充滿了創新亮點,所以我們是如何走到這一步的?
邁可突出顯示他的主題數據+人工智能峰會2021最初創建的三角洲湖項目,早在2017年磚根據客戶的反饋。通過不斷與早期采用者的協作努力,三角洲湖是開源,2019年宣布的阿裏Ghodsi火花+人工智能峰會主題。第一個版本三角洲湖0.1包括ACID事務模式管理和統一的流源和目的地和批處理。版本0.4包括支持DML命令和吸塵Scala和Python api添加。在version 0.5中,三角洲湖周圍看到改善壓實和並發性。可以拚花轉化為三角洲湖表使用SQL。其他的東西添加到下一個版本,0.6,改進在合並操作和描述曆史,你可以了解你的表一直在發展。在0.7中,支持不同的引擎很快和通過清單生成了雅典娜。最後,很多工作進入0.8版本添加合並和其他特性。
這些創新的深入研究每一種,請查看下麵的博客為每一個版本。
- 開源三角洲湖
- 宣布三角洲湖0.3.0釋放
- 簡單,可靠的插入和刪除三角洲湖表上使用Python api
- 有什麼新三角洲湖0.5.0釋放——轉眼間/雅典娜支持和更多
- 使用三角洲湖0.6.0自動進化表模式改善運營指標
- 三角洲湖年回顧和概述
- 如何自動進化你的嵌套列模式和流從三角洲表和檢查你的約束
三角洲湖1.0
三角洲湖1.0版注冊了社區在2021年5月宣布數據和AI峰會用一套可用的新特性,使三角洲湖無處不在。
我們經曆的每一個進入1.0版本的功能。
發布的主題的一部分“宣布三角洲湖1.0”主題可以分為以下幾點:
- 生成的列
- 多集群寫道
- 雲獨立
- Apache火花™3.1支持
- PyPI安裝
- 三角洲無處不在
- 連接器
生成的列
一個常見的問題在處理分布式係統是如何分區的數據更好地組織你的攝入和查詢數據。一個常見的方法是分區數據按日期,因為這可以讓你攝入自然組織數據,新數據到達時,以及通過日期範圍查詢數據。
這種方法的問題是,大多數時候,你的數據列是一個時間戳的形式;如果你要分區的時間戳,這將導致太多的分區。按日期劃分(而不是毫秒),您可以手動創建一個日期列計算的插入。創建這個派生列會需要你手動創建列和手動添加謂詞;這個過程很容易出錯,很容易遺忘。
一個更好的解決方案是創建生成的列,這是一種特殊類型的列的值是自動生成基於用戶指定的函數比其他列δ表中已經存在。當你寫與生成的列一個表,你沒有明確為他們提供值,三角洲湖自動計算值。例如,您可以自動生成日期列(分區表的日期)從時間戳列;任何寫進表隻需要指定時間戳列的數據。
這個可以做使用標準的SQL語法輕鬆地支持你的lakehouse。
創建表事件(id長整型數字,eventTime時間戳,eventDate生成總是作為(投(eventTime作為日期)))使用δ分區通過(eventDate)
雲獨立
開箱即用的,三角洲湖一直與各種存儲係統——Hadoop的HDFS, Amazon S3, Azure數據存儲(ADLS)代湖——盡管集群之前將特定的存儲係統。
現在,與三角洲湖1.0DelegatingLogStore,你可以有一個集群,從不同的存儲係統的讀和寫。這意味著你可以做聯合查詢在數據存儲在多個雲或使用這個區域整合。同時,三角洲社區已經擴展支持額外的文件係統,包括IBM Cloud和穀歌雲存儲(GCS)和甲骨文雲基礎設施。有關更多信息,請參閱存儲配置——三角洲湖文檔。
多集群交易
三角洲湖一直支持多個集群編寫單個表——中介ACID事務協議的更新,防止衝突。這在Hadoop的HDFS, ADLS代,現在穀歌雲存儲。AWS S3丟失事務原語建造這個功能不需要根據外部係統。
現在,在三角洲湖1.0中,開源貢獻者來自Scribd和Samba電視添加在三角洲地區的事務協議的支持使用Amazon DynamoDB Amazon S3的多個作家端點之間進行調解。現在,多個三角洲湖集群可以從相同的表讀和寫。
三角洲地區獨立的讀者
以前三角洲湖是差不多一個Apache火花項目——偉大的集成流和批處理api來從三角洲表讀和寫。雖然Apache火花與三角洲無縫地集成在一起,有很多不同的引擎和各種原因你可能想使用它們。
與三角洲地區獨立的讀者,我們已經創建了一個的JVM實現理解三角洲事務協議但不依賴於Apache火花集群。這使它明顯更容易支持其他引擎。我們已經在蜂巢連接器使用三角洲獨立的讀者,還有工作進行了一個迅速的連接器。
三角洲湖鏽實現
的三角洲鏽實現支持寫事務(雖然尚未在其他語言中實現)。
現在,我們有偉大的Python支持是很重要的對於Python用戶更容易入門。有兩種不同的包取決於你要使用Python的三角洲湖:
- 如果你想使用它以及Apache火花,你可以pip安裝delta-spark,它將設置你需要的一切運行Apache火花三角洲湖工作
- 如果你要處理較小的數據時,使用熊貓,或使用其他庫;你不再需要使用Apache火花從Python訪問三角洲表。用戶可以使用pip安裝deltalake命令安裝三角洲生鏽與Python綁定API。
三角洲湖1.0支持Apache 3.1火花
Apache火花社區周圍做了大量的改進性能和兼容性。這是超級重要的三角洲湖不斷更新和創新。
這意味著您可以利用增加的性能在謂詞下推和修剪在Apache 3.1火花。此外,三角洲湖與Apache火花流目錄集成api確保三角洲可用於流表目錄中沒有手動處理元數據的路徑。
三角洲湖無處不在
通過引入上麵我們走過的所有特征,三角洲現在無處不在的你可能想要使用它。這個項目已經很長一段路,這是δ的生態係統是什麼樣子。
- 語言:本機代碼使用三角洲湖使它容易使用你的數據從不同的語言。三角洲湖現在Python、卡夫卡和Ruby支持使用生鏽綁定。
- 服務:三角洲湖可以從各種各樣的服務,包括磚,Azure突觸分析,穀歌DataProc,彙合的雲,和甲骨文。
- 連接器:有連接器的所有流行的工具進行數據工程師,感謝原生支持三角洲湖(獨立的讀者),通過這些數據可以很容易地從許多不同的數據庫查詢,而不需要任何清單文件。
- 數據庫:三角洲湖也可查詢從許多不同的數據庫。您可以從Apache訪問三角洲表火花和其他數據庫係統。
三角洲湖OSS: 2021 H2路線圖
下麵是一些從不斷擴大的三角洲湖的生態係統。有關更多信息,請參考三角洲湖路線圖2021 H2:特性概述Vini和丹尼
以下是一些關鍵的當前三角洲湖生態係統路線圖。
三角洲獨立
的第一件事是路線圖,我們想強調的是δ獨立。
在三角洲湖1.0概述,我們覆蓋了三角洲地區獨立的讀者其他引擎可以直接讀取從三角洲湖不依賴一個Apache火花集群。給定的需求編寫功能,三角洲獨立作家是順理成章的事情。因此,建立三角洲工作正在進行獨立的作家(DSW。下手# 85),允許開發人員編寫三角洲表沒有Apache火花。它使開發人員可以構建連接器等其他流媒體引擎Flink,卡夫卡,脈衝星可以寫入三角洲表。有關更多信息,請參考[2021-09-13]三角洲獨立作家設計文檔。
Flink /δ水槽
Apache Flink是一個框架和分布式處理引擎狀態計算無限和有限的數據流。最常見的類型的應用程序,是由Flink是事件驅動的,數據分析,數據管道的應用程序。目前,社區正在Flink /δ接收器(# 111)利用即將到來的獨立作家允許Flink寫δ表。
如果你感興趣,你可以參與積極討論#flink-delta-connector或通過每兩周星期二的會議。
脈衝星/δ連接器
脈衝星是一個開源的流媒體項目最初是建立在雅虎作為一個流媒體平台。Beplay体育安卓版本三角洲社區將流增強三角洲獨立讀者支持脈衝星。有兩個連接器正在處理的——一個用於讀取從三角洲表作為源和另一個寫作三角洲表作為一個接收器(# 112)。這是一個社區的努力,有一個活躍的鬆弛組織,你可以加入通過三角洲用戶鬆弛#connector-pulsar頻道或參與兩周一次的星期二。有關更多信息,查看最近的脈衝星的歐盟峰會在哪裏瑞安朱和艾迪生海厄姆是主題演講人。
Trino /δ連接器
Trino是ANSI SQL的查詢引擎,使用BI工具如R,畫麵,BI,超集等。社區正在Trino /讀者利用δ獨立的讀者。這是一個社區的努力,都是受歡迎的。加入我們通過三角洲用戶鬆弛通道# trino頻道,我們會每兩周會議周四。
PrestoDB /δ連接器
很快是一個開源的分布式運行SQL查詢引擎互動分析查詢
轉眼間讀者將允許轉眼間從δ表。這是一個社區的努力,你可以加入鬆弛# connector-presto。我們也有雙周刊周四的會議。
Kafka-delta-ingest
delta-rs是一個庫,它提供了低級訪問三角洲表鏽目前支持Python,卡夫卡,Ruby綁定。生鏽的實現支持寫事務,kafka-delta-ingest項目最近進入生產如下技術在說話:技術討論|深入Delta-rs: kafka-delta-ingest。
你也可以通過加入鬆弛參與討論# kafka-delta-ingest周二或兩周一次的會議。
蜂巢3連接器
蜂巢δ連接器是一個圖書館使蜂巢讀三角洲湖表。我們更新現有的蜂巢2連接器就像三角洲獨立讀者支持蜂巢3。參加,你可以加入三角洲鬆弛頻道或參加我們的月度核心δ辦公時間。
火花的增強
我們看到了一個偉大的創新步伐在Apache火花,與此同時,我們有兩個主要的路線圖。
- 支持Apache火花的列刪除和重命名命令
- 支持Apache火花3.2
三角洲分享
三角洲湖的另一個強大的特性三角洲分享。有一個不斷增長的需求的高牆之外,共享數據組織與外部實體。用戶受到的約束如何分享他們的數據,一旦這些數據是共享的,版本控製和數據新鮮度很難維護。例如,一組數據的科學家們合作。他們在流和洞察力的邊緣但是需要分析另一個數據集。所以他們提交一份機票和等待。在兩個或兩個以上的周需要他們缺失的數據集合,時間是丟失,條件改變,和動量攤位。數據共享創新不應該是一個障礙。這就是為什麼我們是興奮的三角洲分享,這是這個行業的第一個開放協議安全的數據共享,使它簡單的共享數據與其他組織無論他們所使用的計算平台。Beplay体育安卓版本
三角洲允許您共享:
- 直接共享實時數據:輕鬆共享現有的實時數據在你的三角洲湖沒有將它複製到另一個係統。
- 支持不同的客戶:數據接收方可以直接連接到三角洲股票從熊貓,Apache火花™,鐵鏽和其他係統,而不必首先部署一個特定的計算平台。Beplay体育安卓版本減少摩擦數據給用戶。
- 安全性和治理:δ共享允許您輕鬆管理,跟蹤和審計訪問你的共享數據集。
- 可伸縮性:分享t級數據可靠、高效地利用雲存儲係統,如S3, ADLS, gc。
三角洲湖提交者
由於三角洲湖項目是社區驅動的,我們想強調一堆新三角洲湖提交者從許多不同的公司。特別是,我們想突出的貢獻QP侯,r·泰勒突堤,基督教威廉姆斯,正式OsypovScribd和Florian Valeye從市場三角洲。rs、kafka-delta-ingest sql-delta-import,三角洲社區。
簡而言之的三角洲湖路線圖
把它們放在一起,我們回顧了三角洲湖社區是如何快速擴張從連接器到提交者。了解更多關於三角洲湖,看看三角洲湖明確的指導在早期版本中可用,一個新的O ' reilly的書是免費的。
如何參與三角洲湖項目嗎
我們鼓勵你參與三角洲社區通過鬆弛,穀歌組,GitHub,等等。
我們最近關閉的三角洲湖調查收到超過600響應。我們將分析和發布調查結果來指導三角洲湖社區。對於你們中那些想提供你的反饋,請加入許多三角洲社區論壇之一。
對於那些完成了調查,您將會收到三角洲垂下,有機會贏得即將到來的硬拷貝三角洲湖明確的指導由道明,丹尼,Vini(你可以下載原始的,未經審查的早期預覽版)!
,我們要總結博客引用r·泰勒突堤平台工程主任Scribd:Beplay体育安卓版本
1.0“三角洲湖,湖三角洲是現在準備每個工作負載!