Apache XTable:在數據湖倉一體中推進數據互作性

Apache XTable 通過以多種開放表格式提供對數據的訪問,在增強互作性方面邁出了一大步。移動數據很困難,在過去,這意味著在為數據湖倉一體選擇開放表格式時,您被鎖定在該選擇中。一個令人興奮的項目當在數據堆棧的這一層引入互作性時,它有效地將查詢引擎商品化,降低了價格,并迫使查詢引擎本身通過高級功能、優化的查詢性能和其他超出簡單數據訪問的增值功能來區分其產品,以使用戶受益。 最終促進分析生態系統中的創新和競爭。

什么是 Apache XTable?

Apache XTable 是一個開源元數據轉換器,可簡化開放表格式(Apache Iceberg、Apache Hudi 和 Delta Lake)之間的互作性。XTable 允許您跨多種表類型進行讀取和寫入,而不是復制數據或被鎖定為一種格式。它輕量級、高效,非常適合格式靈活性很重要的靈活數據架構。

它是如何工作的?

XTable 允許您在打開的表格格式之間切換,而無需移動或重寫數據。它的工作原理是讀取表的現有元數據并以正確的格式寫出新元數據,因此您的數據看起來就像最初是用 Delta、Hudi 或 Iceberg 編寫的一樣。元數據存儲在每種格式所需的位置:delta_log 表示 Delta,metadata/ 表示 Iceberg,.hoodie/ 表示 Hudi。從那里,您選擇的 compute 可以使用您選擇的元數據讀取數據。

Apache XTable 的體系結構包括 3 個主要組件:

源讀取器: 此模塊負責從源表格式讀取元數據。它提取基本信息,例如架構定義、事務歷史記錄和分區詳細信息,并將它們轉換為統一的內部表示形式。

核心邏輯:作為中央處理單元,核心邏輯協調整個翻譯過程。它管理組件的初始化,監督狀態管理,并處理緩存以提高效率和增量處理等任務。

目標作家:該模塊從核心邏輯中獲取統一的內部表示,并將其準確映射到目標表格式的元數據結構,確保一致性和兼容性。

使用案例

我們已經向您展示了如何從 Hadoop 遷移到 MinIO,而無需完全淘汰和替換。來自 Hadoop 生態系統的出色軟件,包括 HMS 和 Hudi。我們的遷移模板允許您保留 HMS,同時放棄 Haddop 以支持 MinIO 進行存儲。這是可能的,因為 HMS 有一個 S3 連接器。從這一點來看,組織可以使用 HMS、Hudi 和 MinIO 構建數據湖倉一體。從那里,他們無需遷移數據即可探索其他計算引擎,例如 Dremio 和 Snowflake,這些引擎使用 XTable 在 Iceberg Tables 上運行。

對于許多仍在運行的遺留系統來說,這可能是一條實現現代化的途徑。有很多可能性,但也有一些限制。

限制

在此階段,XTable 主要支持表的寫入時復制 (CoW) 和讀取優化視圖。這意味著,雖然基礎 Parquet 文件已同步,但不會捕獲某些動態方面。

哪些內容未同步?

  • Hudi 日志文件:對于使用 Apache Hudi 的讀取時合并 (MOR) 表的用戶,XTable 當前不會同步存儲增量數據的日志文件。在使用 MoR 的情況下,這種遺漏可能導致數據表示不完整。

  • Delta 和 Iceberg 刪除向量:在 Delta Lake 和 Apache Iceberg 等格式中,刪除向量在標記要刪除的記錄而不實際刪除記錄方面起著至關重要的作用。目前,XTable 不會捕獲這些刪除向量,這可能會導致同步后反映過時或不正確的數據。

由于這些限制,Hudi、Delta Lake 或 Iceberg 中的上述機制跟蹤的任何更新或刪除都不會反映在同步數據中。這可能會給依賴最新數據集狀態的工作流帶來挑戰,尤其是在數據經常更新或刪除的環境中。

前方的道路

盡管目前存在寫入限制,但 Apache XTable 代表了現代數據堆棧發展的重要一步。看看這個令人興奮的項目的下一步會很有趣。目前,組織應該戰略性地利用 XTable 的讀取功能,同時規劃他們的寫入作以適應他們選擇的格式的限制。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71585.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71585.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71585.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

anolis8.9-k8s1.32-node-二進制部署

一、系統 # cat /etc/anolis-release Anolis OS release 8.9 # uname -r 5.10.134-18.an8.x86_64 二、從master上拷貝dockers及cri-docker相關文件 # groupadd docker # mkdir /etc/docker# scp -P 4033 root192.168.7.201:/etc/systemd/system/containerd.service /etc/s…

《AJAX:前端異步交互的魔法指南》

什么是AJAX AJAX(Asynchronous JavaScript and XML,異步 JavaScript 和 XML) 是一種用于創建異步網頁應用的技術,允許網頁在不重新加載整個頁面的情況下,與服務器交換數據并局部更新頁面內容。盡管名稱中包含 XML&…

Python 性能優化:從入門到精通的實用指南

Langchain系列文章目錄 01-玩轉LangChain:從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊:四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain:從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

利用 requestrepo 工具驗證 XML外部實體注入漏洞

1. 前言 在數字化浪潮席卷的當下,網絡安全的重要性愈發凸顯。應用程序在便捷生活與工作的同時,也可能暗藏安全風險。XXE(XML外部實體)漏洞作為其中的典型代表,攻擊者一旦利用它,便能竊取敏感信息、掌控服務…

FreeRTOS第17篇:FreeRTOS鏈表實現細節05_MiniListItem_t:FreeRTOS內存優化

