Een batchverwerkingstechnologie kiezen in Azure

Big data-oplossingen maken vaak gebruik van langlopende batchtaken om de gegevens te filteren, samen te stellen en anderszins voor te bereiden voor analyse. Deze taken omvatten meestal het lezen van bronbestanden uit schaalbare opslag (zoals HDFS, Azure Data Lake Store en Azure Storage), het verwerken ervan en het schrijven van de uitvoer naar nieuwe bestanden in schaalbare opslag.

De belangrijkste vereiste van dergelijke batchverwerkingsen engines is de mogelijkheid om berekeningen uit te schalen om een grote hoeveelheid gegevens te kunnen verwerken. In tegenstelling tot realtime verwerking wordt echter verwacht dat batchverwerking latentie heeft (de tijd tussen gegevensingestie en het berekenen van een resultaat) die in minuten tot uren meten.

Technologische keuzen voor batchverwerking

Azure Synapse Analytics

Azure Synapse is een gedistribueerd systeem dat is ontworpen om analyses uit te voeren op grote gegevens. Het biedt ondersteuning voor MPP (Massive Parallel Processing), waardoor het geschikt is voor het uitvoeren van analyses met hoge prestaties. Overweeg Azure Synapse wanneer u grote hoeveelheden gegevens (meer dan 1 TB) hebt en een analyseworkload hebt die profiteert van parallelle behandeling.

Azure Data Lake Analytics

Data Lake Analytics is een analyseservice op aanvraag. Het is geoptimaliseerd voor gedistribueerde verwerking van zeer grote gegevenssets die zijn opgeslagen in Azure Data Lake Store.

  • Talen: U-SQL (inclusief Python-, R- en C#-extensies).
  • Kan worden geïntegreerd met Azure Data Lake Store, Azure Storage blobs, Azure SQL Database en Azure Synapse.
  • Het prijsmodel is per taak.

HDInsight

HDInsight is een beheerde Hadoop-service. Gebruik het om Hadoop-clusters in Azure te implementeren en te beheren. Voor batchverwerking kunt u Spark, Hive, Hive LLAP, MapReduce gebruiken.

  • Talen: R, Python, Java, Scala, SQL
  • Kerberos-verificatie met Active Directory, op Apache Ranger gebaseerd toegangsbeheer
  • Geeft u volledige controle over het Hadoop-cluster

Azure Databricks

Azure Databricks is een Apache Spark gebaseerd analyseplatform. U kunt het zien als 'Spark als een service'. Dit is de eenvoudigste manier om Spark te gebruiken op het Azure-platform.

  • Talen: R, Python, Java, Scala, Spark SQL
  • Snelle begintijden van clusters, automatische beëindiging, automatisch schalen.
  • Beheert het Spark-cluster voor u.
  • Ingebouwde integratie met Azure Blob Storage, Azure Data Lake Storage (ADLS), Azure Synapse en andere services. Zie Gegevensbronnen.
  • Gebruikersverificatie met Azure Active Directory.
  • Webgebaseerde notebooks voor samenwerking en gegevensverkenning.
  • Ondersteunt clusters met GPU

Azure Distributed Data Engineering Toolkit

De Distributed Data Engineering Toolkit (AZTK) is een hulpprogramma voor het inrichten van Spark on-demand Spark on Docker-clusters in Azure.

AZTK is geen Azure-service. Het is in plaats van een hulpprogramma aan de clientzijde met een CLI- en Python SDK-interface die is gebouwd op Azure Batch. Met deze optie hebt u de meeste controle over de infrastructuur bij het implementeren van een Spark-cluster.

  • Neem uw eigen Docker-afbeelding mee.
  • Gebruik VM's met lage prioriteit voor een korting van 80%.
  • Gemengde-modusclusters die gebruikmaken van zowel VM's met lage prioriteit als toegewezen VM's.
  • Ingebouwde ondersteuning voor Azure Blob Storage en Azure Data Lake-verbinding.

Selectiecriteria voor sleutels

Als u de keuzes wilt beperken, begint u met het beantwoorden van deze vragen:

  • Wilt u een beheerde service in plaats van uw eigen servers beheren?

  • Wilt u batchverwerkingslogica declaratief of imperatiever maken?

  • Gaat u batchverwerking uitvoeren in bursts? Zo ja, overweeg dan opties om het cluster automatisch te beëindigen of waarvan het prijsmodel per batch-taak is.

  • Moet u samen met uw batchverwerking query's uitvoeren op relationele gegevensopslag, bijvoorbeeld om referentiegegevens op te zoeken? Zo ja, overweeg dan de opties waarmee query's kunnen worden uitgevoerd op externe relationele winkels.

Mogelijkheidsmatrix

De volgende tabellen geven een overzicht van de belangrijkste verschillen in mogelijkheden.

Algemene mogelijkheden

Mogelijkheid Azure Data Lake Analytics Azure Synapse HDInsight Azure Databricks
Is beheerde service Ja Ja Ja 1 Ja
Relationele gegevensopslag Ja Ja Nee Nee
Prijsmodel Per batch-taak Per clusteruur Per clusteruur Databricks-eenheid2 + clusteruur

[1] Met handmatige configuratie.

[2] Een Databricks Unit (DBU) is een verwerkingseenheid per uur.

Functies

Mogelijkheid Azure Data Lake Analytics Azure Synapse HDInsight met Spark HDInsight met Hive HDInsight met Hive LLAP Azure Databricks
Automatisch schalen Nee Nee Ja Ja Ja Ja
Granulariteit van uitschalen Per taak Per cluster Per cluster Per cluster Per cluster Per cluster
In-memory caching van gegevens Nee Ja Ja Nee Ja Ja
Query's uitvoeren vanuit externe relationele winkels Ja Nee Ja Nee Nee Ja
Verificatie Azure AD SQL / Azure AD No Azure AD1 Azure AD1 Azure AD
Controleren Ja Ja Nee Ja 1 Ja 1 Ja
Beveiliging op rijniveau No Ja2 Nee Ja 1 Ja 1 No
Ondersteunt firewalls Ja Ja Ja Ja 3 Ja 3 Nee
Dynamische gegevensmaskering Nee Ja Nee Ja 1 Ja 1 No

[1] Vereist het gebruik van een HDInsight-cluster dat is verbonden met een domein.

[2] Alleen filterpredicaten. Zie Beveiliging op rijniveau

[3] Ondersteund bij gebruik binnen een Azure-Virtual Network.

Volgende stappen