Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Apache Hudi — inkrementální zpracování v data lake

01. 01. 2024 1 min čtení intermediate

Apache Hudi je navržený pro efektivní aktualizace dat v data lake. Ideální pro CDC pipeline s častými upserty.

Hudi — upserty v data lake

Uber vyvinul Hudi pro miliardy záznamů s častými aktualizacemi.

Dva typy tabulek

  • Copy-on-Write — přepíše soubor; optimální pro čtení
  • Merge-on-Read — delta logy; optimální pro zápis
hudi_opts = {
    'hoodie.table.name': 'orders',
    'hoodie.datasource.write.recordkey.field': 'order_id',
    'hoodie.datasource.write.precombine.field': 'updated_at',
    'hoodie.datasource.write.operation': 'upsert',
}

df.write.format("hudi").options(**hudi_opts)\
    .mode("append").save("/data/hudi/orders")

# Inkrementální čtení
spark.read.format("hudi")\
    .option("hoodie.datasource.query.type", "incremental")\
    .load("/data/hudi/orders")

Shrnutí

Hudi je optimální pro CDC a časté aktualizace. CoW a MoR strategie vyvažují čtení vs zápis.

apache hudidata lakeupsertcdc