Välj en dataströmbearbetningsteknik i Azure
I den här artikeln jämförs teknikval för dataströmbearbetning i realtid i Azure.
Dataströmbearbetning i realtid förbrukar meddelanden från kö- eller filbaserad lagring, bearbetar meddelandena och vidarebefordrar resultatet till en annan meddelandekö, filarkiv eller databas. Bearbetning kan omfatta frågor, filtrering och aggregering av meddelanden. Strömbearbetningsmotorer måste kunna använda oändliga dataströmmar och ge resultat med minimal svarstid. Mer information finns i Realtidsbearbetning.
Vilka alternativ har du när du väljer en teknik för realtidsbearbetning?
I Azure uppfyller alla följande datalager de grundläggande kraven för realtidsbearbetning:
- Azure Stream Analytics
- HDInsight med Spark Streaming
- Apache Spark i Azure Databricks
- Azure Functions
- Azure App Service WebJobs
- Api för Apache Kafka-strömmar
Kriterier för nyckelval
För bearbetningsscenarier i realtid börjar du välja lämplig tjänst för dina behov genom att svara på följande frågor:
Föredrar du en deklarativ eller imperativ metod för att redigera dataströmbearbetningslogik?
Behöver du inbyggt stöd för temporär bearbetning eller fönsterkörning?
Anländer dina data i format förutom Avro, JSON eller CSV? Om ja kan du överväga alternativ som stöder alla format med anpassad kod.
Behöver du skala bearbetningen utöver 1 GBIT/s? Om ja kan du överväga de alternativ som skalar med klusterstorleken.
Kapacitetsmatris
I följande tabeller sammanfattas de viktigaste skillnaderna i funktioner.
Allmänna funktioner
Kapacitet | Azure Stream Analytics | HDInsight med Spark Streaming | Apache Spark i Azure Databricks | Azure Functions | Azure App Service WebJobs |
---|---|---|---|---|---|
Programmerbarhet | SQL, JavaScript | C#/F#, Java, Python, Scala | C#/F#, Java, Python, R, Scala | C#, F#, Java, Node.js, Python | C#, Java, Node.js, PHP, Python |
Programmeringsparadigm | Deklarativt | Blandning av deklarativa och imperativa | Blandning av deklarativa och imperativa | Imperativ | Imperativ |
Prismodell | Enheter för direktuppspelning | Nodkostnad per minut | Databricks-enheter | Per funktionskörning och resursförbrukning | Per App Service-plantimmes |
Integreringsfunktioner
Kapacitet | Azure Stream Analytics | HDInsight med Spark Streaming | Apache Spark i Azure Databricks | Azure Functions | Azure App Service WebJobs |
---|---|---|---|---|---|
Indata | Azure Event Hubs, Azure IoT Hub, Azure Blob storage/Data Lake Storage Gen2 | Event Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store | Event Hubs, IoT Hub, Kafka, HDFS, Storage Blobs, Azure Data Lake Store | Bindningar som stöds | Service Bus, Storage Queues, Storage Blobs, Event Hubs, WebHooks, Azure Cosmos DB, Files |
Sjunker | Azure Data Lake Storage Gen 1, Azure Data Explorer, Azure Database for PostgreSQL, Azure SQL Database, Azure Synapse Analytics, Blob Storage och Azure Data Lake Gen 2, Azure Event Hubs, Power BI, Azure Table Storage, Azure Service Bus-köer, Azure Service Bus-ämnen, Azure Cosmos DB, Azure Functions | HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Azure Cosmos DB | HDFS, Kafka, Storage Blobs, Azure Data Lake Store, Azure Cosmos DB | Bindningar som stöds | Service Bus, Storage Queues, Storage Blobs, Event Hubs, WebHooks, Azure Cosmos DB, Files |
Bearbetningsfunktioner
Kapacitet | Azure Stream Analytics | HDInsight med Spark Streaming | Apache Spark i Azure Databricks | Azure Functions | Azure App Service WebJobs |
---|---|---|---|---|---|
Inbyggt stöd för tids- och fönster | Ja | Ja | Ja | Nej | Nej |
Indataformat | Avro, JSON eller CSV, UTF-8 kodad | Valfritt format med anpassad kod | Alla format med anpassad kod Valfritt format med anpassad kod | Valfritt format med anpassad kod | |
Skalbarhet | Frågepartitioner | Avgränsad av klusterstorlek | Begränsas av konfiguration av Databricks-klusterskalning | Upp till 200 funktionsappinstanser bearbetas parallellt | Begränsas av App Service-plankapacitet |
Support för händelsehantering vid sen ankomst och oordnad händelsehantering | Ja | Ja | Ja | Nej | Nej |
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Zoiner Tejada | VD och arkitekt
Nästa steg
- Översikt över App Service
- Utforska Azure Functions
- Kom igång med Azure Stream Analytics
- Utföra avancerade datatransformeringar för direktuppspelning
- Konfigurera kluster i HDInsight
- Använda Apache Spark i Azure Databricks