Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfada, Azure Databricks'te Yapılandırılmış Akış kullanarak Apache Kafka'dan okuma ve Apache Kafka'ya yazma yapılandırma seçenekleri açıklanmaktadır.
Azure Databricks Kafka bağlayıcısı Apache Spark Kafka bağlayıcısının üzerine kurulmuştur ve tüm standart Kafka yapılandırma seçeneklerini destekler. ön ekli kafka. tüm seçenekler doğrudan temel Kafka istemcisine geçirilir. Örneğin, .option("kafka.max.poll.records", "500") Kafka tüketicisinin max.poll.records özelliğini ayarlar. Kullanılabilir Kafka özelliklerinin tam listesi için Kafka yapılandırma belgelerine bakın.
Yapılandırılmış Akış kaynağı ve havuz seçeneklerinin tam listesi için bkz. Kafka ve Yapılandırılmış Akış + Kafka Tümleştirme Kılavuzu.
Gerekli seçenekler
Gerekli seçeneklerle ilgili ayrıntılar için bkz. Kafka.
Hem okuma hem de yazma için aşağıdaki seçenek gereklidir:
| Key | Açıklama |
|---|---|
kafka.bootstrap.servers |
Kafka aracıları için konak:bağlantı noktası adreslerinin virgülle ayrılmış listesi. Kafka istemcisinin bootstrap.servers özelliğini ayarlar.Kafka'dan veri olmadığını fark ederseniz, yanlış adresler için bu aracı adres listesine bakın. Aracı adres listesi yanlışsa herhangi bir hata olmayabilir. Kafka istemcileri, aracıların sonunda kullanılabilir olacağını varsayar ve ağ hataları aldıklarında sonsuza kadar yeniden dener. |
Kafka okumaları için, hangi konuların tüketileceğini belirlemek için aşağıdaki seçeneklerden tam olarak birini de belirtmeniz gerekir:
subscribesubscribePatternassign
Kafka'ya yazarken, isteğe bağlı olarak tüm satırlar için bir hedef konu belirtme seçeneğini ayarlayabilirsiniz topic . Ayarlanmadıysa, DataFrame bir topic sütun içermelidir.
Ortak okuyucu seçenekleri
Kafka'dan okurken yaygın olarak aşağıdaki seçenekler kullanılır:
| Key | Açıklama |
|---|---|
minPartitions |
Kafka'dan okunacak en az bölüm sayısı. |
maxRecordsPerPartition |
Spark bölümü başına en fazla kayıt sayısı. |
failOnDataLoss |
Verilerin kaybolması mümkün olduğunda sorgunun başarısız olup olmayacağı. |
maxOffsetsPerTrigger |
Tetikleyici aralığı başına işlenen en fazla uzaklık sayısı. |
startingOffsets |
Sorgunun okuma işleminin başladığı uzaklık. |
endingOffsets |
Toplu sorgular için okumanın durdurulacağı yer. |
groupIdPrefix |
Otomatik olarak oluşturulan tüketici grubu kimliği için özelleştirilmiş ön ek. |
kafka.group.id |
Kafka'dan okurken kullanılacak grup kimliği. Beklenmeyen davranışlara neden olabileceğinden bunu dikkatli kullanın. Varsayılan olarak, her sorgu verileri okumak için benzersiz bir grup kimliği oluşturur. Bu, her sorgunun diğer tüketicilerin müdahalesini önleyen kendi tüketici grubuna sahip olmasını sağlar ve her sorgunun abone olunan konuların tüm bölümlerini okumasına olanak tanır. Kafka grup tabanlı yetkilendirme gibi bazı senaryolarda, verileri okumak için belirli yetkili grup kimliklerini kullanabilirsiniz. Aynı grup kimliğine sahip sorgular birbiriyle karışabilir ve yalnızca kısmi verileri okuyabilir. Eşzamanlı toplu iş ve akış iş yüklerini çalıştırdığınızda veya sorguları hızla başlatıp yeniden başlattığınızda girişim oluşabilir. Sorunları en aza indirmek için Kafka tüketici yapılandırmasını session.timeout.ms çok küçük olarak ayarlayın. |
includeHeaders |
Kafka ileti üst bilgilerinin çıkışa eklenip eklenmeyeceği. |
bytesEstimateWindowLength |
Ölçüm aracılığıyla estimatedTotalBytesBehindLatest kalan baytları tahmin etmek için kullanılan zaman penceresi. |
Yapılandırılmış Akış kaynağı ve havuz seçeneklerinin tam listesi için bkz. Kafka ve Yapılandırılmış Akış + Kafka Tümleştirme Kılavuzu.
Ortak yazıcı seçenekleri
Kafka'ya yazarken yaygın olarak aşağıdaki seçenekler kullanılır:
| Key | Açıklama |
|---|---|
topic |
Tüm satırlar için konuyu ayarlar. Bu, verilerdeki herhangi bir topic sütundan önceliklidir. |
includeHeaders |
Kafka üst bilgilerinin satıra eklenip eklenmeyeceği. |
Önemli
Databricks Runtime 13.3 LTS ve üstü, kafka-clients kütüphanesinin varsayılan olarak idempotent yazmaları etkinleştiren daha yeni bir sürümünü içerir. Kafka havuzunuz yapılandırılmış ancak etkinleştirilmemiş IDEMPOTENT_WRITE ACL'lerle 2.8.0 veya üzeri bir sürüm kullanıyorsa yazma işlemleri başarısız olur. Kafka 2.8.0 veya sonraki bir sürümüne yükselterek veya ayarını .option("kafka.enable.idempotence", "false")yaparak bu sorunu çözebilirsiniz.
Yapılandırılmış Akış kaynağı ve havuz seçeneklerinin tam listesi için bkz. Kafka ve Yapılandırılmış Akış + Kafka Tümleştirme Kılavuzu.
Kimlik doğrulama seçenekleri
Azure Databricks; Unity Catalog hizmeti kimlik bilgileri, SASL/SSL ve AWS MSK, Azure Event Hubs ve Google Cloud Managed Kafka için buluta özgü seçenekler de dahil olmak üzere Kafka için birden çok kimlik doğrulama yöntemini destekler.
Azure Databricks, bulut tarafından yönetilen Kafka hizmetlerinde kimlik doğrulaması için Unity Kataloğu hizmeti kimlik bilgilerini kullanmanızı önerir:
| Seçenek | Açıklama |
|---|---|
databricks.serviceCredential |
Bulut tarafından yönetilen Kafka hizmetlerinde (AWS MSK, Azure Event Hubs veya Google Cloud Managed Kafka) kimlik doğrulaması için Unity Kataloğu hizmeti kimlik bilgilerinin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir. |
databricks.serviceCredential.scope |
Hizmet kimlik bilgileri için OAuth kapsamı. Bunu yalnızca Azure Databricks Kafka hizmetinizin kapsamını otomatik olarak çıkaramıyorsa ayarlayın. |
Unity Kataloğu hizmeti kimlik bilgilerini kullandığınızda, , kafka.sasl.mechanismveya kafka.sasl.jaas.configgibi kafka.security.protocolSASL/SSL seçeneklerini belirtmeniz gerekmez.
Yaygın SASL/SSL seçenekleri şunlardır:
| Seçenek | Açıklama |
|---|---|
kafka.security.protocol |
Aracılarla iletişim kurmak için kullanılan protokol (örneğin , SASL_SSLSSL, PLAINTEXT). |
kafka.sasl.mechanism |
SASL mekanizması (örneğin, PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, AWS_MSK_IAM). |
kafka.sasl.jaas.config |
JAAS oturum açma yapılandırma dizesi. |
kafka.sasl.login.callback.handler.class |
SASL kimlik doğrulaması için bir oturum açma geri çağırma işleyicisinin tam sınıf adı. |
kafka.sasl.client.callback.handler.class |
SASL kimlik doğrulaması için istemci geri çağırma işleyicisinin tam sınıf adı. |
kafka.ssl.truststore.location |
SSL güven deposu dosyasının konumu. |
kafka.ssl.truststore.password |
SSL güven deposu dosyasının parolası. |
kafka.ssl.keystore.location |
SSL anahtar deposu dosyasının konumu. |
kafka.ssl.keystore.password |
SSL anahtar deposu dosyasının parolası. |
Tam kimlik doğrulaması kurulum yönergeleri için bkz. Kimlik doğrulaması.
Ek kaynaklar
- Yapılandırılmış Akış + Kafka Tümleştirme Kılavuzu (Apache Spark belgeleri)
- Apache Kafka yapılandırmaları