文/指尖動聽知識庫-星愿 文章為付費內容,商業行為,禁止私自轉載及抄襲,違者必究!!! 文章專欄:深入FreeRTOS內核:從原理到實戰的嵌入式開發指南 1 為什么需要迷你列表項? 在嵌入式系統中,內存資源極其寶貴。FreeRTOS為滿足不同場景需求,設計了標準列表項(ListItem_…

Spring 無法解決循環依賴的 5 種場景

一、構造器注入引發的循環依賴 1. 問題復現 Component public class ServiceA {private final ServiceB serviceB;Autowiredpublic ServiceA(ServiceB serviceB) { // 構造器注入this.serviceB serviceB;} }Component public class ServiceB {private final ServiceA servic…

Core Vision Kit(基礎視覺服務)

文章目錄 一、Core Vision Kit簡介場景介紹約束與限制二、通用文字識別三、人臉檢測一、Core Vision Kit簡介 Core Vision Kit(基礎視覺服務)是機器視覺相關的基礎能力,例如通用文字識別(即OCR,Optical Character Recognition,也稱為光學字符識別)、人臉檢測、人臉比對…

第TR3周:Pytorch復現Transformer

🍨 本文為🔗365天深度學習訓練營中的學習記錄博客 🍖 原作者:K同學啊 Transformer通過自注意力機制,改變了序列建模的方式,成為AI領域的基礎架構 編碼器:理解輸入,提取上下文特征…

FreeRTOS 任務間通信機制:隊列、信號量、事件標志組詳解與實驗

1. FreeRTOS 消息隊列 1.1 簡介 ? 隊列是 任務間通信的主要形式,可用于在任務之間以及中斷與任務之間傳遞消息。隊列在 FreeRTOS 中具有以下關鍵特點: 隊列默認采用 先進先出 FIFO 方式,也可以使用 xQueueSendToFront()實現 LIFO。FreeRT…

【虛擬化】Docker Desktop 架構簡介

在閱讀前您需要了解 docker 架構:Docker architecture WSL 技術:什么是 WSL 2 1.Hyper-V backend 我們知道,Docker Desktop 最開始的架構的后端是采用的 Hyper-V。 Docker daemon (dockerd) 運行在一個 Linux distro (LinuxKit build) 中&…

Unity光照之Halo組件

簡介 Halo 組件 是一種用于在游戲中創建光暈效果的工具,主要用于模擬光源周圍的發光區域(如太陽、燈泡等)或物體表面的光線反射擴散效果。 核心功能 1.光暈生成 Halo 組件會在光源或物體的周圍生成一個圓形光暈,模擬光線在空氣…

Flink深入淺出之01:應用場景、基本架構、部署模式

Flink 1?? 一 、知識要點 📖 1. Flink簡介 Apache Flink — Stateful Computations over Data StreamsApache Flink 是一個分布式大數據處理引擎,可對有界數據流和無界數據流進行有狀態的計算。Flink 能在所有常見集群環境中運行,并能以…

2025年【高壓電工】報名考試及高壓電工考試總結

隨著電力行業的快速發展,高壓電工成為確保電力系統安全穩定運行的重要一環。為了提高高壓電工的專業技能和安全意識,“安全生產模擬考試一點通”平臺特別整理了2025年高壓電工報名考試的相關信息及考試總結,并提供了一套完整的題庫&#xff0…

網絡HTTP

HTTP Network Request Library A Retrofit-based HTTP network request encapsulation library that provides simple and easy-to-use API interfaces with complete network request functionality. 基于Retrofit的HTTP網絡請求封裝庫,提供簡單易用的API接口和完…

os-copilot安裝和使用體驗測評

簡介: OS Copilot是阿里云基于大模型構建的Linux系統智能助手,支持自然語言問答、命令執行和系統運維調優。本文介紹其產品優勢、功能及使用方法,并分享個人開發者在云服務器資源管理中的實際應用體驗。通過-t/-f/管道功能,OS Cop…

Python Flask框架學習匯編

1、入門級: 《Python Flask Web 框架入門》 這篇博文條理清晰,由簡入繁,案例豐富,分十五節詳細講解了Flask框架,強烈推薦! 《python的簡單web框架flask【附例子】》 講解的特別清楚,每一步都…

【HarmonyOS Next之旅】DevEco Studio使用指南(一)

目錄 1 -> 工具簡介 1.1 -> 概述 1.2 -> HarmonyOS應用/服務開發流程 1.2.1 -> 開發準備 1.2.2 -> 開發應用/服務 1.2.3 -> 運行、調試和測試應用/服務 1.2.4 -> 發布應用/服務 2 -> 工程介紹 2.1 -> APP包結構 2.2 -> 切換工程視圖 …

Manus開源平替-開源通用智能體

原文鏈接:https://i68.ltd/notes/posts/250306-opensource-agi-agent/ OWL-比Manus還強的全能開源Agent OWL: Optimized Workforce Learning for General Multi-Agent Assistance in Real-World Task Automation,現實世界中執行自動化任務的通用多代理輔助優化學習…

【3.2-3.8學習周報】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 摘要Abstract一、方法介紹1.任務適應性持續預訓練(TACP)2.領域自適應連續預訓練(DACP)3.ETS-DACP和ETA-DACP 二、實驗…

【Linux】用戶和組

思考 使用useradd在Linux下面創建一個用戶,默認情況下,會自動創建一個同名組,并且加入其中,那么是先創建用戶呢?還是先創建組呢? 很簡單,我們實踐一下不就知道了,如下所示&#xff…