Välj en batchbearbetningsteknik i Azure

Stordatalösningar använder ofta långvariga batchjobb för att filtrera, aggregera och på annat sätt förbereda data för analys. De här jobben handlar vanligtvis om att läsa källfiler från skalbar lagring (till exempel HDFS, Azure Data Lake Store och Azure Storage), bearbeta dem och skriva utdata till nya filer i skalbar lagring.

Det grundläggande kravet för sådana batchbearbetningsmotorer är att skala ut beräkningar för att hantera en stor mängd data. Till skillnad från realtidsbearbetning förväntas batchbearbetningen ha svarstider (tiden mellan datainmatning och beräkning av ett resultat) som mäter i minuter till timmar.

Teknikval för batchbearbetning

Azure Synapse Analytics

Azure Synapse är ett distribuerat system som är utformat för att utföra analyser på stora data. Det stöder massiv parallell bearbetning (MPP), som gör det lämpligt för att köra analyser med höga prestanda. Tänk på Azure Synapse när du har stora mängder data (mer än 1 TB) och kör en analysarbetsbelastning som drar nytta av parallellitet.

Azure Data Lake Analytics

Data Lake Analytics är en jobbtjänst för analys på begäran. Den är optimerad för distribuerad bearbetning av stora datamängder som lagras i Azure Data Lake Store.

  • Språk: U-SQL (inklusive Python-, R- och C#-tillägg).
  • Integrerar med Azure Data Lake Store, Azure Storage-blobar, Azure SQL Database och Azure Synapse.
  • Prismodellen är per jobb.

HDInsight

HDInsight är en hanterad Hadoop-tjänst. Använd den för att distribuera och hantera Hadoop-kluster i Azure. För batchbearbetning kan du använda Spark, Hive, Hive LLAP, MapReduce.

  • Språk: R, Python, Java, Scala, SQL
  • Kerberos-autentisering med Active Directory, Apache Ranger-baserad åtkomstkontroll
  • Ger dig fullständig kontroll över Hadoop-klustret

Azure Databricks

Azure Databricks är en Apache Spark-baserad analysplattform. Du kan se det som "Spark som en tjänst". Det är det enklaste sättet att använda Spark på Azure-plattformen.

  • Språk: R, Python, Java, Scala, Spark SQL
  • Snabba starttider för kluster, autoterminering, automatisk skalning.
  • Hanterar Spark-klustret åt dig.
  • Inbyggd integrering med Azure Blob Storage, Azure Data Lake Storage (ADLS), Azure Synapse och andra tjänster. Se Datakällor.
  • Användarautentisering med Microsoft Entra-ID.
  • Webbaserade notebook-filer för samarbete och datautforskning.
  • Stöder GPU-aktiverade kluster

Kriterier för nyckelval

För att begränsa alternativen börjar du med att svara på följande frågor:

  • Vill du ha en hanterad tjänst i stället för att hantera dina egna servrar?

  • Vill du skapa batchbearbetningslogik deklarativt eller imperativt?

  • Kommer du att utföra batchbearbetning i bursts? Om ja kan du överväga alternativ som gör att du kan avsluta klustret automatiskt eller vars prismodell är per batchjobb.

  • Behöver du fråga relationsdatalager tillsammans med batchbearbetningen, till exempel för att söka efter referensdata? Om ja kan du överväga de alternativ som aktiverar frågekörning av externa relationslager.

Kapacitetsmatris

I följande tabeller sammanfattas de viktigaste skillnaderna i funktioner.

Allmänna funktioner

Kapacitet Azure Data Lake Analytics Azure Synapse HDInsight Azure Databricks
Är hanterad tjänst Ja Ja Ja 1 Ja
Relationsdatalager Ja Ja No Ja
Prismodell Per batchjobb Efter klustertimmes Efter klustertimmes Databricks Enhet2 + klustertimmes

[1] Med manuell konfiguration.

[2] En Databricks-enhet (DBU) är en enhet för bearbetningskapacitet per timme.

Funktioner

Kapacitet Azure Data Lake Analytics Azure Synapse HDInsight med Spark HDInsight med Hive HDInsight med Hive LLAP Azure Databricks
Automatisk skalning Nej No Ja Ja Ja Ja
Utskalningskornighet Per jobb Per kluster Per kluster Per kluster Per kluster Per kluster
Minnesintern cachelagring av data Nej Ja Ja No Ja Ja
Fråga från externa relationslager Ja No Ja No No Ja
Autentisering Microsoft Entra-ID SQL/Microsoft Entra ID Nej Microsoft Entra ID1 Microsoft Entra ID1 Microsoft Entra-ID
Granskning Ja Ja Nej Ja 1 Ja 1 Ja
Säkerhet på radnivå Nej Ja2 Nej Ja 1 Ja 1 Ja
Stöder brandväggar Ja Ja Ja Ja 3 Ja 3 Ja
Dynamisk datamaskning Nej Ja Nej Ja 1 Ja 1 Ja

[1] Kräver att ett domänanslutet HDInsight-kluster används.

[2] Filtrera predikat endast. Se Säkerhet på radnivå

[3] Stöds när det används i ett virtuellt Azure-nätverk.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Nästa steg