Dela via


Vad är datatransformering i Azure Databricks?

Datatransformering är processen att konvertera, rensa och strukturera data till ett användbart format. Datatransformeringen följer vanligtvis Databricks medallion-arkitekturen att stegvis förfina data från rådata till ett format som företaget kan använda.

Följande diagram visar en datapipeline som innehåller en serie datatransformeringar som omvandlar raw_customers datauppsättningen till clean_customers datauppsättningen genom att släppa kunddata utan kundnamn i det här exemplet. Den raw_transactions-data omvandlas till clean_transactions genom att ta bort transaktioner med ett värde på den noll dollar. En resulterande dataset med namnet sales_report är resultatet av att slå samman clean_customers och clean_transactions. Analytiker kan använda sales_report för analys och business intelligence.

exempel på datatransformering

Typer av datatransformeringar

Databricks tar hänsyn till två typer av datatransformeringar: deklarativa och procedurer. Datapipelinen i föregående exempel kan uttryckas med hjälp av något av paradigmen.

Deklarativa omvandlingar fokuserar på önskat resultat i stället för hur det ska uppnås. Du anger logiken för omvandlingen med abstraktioner på högre nivå, och DLT avgör det mest effektiva sättet att köra den.

Processuella datatransformationer fokuserar på att utföra beräkningar via explicita instruktioner. Dessa beräkningar definierar den exakta sekvensen av åtgärder för att manipulera data. Proceduren ger mer kontroll över körningen men på bekostnad av större komplexitet och högre underhåll.

Välja mellan deklarativ och processuell datatransformering

Deklarativ datatransformering med DLT är bäst när:

  • Du behöver snabb utveckling och distribution.
  • Dina datapipelines har standardmönster som inte kräver detaljkontroll över exekveringen.
  • Du behöver inbyggda datakvalitetskontroller.
  • Underhåll och läsbarhet är högsta prioritet.

Processuell datatransformering med Apache Spark-kod är bäst när:

  • Du migrerar en befintlig Apache Spark-kodbas till Databricks.
  • Du behöver finmaskig kontroll över exekveringen.
  • Du behöver åtkomst till API:er på låg nivå, till exempel MERGE eller foreachBatch.
  • Du måste skriva data till Kafka- eller externa Delta-tabeller.