azure Blob Depolama veya Azure Data Lake Storage azure Event Hubs aracılığıyla olayları yakalama
azure Event Hubs, bir azure Blob depolama alanında Event Hubs akış verilerini otomatik olarak yakalamanızı veya tercih ettiğiniz bir zaman veya boyut aralığı belirtme esnekliğine sahip olan Azure Data Lake Storage gen 1 veya gen 2 hesabı. Yakalama ayarı hızlıdır, çalıştırmak için yönetim maliyeti yoktur ve Premium katmandaki Standart katmanda veya işleme birimlerinde Event Hubs üretilen iş birimleriyle otomatik olarak ölçeklendirilir. Event Hubs yakalama, akış verilerini Azure 'a yüklemenin en kolay yoludur ve veri yakalama yerine veri işlemeye odaklanmanızı sağlar.
Not
Azure Data Lake Storage Gen 2 kullanmak üzere Event Hubs yakalamanın yapılandırılması, bunu bir Azure Blob Depolama kullanacak şekilde yapılandırmayla aynıdır. Ayrıntılar için bkz. Event Hubs yakalamayı yapılandırma.
Event Hubs yakalama, aynı akışta gerçek zamanlı ve toplu işlem tabanlı işlem hatlarını işlemenizi sağlar. Bu, zaman içinde gereksinimlerinize göre büyüyerek çözüm oluşturabileceğiniz anlamına gelir. Günümüzde, gelecekteki gerçek zamanlı işleme doğru bir gözle toplu iş tabanlı sistemler oluşturuyor veya var olan gerçek zamanlı bir çözüme verimli bir soğuk yol eklemek istiyorsanız, Event Hubs yakalama, akış verileriyle çalışmayı kolaylaştırır.
Önemli
hedef depolama (Azure Depolama veya Azure Data Lake Storage) hesabı, olay hub 'ı ile aynı abonelikte olmalıdır.
Event Hubs yakalama nasıl çalıştığını
Event Hubs, bir dağıtılmış günlüğe benzer bir telemetri girişi için zaman bekletme dayanıklı bir arabellek. Event Hubs ölçeklendirmeye yönelik anahtar bölümlenmiş tüketici modelidir. Her bölüm bağımsız bir veri segmentine ve bağımsız olarak tüketilebilir. Bu verilerin zaman içinde, yapılandırılabilir saklama dönemine göre kapalı olması. Sonuç olarak, belirli bir olay hub 'ı hiçbir şekilde "çok dolu" olmaz.
Event Hubs yakalama, kendi Azure Blob depolama hesabınızı ve kapsayıcınızı veya yakalanan verileri depolamak için kullanılan Azure Data Lake Storage hesabını belirtmenize olanak sağlar. Bu hesaplar, Event Hubs yakalama özelliğinin esnekliğini ekleyerek, Olay Hub 'ınız veya başka bir bölgedeki aynı bölgede olabilir.
Yakalanan veriler Apache avro biçiminde yazılır: satır içi şema ile zengin veri yapıları sağlayan kompakt, hızlı, ikili bir biçimdir. Bu biçim, Hadoop ekosisteminde, Stream Analytics ve Azure Data Factory yaygın olarak kullanılır. Bu makalenin ilerleyen kısımlarında avro ile çalışma hakkında daha fazla bilgi bulabilirsiniz.
Pencereleme yakala
Event Hubs yakalama, yakalamayı denetlemek için bir pencere ayarlamanıza olanak sağlar. Bu pencere, "ilk WINS ilkesi" olan en düşük boyut ve zaman yapılandırması, karşılaşılan ilk tetikleyicinin bir yakalama işlemine neden olduğu anlamına gelir. On beş dakikalık, 100 MB yakalama pencereniz varsa ve saniye başına 1 MB gönderirseniz, boyut penceresi zaman penceresinden önce tetiklenir. Her bölüm bağımsız olarak yakalar ve yakalama sırasında bir tamamlanmış Blok Blobu yazar, yakalama aralığının karşılaştığı zaman olarak adlandırılır. Depolama adlandırma kuralı aşağıdaki gibidir:
{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}
Tarih değerleri sıfır ile doldurulur; örnek dosya adı şu olabilir:
https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro
Azure Storage blob 'larınızın geçici olarak kullanılamadığı bir durumda, Event Hubs yakalama, Olay Hub 'ınız üzerinde yapılandırılan veri saklama süresi için verilerinizi korur ve depolama hesabınız yeniden kullanılabilir olduğunda verileri dolduracaktır.
Ölçek üretilen iş birimleri veya işleme birimleri
Event Hubs standart katmanında trafik, üretilen iş birimleri tarafından denetlenir ve premium katman Event Hubs, birimler işlenerekdenetlenir. Event Hubs, verileri doğrudan dahili Event Hubs depolamadan, üretilen iş birimi veya işleme birimi çıkış kotalarını atlayarak veya Stream Analytics ya da Spark gibi diğer işleme okuyucular için çıkış bilgilerinizi kaydederek yakalar.
Yapılandırıldıktan sonra, ilk olaylarınızı gönderdiğinizde Event Hubs yakalama otomatik olarak çalışır ve çalışmaya devam eder. Aşağı akış işlemenin işlemin çalıştığını bilmesini kolaylaştırmak için, Event Hubs veri olmadığında boş dosyalar yazar. Bu işlem, toplu işlemcinizi besleyebilecek öngörülebilir bir temposunda ve işaret sağlar.
Event Hubs yakalama ayarlanıyor
Azure Portalkullanarak veya Azure Resource Manager şablonlarını kullanarak Olay Hub 'ı oluşturma sırasında yakalamayı yapılandırabilirsiniz. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:
- Azure portalını kullanarak Event Hubs Yakalama özelliğini etkinleştirme
- Bir olay hub'ı ile bir Event Hubs ad alanı oluşturma ve Azure Resource Manager şablonu kullanarak Yakalamayı etkinleştirme
Not
Mevcut bir olay hub 'ı için yakalama özelliğini etkinleştirirseniz özellik, özellik açıldıktan sonra Olay Hub 'ına gelen olayları yakalar. Özellik açılmadan önce olay hub 'ında var olan olayları yakalamaz.
Yakalanan dosyaları keşfetme ve avro ile çalışma
Event Hubs yakalama, yapılandırılan zaman penceresinde belirtilen şekilde dosyaları avro biçiminde oluşturur. bu dosyaları, Azure Depolama Gezginigibi herhangi bir araçta görüntüleyebilirsiniz. Dosyaları üzerinde çalışmak için yerel olarak indirebilirsiniz.
Event Hubs yakalama tarafından üretilen dosyalar aşağıdaki avro şemasına sahiptir:

