Co je transformace dat v Azure Databricks?
Transformace dat je proces převodu, čištění a strukturování dat do použitelného formátu. Transformace dat se obvykle řídí architekturou medailiónu Databricks přírůstkového zpřesnění dat z nezpracovaných dat do formátu, který je pro firmu použitelný.
Následující diagram znázorňuje datový kanál obsahující řadu transformací dat, které změní datovou sadu raw_customers
na datovou sadu clean_customers
tím, že v tomto příkladu zahodí zákaznická data bez názvu zákazníka. Data raw_transactions
jsou převedena na clean_transactions
vyřazením transakcí s nulovou hodnotou dolaru. Výsledná datová sada s názvem sales_report
je spojením clean_customers
a clean_transactions
. Analytici můžou používat sales_report
pro analýzy a business intelligence.
Příklad transformace dat
Typy transformací dat
Databricks považuje dva typy transformací dat: deklarativní a procedurální. Datový kanál v předchozím příkladu lze vyjádřit pomocí obou paradigmat.
Deklarativní transformace se zaměřují na požadovaný výsledek, nikoli na to, jak ho dosáhnout. Logiku transformace určíte pomocí abstrakcí vyšší úrovně a DLT určuje nejúčinnější způsob, jak ji provést.
Procedurální transformace dat se zaměřují na provádění výpočtů prostřednictvím explicitních instrukcí. Tyto výpočty definují přesnou posloupnost operací pro manipulaci s daty. Procedurální přístup poskytuje větší kontrolu nad prováděním, ale za cenu větší složitosti a vyšší údržby.
Volba mezi deklarativní a procedurální transformací dat
Deklarativní transformace dat pomocí DLT je nejlepší v následujících případech:
- Potřebujete rychlý vývoj a nasazení.
- Datové kanály mají standardní vzory, které nevyžadují kontrolu nad prováděním na nízké úrovni.
- Potřebujete integrované kontroly kvality dat.
- Hlavní prioritou je údržba a čitelnost.
Procedurální transformace dat pomocí kódu Apache Spark je nejlepší v následujících případech:
- Migrujete existující základ kódu Apache Sparku do Databricks.
- Potřebujete jemně odstupňovanou kontrolu nad prováděním.
- Potřebujete přístup k rozhraním API nízké úrovně, jako jsou
MERGE
neboforeachBatch
. - Potřebujete zapisovat data do tabulek Kafka nebo externích tabulek Delta.