Avro dosyalarını keşfetmeye yönelik kolay bir yol, Apache 'den avro araçları jar 'i kullanmaktır. ayrıca hafif SQL odaklı bir deneyim için Apache detaya gitme veya Apache Spark alınan verilerde karmaşık dağıtılmış işleme gerçekleştirmek için de kullanabilirsiniz.
Apache detaya gitme kullan
Apache detaya gitme , yapılandırılmış ve yarı yapılandırılmış verileri nerede olursa olsun sorgulayabileceğiniz büyük veri araştırması için açık kaynaklı SQL sorgu altyapısıdır. Motor tek başına bir düğüm olarak veya harika bir performans için çok büyük bir küme olarak çalışabilir.
Azure Blob depolama 'ya yerel bir destek sağlanır. Bu, belgelerde açıklandığı şekilde, verileri bir avro dosyasında sorgulamayı kolaylaştırır.
Apache detaylandırma: Azure Blob Depolama eklentisi
Yakalanan dosyaları kolayca sorgulamak için Azure Blob depolamaya erişmek üzere bir kapsayıcı aracılığıyla Apache detaya sahip bir VM oluşturup çalıştırabilirsiniz. Aşağıdaki örneğe bakın: Event Hubs yakalama Ile ölçeklendirmeye yönelik akış.
Apache Spark kullan
Apache Spark , büyük ölçekli veri işleme için birleştirilmiş bir analiz altyapısıdır. " SQL dahil farklı dilleri destekler ve Azure Blob depolamaya kolayca erişebilir. Azure 'da Apache Spark çalıştırmak için birkaç seçenek vardır ve her biri Azure Blob depolamaya kolay erişim sağlar:
- HDInsight: Azure Storage 'daki adres dosyaları
- Azure Databricks: Azure Blob depolama
- Azure Kubernetes Service
Avro araçlarını kullanma
Avro araçları jar paketi olarak kullanılabilir. Jar dosyasını indirdikten sonra, aşağıdaki komutu çalıştırarak belirli bir avro dosyasının şemasını görebilirsiniz:
java -jar avro-tools-1.9.1.jar getschema <name of capture file>
Bu komut şunu döndürür
{
"type":"record",
"name":"EventData",
"namespace":"Microsoft.ServiceBus.Messaging",
"fields":[
{"name":"SequenceNumber","type":"long"},
{"name":"Offset","type":"string"},
{"name":"EnqueuedTimeUtc","type":"string"},
{"name":"SystemProperties","type":{"type":"map","values":["long","double","string","bytes"]}},
{"name":"Properties","type":{"type":"map","values":["long","double","string","bytes"]}},
{"name":"Body","type":["null","bytes"]}
]
}
Ayrıca, avro araçlarını kullanarak dosyayı JSON biçimine dönüştürebilir ve başka işlemler yapabilirsiniz.
Daha gelişmiş işleme gerçekleştirmek için, platform seçiminiz için avro indirin ve yükleyin. Bu yazma sırasında, C, C++, C # , Java, NodeJS, Perl, php, Python ve Ruby için kullanılabilir uygulamalar vardır.
Apache avro, Java ve Pythoniçin Başlarken kılavuzlarını içerir. Event Hubs yakalama ile çalışmaya başlama makalesini de okuyabilirsiniz.
Event Hubs yakalama nasıl ücretlendirilir
Event Hubs yakalama, üretilen iş birimlerine (Standart katman) veya işleme birimlerine (Premium katmanda) göre ücretlendirilir: saatlik ücret. Ücret, ad alanı için satın alınan üretilen iş birimi veya işleme birimi sayısıyla doğrudan orantılıdır. Üretilen iş birimleri veya işleme birimleri arttığı ve azaldıkça, eşleşen performans sağlamak için ölçüm miktarını artırabilir ve düşürür Event Hubs. Ölçümler art arda oluşur. Fiyatlandırma ayrıntıları için bkz. Event Hubs fiyatlandırması.
Yakalama, ayrı olarak faturalandırılırken çıkış kotasını tüketmez.
Event Grid ile tümleştirme
Kaynağı olarak bir Event Hubs ad alanı ile Azure Event Grid aboneliği oluşturabilirsiniz. Aşağıdaki öğreticide, havuz olarak bir olay hub 'ı kaynak ve Azure Işlevleri uygulaması ile bir Event Grid aboneliği oluşturma: Event Grid ve Azure işlevleri 'ni kullanarak bir Azure SYNAPSE analizinin işlenmesi ve Event Hubs geçirilmesigösterilmektedir.
Sonraki adımlar
Event Hubs yakalama, verileri Azure 'a almanın en kolay yoludur. Azure Data Lake, Azure Data Factory ve Azure HDInsight 'ı kullanarak, ihtiyacınız olan herhangi bir ölçekte dilediğiniz ölçekte, seçtiğiniz tanıdık araç ve platformları kullanarak toplu işlem ve diğer çözümlemeler yapabilirsiniz.
Azure portal ve Azure Resource Manager şablonunu kullanarak bu özelliği etkinleştirmeyi öğrenin: