Spark API seçenekleri başvurusu

Bu sayfada, veri okuyan ve yazan Spark API'leri için kullanılabilir giriş ve çıkış seçenekleri listelenmiştir.

DataFrameReader seçenekleri

Azure Databricks veri dosyalarını nasıl okuduğunu denetlemek için DataFrameReader.option(), DataFrameReader.options(), read_files, COPY INTO ve Auto Loader ile bu seçenekleri kullanın.

Example

Aşağıdaki örnek, JSON dosyalarını okumak için olarak multiLine ayarlarTrue:

Python
df = spark.read.format("json").option("multiLine", True).load("/path/to/data")
Scala
val df = spark.read.format("json").option("multiLine", "true").load("/path/to/data")
SQL
SELECT * FROM read_files("/path/to/data", format => "json", multiLine => true)

Ortak

Aşağıdaki seçenekler tüm dosya biçimleri için geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
ignoreCorruptFiles false true, false Bozuk dosyaların görmezden gelinmesi gerekip gerekmediği. True ise, Bozuk dosyalarla karşılaşıldığında Spark işleri çalışmaya devam eder ve okunan içerik yine döndürülür. içinCOPY INTO, Delta Lake geçmişinin numSkippedCorruptFiles sütununda olduğu gibi operationMetrics atlanan bozuk dosyaları gözlemleyebilirsiniz. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir.
ignoreMissingFiles false Otomatik Yükleyici için, true için COPY INTO (eski) true, false Eksik dosyaların göz ardı edilip edilmeyeceği. Doğruysa, Spark işleri eksik dosyalarla karşılaşıldığında çalışmaya devam ediyor ve içerik döndürülmeye devam ediyor. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir.
modifiedAfter None Zaman damgası dizesi Yalnızca belirtilen zaman damgasından sonra değişiklik zaman damgasına sahip dosyaları almak için filtre olarak isteğe bağlı bir zaman damgası.
modifiedBefore None Zaman damgası dizesi Yalnızca belirtilen zaman damgasından önce değişiklik zaman damgası olan dosyaları almak için filtre olarak isteğe bağlı bir zaman damgası.
pathGlobFilter veya fileNamePattern None Glob desen dizesi Dosyaları seçmek için olası bir glob deseni. PATTERN in (eski) ile COPY INTO eşdeğerdir. fileNamePattern içinde read_fileskullanılabilir.
recursiveFileLookup false true, false olduğunda true, adları gibi date=2019-07-01bir bölüm adlandırma düzenini izlemese bile bu seçenek iç içe geçmiş dizinlerde arama yapar.

Avro

Avro dosyaları okunurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
avroSchema None Avro şema dizesi Kullanıcı tarafından Avro biçiminde belirtilen isteğe bağlı şema. Avro okunurken, bu seçenek uyumlu ancak gerçek Avro şemasından farklı olan gelişmiş bir şemaya ayarlanabilir. Seri durumdan çıkarma şeması, geliştirilen şemayla tutarlıdır. Örneğin, varsayılan değere sahip bir sütun daha içeren gelişmiş bir şema ayarlarsanız, okuma sonucu yeni sütunu da içerir.
avroSchemaEvolutionMode none none, restart Şema kayıt defteri kullanılırken şema evrimi nasıl işlenir? none şema değişikliklerini yoksayar ve işe devam eder. restart şema değişiklikleri algılandığında bir UnknownFieldException oluşturur ve işin yeniden başlatılmasını gerektirir.
datetimeRebaseMode LEGACY EXCEPTION, LEGACY, CORRECTED Julian ve Proleptik Gregoryen takvimler arasında tarih ve zaman damgası değerlerinin yeniden esas alınmasını denetler.
enableStableIdentifiersForUnionType false true, false Avro Birliği türleri için kararlı alan adlarının kullanılıp kullanılmaymayacağı. Etkinleştirildiğinde, birleşim türü alan adları kendi tür adlarından küçük harfle türetilir (örneğin, , member_intmember_string). Küçük harfe geçtikten sonra iki tür adı aynıysa bir özel durum oluşturur.
mergeSchema false true, false Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği. mergeSchema Avro, veri türlerini gevşetmez.
mode FAILFAST FAILFAST, PERMISSIVE, DROPMALFORMED Bozuk kayıtları işlemek için ayrıştırıcı modu. FAILFAST, özel durum oluşturur: PERMISSIVE hatalı biçimlendirilmiş alanları null olarak ayarlar. DROPMALFORMED hatalı kayıtları sessizce bırakır.
readerCaseSensitive true true, false Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun.
recursiveFieldMaxDepth None 0'dan 15'e Özyinelemeli Avro alanları için en fazla özyineleme derinliği. 1 Tüm özyinelemeli alanları kesecek, 2 bir özyineleme düzeyine izin verecek şekilde, vb. için 15olarak ayarlayın. veya 0ayarını kaldırdığınızda özyinelemeli alanlara izin verilmez.
rescuedDataColumn None Sütun adı dizesi Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir.
COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir.
Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.
stableIdentifierPrefixForUnionType member_ Herhangi bir dize olduğunda enableStableIdentifiersForUnionType=truekararlı birleşim türü alan adları için kullanılacak ön ek.

CSV

CSV dosyaları okunurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
badRecordsPath None Yol dizesi Bozuk CSV kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu.
charToEscapeQuoteEscaping \0 Tek bir karakter Alıntı işaretlerinden kaçmak için kullanılan karakteri kaçırmak amacıyla kullanılan karakter. Örneğin, aşağıdaki kayıt için: [ " a\\", b ]
  • kaçış '\' karakteri tanımsızsa, kayıt ayrıştırılmaz. Ayrıştırıcı şu karakterleri okur: [a],[\],["],[,],[ ],[b] ve kapanış tırnak işareti bulamadığından hata mesajı verir.
  • '\' kaçış karakteri '\'olarak tanımlandığında, kayıt iki değerle okunur: [a\] ve [b].
columnNameOfCorruptRecord _corrupt_record Sütun adı dizesi Otomatik Yükleyici desteklenmektedir. COPY INTO (eski sistem) için destek sağlanmamaktadır.
Hatalı biçimlendirilmiş ve ayrıştırılamayan kayıtları depolama sütunu. Ayrıştırma için modeDROPMALFORMEDolarak ayarlanırsa, bu sütun boş olur.
comment \0 Tek bir karakter Metin satırının başında bulunduğunda satır açıklamasını temsil eden karakteri tanımlar. Açıklama atlama özelliğini devre dışı bırakmak için kullanın '\0' .
dateFormat yyyy-MM-dd Tarih biçimi dizesi Tarih dizelerini ayrıştırma formatı.
emptyValue Boş dize Herhangi bir dize Boş bir değerin dize gösterimi.
enableDateTimeParsingFallback false true, false Bir değer belirtilen biçimle ayrıştırılamıyorsa eski tarih ve zaman damgası ayrıştırma davranışına geri dönüp dönmeyeceğiniz. olduğunda false, ayrıştırma hataları bir hata oluşturur veya bağlı modeolarak null üretir.
encoding veya charset UTF-8 Bir java.nio.charset.Charset ad CSV dosyalarının kodlama adı. Seçenekler listesi için bkz java.nio.charset.Charset . UTF-16 ve UTF-32 olduğunda multilinetruekullanılamaz.
enforceSchema true true, false Belirtilen veya çıkarsanan şemanın CSV dosyalarına zorla uygulanıp uygulanmayacağı. Seçenek etkinleştirilirse, CSV dosyalarının üst bilgileri göz ardı edilir. Verileri kurtarmak ve şema evrimine izin vermek için Otomatik Yükleyici kullanılırken bu seçenek varsayılan olarak yoksayılır.
escape \ Tek bir karakter Verileri ayrıştırırken kullanılacak kaçış karakteri.
extension csv Dosya uzantısı dizesi Okumalar için beklenen dosya adı uzantısı. Bu uzantıya sahip olmayan dosyalar filtrelenir.
failOnUnknownFields false true, false CSV kaydı şemada sütun içermediğinde başarısız olup olmayacağı. olduğunda false, tanınmayan sütunlar öğesine bağlı olarak rescuedDataColumnsessizce bırakılır veya kurtarılır.
failOnWidenedFields false true, false Alan değeri genişletilmeden bildirilen şema türü olarak ayrıştırılamadıklarında başarısız olup olmayacağı. olduğunda false, türü genişletilen değerler öğesine bağlı olarak rescuedDataColumnsessizce kurtarılır. Ayar failOnUnknownFields=true , bu seçeneğin etkilerini maskeleyebilir.
header false true, false CSV dosyalarının üst bilgi içerip içermediği. Auto Loader, şemayı çıkarırken dosyaların üst bilgileri olduğunu varsayar.
ignoreLeadingWhiteSpace false true, false Ayrıştırılan her değer için baştaki boşlukların göz ardı edilip edilmeyeceği.
ignoreTrailingWhiteSpace false true, false Ayrıştırılan her değer için sondaki boşlukların göz ardı edilip edilmeyeceği.
inferSchema false true, false Ayrıştırılan CSV kayıtlarının veri türlerinin çıkarılması mı yoksa tüm sütunların StringType olduğu varsayımı mı yapılacağı. true olarak ayarlanırsa, veriler üzerinde ek bir geçiş gerektirir. Otomatik Yükleyici için bunun yerine kullanın cloudFiles.inferColumnTypes .
inputBufferSize 1048576 (1 MB) Pozitif tamsayılar CSV ayrıştırıcısının bayt cinsinden arabellek boyutu. Büyük CSV dosyalarını ayrıştırırken bellek kullanımını ayarlamak için kullanışlıdır.
lineSep Hiçbiri, , \rve'yi kapsar \r\n\n Bir ip Ardışık iki CSV kaydı arasındaki dize.
locale US Tanımlayıcı java.util.Locale CSV içinde varsayılan tarihi, zaman damgasını ve ondalık ayrıştırma işlemini etkileyen bir Java yerel ayarı tanımlanmıştır.
maxCharsPerColumn -1 Pozitif tamsayılar veya -1 sınırsız Ayrıştırmak için bir değerden beklenen karakter sayısı üst sınırı. Bellek hatalarını önlemek için kullanılabilir. Varsayılan değer -1 olup sınırsız anlamına gelir.
maxColumns 20480 Pozitif tamsayılar Bir kaydın kaç sütuna sahip olabileceğinin sabit sınırı.
mergeSchema false true, false Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği. Şema çıkarıldığında Otomatik Yükleyici için varsayılan olarak etkindir.
mode PERMISSIVE PERMISSIVE, DROPMALFORMED, FAILFAST Hatalı biçimlendirilmiş kayıtların işlenmesi için ayrıştırıcı modu.
multiLine false true, false CSV kayıtlarının birden çok satıra yayılıp yayılmadığı.
nanValue NaN Herhangi bir dize FloatType ve DoubleType sütunları ayrıştırırken sayı olmayan bir değerin dize gösterimi.
negativeInf -Inf Herhangi bir dize FloatType veya DoubleType sütunlarını ayrıştırırken negatif sonsuzluğun dize temsili.
nullValue Boş dize Herhangi bir dize Null değerin dize gösterimi.
parserCaseSensitive (kullanım dışı) false true, false Dosyalar okunurken, başlıkta belirtilen sütunların şemayla büyük küçük harf duyarlı olarak hizalanıp hizalanmayacağına karar verilmesi. Bu, Otomatik Yükleyici için varsayılan olarakdır true . Büyük/küçük harfe göre farklılık gösteren sütunlar, etkinleştirilirse rescuedDataColumn dosyasında kurtarılacaktır. Bu seçenek, readerCaseSensitive lehine kullanım dışı bırakılmıştır.
positiveInf Inf Herhangi bir dize FloatType veya DoubleType sütunlarının ayrıştırılması sırasında pozitif sonsuzluğun dize gösterimi.
preferDate true true, false Mümkün olduğunda dizeleri zaman damgası yerine tarih olarak yorumlama girişiminde bulunur. Ayrıca, Otomatik Yükleyici'yi etkinleştirerek inferSchema veya kullanarak şema çıkarımı kullanmanız cloudFiles.inferColumnTypes gerekir.
quote " Tek bir karakter Alan sınırlayıcısının değerin bir parçası olduğu değerlerden kaçış için kullanılan karakter.
readerCaseSensitive true true, false Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun.
rescuedDataColumn None Sütun adı dizesi Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.
COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir.
sep veya delimiter , Bir ip Sütunlar arasında kullanılan ayırıcı dize.
singleVariantColumn None Sütun adı dizesi Bir sütun adına ayarlandığında, her alanı kendi sütununa ayrıştırmak yerine CSV kaydının tamamını bu ada sahip tek VariantType bir sütuna okur. gerektirir header=true.
skipRows 0 Pozitif tamsayılar veya 0 AÇıKLAMAlı ve boş satırlar da dahil olmak üzere, CSV dosyasının başından yoksayılması gereken satır sayısı. Eğer header doğruysa, başlık atlanmamış ve yorum eklenmemiş ilk satır olacaktır.
timeFormat HH:mm:ss Zaman biçimi dizesi Sütun değerlerini ayrıştırma TimeType biçimi.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası biçim dizesi Zaman damgası dizelerini ayrıştırma biçimi.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgası biçim dizesi Zaman damgasını saat dilimi (TimestampNTZType) dizeleri olmadan ayrıştırma biçimi.
timeZone None Dize java.time.ZoneId java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak.
unescapedQuoteHandling STOP_AT_DELIMITER STOP_AT_CLOSING_QUOTE, BACK_TO_DELIMITER, STOP_AT_DELIMITER, SKIP_VALUE, , RAISE_ERROR Kaçışsız tırnak işaretlerini işleme stratejisi. İzin verilen her seçeneğin davranışı aşağıdaki gibidir:
  • STOP_AT_CLOSING_QUOTE: Girişte kaçışsız tırnaklar bulunursa, tırnak karakterini toplayın ve kapanış tırnağı bulunana kadar değeri tırnaklı bir değer olarak ayrıştırmaya devam edin.
  • BACK_TO_DELIMITER: Girişte kaçış karakteri kullanılmamış tırnak işaretleri bulunursa, değeri tanımsız bir değer olarak düşünün. Bu, ayrıştırıcının sep ile tanımlanan sınırlayıcı bulunana kadar, mevcut ayrıştırılan değerin tüm karakterlerini toplamasını sağlar. Verilen değerde eğer bir sınırlayıcı bulunmazsa, ayrıştırıcı bir sınırlayıcı veya satır sonu bulana kadar girişten karakterleri biriktirmeye devam eder.
  • STOP_AT_DELIMITER: Girişte kaçış karakteri kullanılmamış tırnak işaretleri bulunursa, değeri tanımsız bir değer olarak düşünün. Bu, ayrıştırıcının sep ile tanımlanan sınırlayıcıya kadar veya girişte bir satır sonu bulunana kadar tüm karakterleri biriktirmesini sağlar.
  • SKIP_VALUE: Girişte sıralanmamış tırnak işaretleri bulunursa, verilen değer için ayrıştırılan içerik atlanır (bir sonraki sınırlayıcı bulunana kadar) ve bunun yerine nullValue'de ayarlanan değer oluşturulur.
  • RAISE_ERROR: Girişte ayarlanmamış tırnak işaretleri bulunursa, bir TextParsingException oluşturulur.

Excel

Excel dosyaları okurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
dataAddress None Hücre aralığı veya sayfa adı dizesi Excel söz diziminde okunacak hücre aralığı. Atlanırsa, ilk sayfadaki tüm geçerli hücreleri okur. Adlandırılmış sayfadan bir aralığı okumak, SheetName!C5:H10 ilk sayfadan bir aralığı okumak veya C5:H10 belirli bir sayfadaki tüm verileri okumak için kullanınSheetName.
headerRows 0 0, 1 Sütun adı üst bilgileri olarak kullanılacak ilk satır sayısı. Belirtildiğinde dataAddress , bu hücre aralığı içinde geçerlidir. olduğunda0, sütun adları , , _c1_c2vb. olarak otomatik olarak _c3oluşturulur.
ignoreMissingSheet false true, false tarafından dataAddressbelirtilen sayfayı içermeyen dosyaların sessizce atlanıp atlanmaymayacağı. olduğunda false, istenen sayfa eksikse bir hata oluşur. Yalnızca içinde bir sayfa adı belirtildiğinde dataAddressgeçerlidir.
includePhoneticRuns false true, false XLSX dosyalarını okurken hücre dizesi değerleriyle birleştirilmiş fonetik ek açıklamaların (pinyin veya furigana gibi) eklenip eklenmeyeceği.
operation readSheet readSheet, listSheets Excel çalışma kitabında gerçekleştirilecek işlem. readSheet bir sayfadaki verileri okur. listSheets her sayfa için ve alanları sheetIndex: longsheetName: String içeren bir yapı döndürür.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgası biçim dizesi Excel'de dize olarak depolanan saat dilimi olmadan zaman damgası değerleri için özel biçim dizesi. Özel tarih biçimleri Tarih saat desenleri'ndeki biçimleri izler.
dateFormat yyyy-MM-dd Tarih biçimi dizesi olarak Dateokunan dize değerleri için özel biçim dizesi. Özel tarih biçimleri Tarih saat desenleri'ndeki biçimleri izler.

JSON

JSON dosyaları okunurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
allowBackslashEscapingAnyCharacter false true, false Ters eğik çizginin başarılı olan herhangi bir karakterden kaçmasına izin verilip verilmeyeceği. Etkinleştirilmemişse, yalnızca JSON spesifikasyonunda açıkça listelenen karakterlerden kaçılabilir.
allowComments false true, false Ayrıştırılmış içerik içinde Java, C ve C++ stil açıklamalarının ('/', '*'ve '//' çeşitlerinin) kullanılmasına izin verilip verilmeyeceği.
allowNonNumericNumbers true true, false Bir sayı olmayan (NaN) belirteç kümesinin yasal kayan sayı değerleri olarak izin verilip verilmeyeceği.
allowNumericLeadingZeros false true, false İntegral sayıların ek (yoksayılabilir) sıfırlarla başlamasına izin verilip verilmeyeceği (örneğin, 000001).
allowSingleQuotes true true, false Dizeleri (adlar ve Dize değerleri) alıntılama için tek tırnak (kesme işareti, karakter '\') kullanımına izin verilip verilmeyeceği.
allowUnquotedControlChars false true, false JSON dizelerinin, sekme ve satır besleme karakterleri dahil olmak üzere ASCII değeri 32'den küçük kaçışsız denetim karakterleri içermesine izin verilip verilmeyeceği.
allowUnquotedFieldNames false true, false JavaScript tarafından izin verilen ancak JSON belirtimine göre izin verilmeyen alan adlarının kullanılmasına izin verilip verilmeyeceği.
alternateVariantEncoding None Z85 Kaynak JSON'daki Değişken değerleri için kullanılan kodlama. Z85 Satır içi JSON olarak depolanmak yerine Base85 ile kodlanmış Varyant değerlerinin kodunu çözmek için olarak ayarlayın.
badRecordsPath None Yol dizesi Hatalı JSON kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu.
badRecordsPath Dosya tabanlı veri kaynağında seçeneğinin kullanılması aşağıdaki sınırlamalara sahiptir:
  • İşlem dışıdır ve tutarsız sonuçlara yol açabilir.
  • Geçici hatalar hata olarak değerlendirilir.
columnNameOfCorruptRecord _corrupt_record Sütun adı dizesi Hatalı biçimlendirilmiş ve ayrıştırılamayan kayıtları depolama sütunu. Ayrıştırma için modeDROPMALFORMEDolarak ayarlanırsa, bu sütun boş olur.
dateFormat yyyy-MM-dd Tarih biçimi dizesi Tarih dizelerini ayrıştırma formatı.
dropFieldIfAllNull false true, false Şema çıkarımı sırasında tümü null olan değerler veya boş diziler ve yapılar içeren sütunların göz ardı edilip edilmeyeceği.
encoding veya charset UTF-8 Bir java.nio.charset.Charset ad JSON dosyalarının kodlama adı. Seçeneklerin listesi için bkz java.nio.charset.Charset . UTF-16 UTF-32 olduğunda multiline ve true kullanamazsınız.
inferTimestamp false true, false Zaman damgası dizelerinin TimestampType olarak çıkarılıp çıkarılmayacağının denenmesi. olarak trueayarlandığında, şema çıkarımı önemli ölçüde daha uzun sürebilir. cloudFiles.inferColumnTypes'ı Otomatik Yükleyici ile kullanmak için etkinleştirmeniz gerekir.
lineSep Hiçbiri, , \rve'yi kapsar \r\n\n Bir ip Ardışık iki JSON kaydı arasındaki dize.
locale US Tanımlayıcı java.util.Locale JSON içinde varsayılan tarihi, zaman damgasını ve ondalık ayrıştırma işlemini etkileyen Java yerel ayar tanımlayıcısı.
maxNestingDepth 500 Pozitif tamsayılar JSON nesneleri ve dizileri için izin verilen iç içe yerleştirme derinliği üst sınırı. İç içe yerleştirilmiş belgeler için bu değeri artırın.
maxNumLen 1000 Pozitif tamsayılar JSON girişindeki en fazla sayı belirteci uzunluğu. Büyük sayısal değişmez değerlerle JSON için bu değeri artırın.
maxStringLen Sınırsız Pozitif tamsayılar JSON girişindeki dize değerlerinin uzunluk üst sınırı. Büyük dizelerle JSON ayrıştırırken bellek kullanımını sınırlamak için ayarlayın.
mode PERMISSIVE PERMISSIVE, DROPMALFORMED, FAILFAST Hatalı biçimlendirilmiş kayıtların işlenmesi için ayrıştırıcı modu.
multiLine false true, false JSON kayıtlarının birden çok satıra yayılıp yayılmadığı.
prefersDecimal false true, false Mümkün olduğunda, kayan veya çift tür yerine dizeleri DecimalType olarak yorumlamaya çalışır. Ayrıca, Otomatik Yükleyici'yi etkinleştirerek inferSchema veya kullanarak şema çıkarımı kullanmanız cloudFiles.inferColumnTypes gerekir.
primitivesAsString false true, false Sayilar ve booleanlar gibi ilkel türlerin StringType olarak yorumlanıp yorumlanmayacağı.
readerCaseSensitive true true, false Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun. Databricks Runtime 13.3 ve üzerinde kullanılabilir.
rescuedDataColumn None Sütun adı dizesi Veri türü uyuşmazlığı veya şema uyuşmazlığı (sütun kasası dahil) nedeniyle ayrıştırılmayan tüm verilerin ayrı bir sütuna toplanıp toplanmayacağı. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Diğer ayrıntılar için kurtarılan veri sütunu nedir? konusuna bakın.
COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir.
singleVariantColumn None Sütun adı dizesi JSON belgesinin tamamının alınıp alınmayacağı, sütunun adı olarak belirtilen dizeye sahip tek bir Variant sütununa ayrıştırılır. Ayarlanmamışsa, JSON alanları kendi sütunlarına alınır.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası biçim dizesi Zaman damgası dizelerini ayrıştırma biçimi.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgası biçim dizesi Zaman damgasını saat dilimi (TimestampNTZType) dizeleri olmadan ayrıştırma biçimi.
timeZone None Dize java.time.ZoneId java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak.
upgradeExceptionAsBadRecord false true, false Tür yükseltme özel durumlarının (örneğin, bir değer bildirilen sütun türüne genişletilemediğinde) özel durum oluşturmak yerine hatalı kayıtlar olarak ele alınıp alınmayacağı.

Kafka

Kafka okuyucu seçeneklerinin tam listesi için bkz. DataStreamReader Kafka seçenekleri. Aşağıdaki seçenekler yalnızca kullanılarak spark.read.format("kafka")toplu okuma işlemleri için geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
endingOffsets latest latestveya JSON uzaklık dizesi Okumayı nerede durduracağınız. JSON dizesinde en -1 son uzaklıktır. -2, en erken uzaklıktır, bitiş uzaklığı olarak izin verilmez. Bu örnek bir JSON uzaklık dizesidir: {"topicA":{"0":50,"1":-1}}.
endingOffsetsByTimestamp None JSON zaman damgası dizesi Milisaniye cinsinden zaman damgaları olarak belirtilen bölüm başına bitiş uzaklıkları. Örneğin: {"topicA":{"0":2000,"1":3000}}.
endingTimestamp None Pozitif tamsayılar veya 0 Tüm bölümlere uygulanan milisaniye cinsinden genel bitiş zaman damgası.

ORC

ORC dosyaları okunurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
mergeSchema false true, false Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği.

Parke

Parquet dosyaları okunurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
datetimeRebaseMode LEGACY EXCEPTION, LEGACY, CORRECTED Julian ve Proleptik Gregoryen takvimler arasında tarih ve zaman damgası değerlerinin yeniden esas alınmasını denetler.
int96RebaseMode LEGACY EXCEPTION, LEGACY, CORRECTED Jülyen ve Proleptik Gregoryen takvimleri arasında INT96 zaman damgası değerlerinin yeniden düzenlenmesini kontrol eder.
mergeSchema false true, false Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği.
readerCaseSensitive true true, false Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun.
rescuedDataColumn None Sütun adı dizesi Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.
COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir.

Durum deposu

Yapılandırılmış Akış durumu verilerini okumak için veya spark.read.format("statestore") tablo değerli işleviyle read_statestore bu seçenekleri kullanın. Bkz. Yapılandırılmış Akış durumu bilgilerini okuyun.

Key Varsayılan Geçerli değerler Açıklama
batchId En son toplu iş kimliği Pozitif tamsayılar veya 0 Okunacak hedef toplu iş. Sorgunun önceki bir durumunu sorgulamak için kullanın. Toplu işlem gerçekleştirilmelidir ancak henüz temizlenmemelidir.
operatorId 0 Pozitif tamsayılar veya 0 Okunacak hedef işleç. Sorguda durum bilgisi olan birden çok işleç olduğunda kullanın.
storeName DEFAULT Herhangi bir dize Okunacak hedef durum deposu adı. Durum bilgisi olan işlecin birden çok durum deposu örneği olduğunda kullanın. Akış akışı birleştirme için veya storeName belirtmeniz gerekir, ancak ikisini birden belirtmemelisinizjoinSide.
joinSide None left, right Akış akışı birleşimi için okunacak hedef taraf. Akış akışı birleştirme için veya storeName belirtmeniz gerekir, ancak ikisini birden belirtmemelisinizjoinSide.
snapshotStartBatchId None Pozitif tamsayılar veya 0 Durumu okurken başlangıç noktası olarak kullanılacak anlık görüntünün toplu iş kimliği. Okuyucu, bu anlık görüntüdeki değişiklikleri olana kadar batchIdyeniden yürüterek durumu yeniden oluşturur. Anlık görüntü bozulduğunda kullanışlıdır. ile snapshotPartitionIdbirlikte belirtilmelidir. ile readChangeFeedkullanılamaz. HDFS destekli durum deposunu ve değişiklik günlüğü denetim noktası oluşturmanın etkinleştirildiği RocksDB durum deposunu destekler. Databricks Runtime 15.4 LTS ve üzerinde kullanılabilir.
snapshotPartitionId None Pozitif tamsayılar veya 0 Belirtilirse, sorgu yalnızca bu bölümü okur. ile snapshotStartBatchIdbirlikte belirtilmelidir. ile readChangeFeedkullanılamaz. Databricks Runtime 15.4 LTS ve üzerinde kullanılabilir.
readChangeFeed false true, false olduğundatrue, ile changeStartBatchIdarasında changeEndBatchId belirtilen bir toplu iş aralığındaki durum değişikliklerini döndürür. gerektirir changeStartBatchId. , , joinSidebatchIdveya snapshotStartBatchIdile snapshotPartitionIdkullanılamaz. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir.
Ayrıntılar için bkz. Yapılandırılmış Akış durumu değişikliklerini okuma.
changeStartBatchId None Pozitif tamsayılar veya 0 Değişiklik akışı aralığı için başlangıç toplu iş kimliği. readChangeFeed true olduğunda gereklidir. Yalnızca olarak ayarlandığında readChangeFeedgeçerlidirtrue. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir.
changeEndBatchId En son toplu iş kimliği Pozitif tamsayılar veya 0 Değişiklik akışı aralığının bitiş toplu iş kimliği. değerinden büyük veya eşit changeStartBatchIdolmalıdır. Yalnızca olarak ayarlandığında readChangeFeedgeçerlidirtrue. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir.
stateVarName None Herhangi bir dize Okunacak durum değişkeni adı. Durum değişkeni adı, işleç tarafından kullanılan işlevinin initStatefulProcessor içindeki her değişkenin transformWithState benzersiz adıdır. işlecini transformWithState kullanırken gereklidir. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir.
readRegisteredTimers false true, false olduğunda true, işleç tarafından transformWithState kullanılan kayıtlı zamanlayıcıları okur. Yalnızca işleç için transformWithState geçerlidir. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir.
flattenCollectionTypes true true, false olduğunda true, eşleme ve liste durumu değişkenleri için döndürülen kayıtları düzleştirme. olduğunda false, kayıtları Spark SQL Array veya Mapolarak döndürür. Yalnızca işleç için transformWithState geçerlidir. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir.

Metin

Metin dosyaları okunurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
encoding UTF-8 Bir java.nio.charset.Charset ad Metin dosyası satır ayırıcısının kodlama adı. Dosyanın içeriği bu seçenekten etkilenmez ve as-isokunur.
lineSep Hiçbiri, ve'yi \r kapsar \r\n\n Bir ip Ardışık iki TEXT kaydı arasındaki bir dize.
wholeText false true, false Bir dosyanın tek bir kayıt olarak okunup okunmayacağı.

XML

XML dosyaları okunurken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
rowTag None Herhangi bir dize Satır olarak işlem yapmak için ele alınacak XML dosyalarının satır etiketi. Örnek XML'de <book> <page><page>...<book>, uygun değer şeklindedir page. Bu gerekli bir seçenektir.
samplingRatio 1.0 0.0'dan 1.0'e Şema çıkarımı için kullanılan satırların bir bölümünü tanımlar. XML yerleşik işlevleri bu seçeneği yoksayar.
excludeAttribute false true, false Öğelerdeki özniteliklerin dışlanıp dışlanmaymayacağı.
mode None PERMISSIVE, DROPMALFORMED, FAILFAST Ayrıştırma sırasında bozuk kayıtlarla ilgilenme modu.
  • PERMISSIVE: Bozuk kayıtlar için, hatalı biçimlendirilmiş dizeyi columnNameOfCorruptRecord tarafından yapılandırılan bir alana yerleştirir ve hatalı biçimlendirilmiş alanları null olarak ayarlar. Bozuk kayıtları tutmak için, kullanıcı tanımlı şemada string adlı columnNameOfCorruptRecord bir tür alanı ayarlayabilirsiniz. Bir şemada alan yoksa, ayrıştırma sırasında bozuk kayıtlar bırakılır. Bir şema çıkarıldığında, ayrıştırıcı, bir çıkış şemasına örtük olarak columnNameOfCorruptRecord alanı ekler.
  • DROPMALFORMED: Bozuk kayıtları yoksayar. Bu mod, XML yerleşik işlevleri için desteklenmez.
  • FAILFAST: Ayrıştırıcı bozuk kayıtlarla karşılaştığında bir istisna oluşturur.
inferSchema true true, false Eğer true ise, her bir elde edilen DataFrame sütunu için uygun bir tür çıkarsamaya çalışır. Eğer false ise, elde edilen tüm sütunlar string türündedir. XML yerleşik işlevleri bu seçeneği yoksayar.
columnNameOfCorruptRecord spark.sql.columnNameOfCorruptRecord Sütun adı dizesi Mod tarafından PERMISSIVE oluşturulan hatalı biçimlendirilmiş bir dize içeren yeni alanın yeniden adlandırılmasına izin verir.
attributePrefix None Herhangi bir dize Öznitelikleri öğelerden ayırt etmek için özniteliklere yönelik ön ek. Bu, alan adları için ön ek olacaktır. Varsayılan _ değeridir. XML okumak için boş olabilir, ancak yazmak için boş olamaz. DataFrameWriter XML seçenekleri için de geçerlidir.
valueTag _VALUE Herhangi bir dize Öznitelikleri veya alt öğeleri de olan öğelerdeki karakter verileri için kullanılan etiket. Kullanıcı şemadaki valueTag alanını belirtebilir veya diğer öğeler veya özniteliklere sahip öğelerde karakter verileri bulunduğunda şema çıkarımı sırasında otomatik olarak eklenir. DataFrameWriter XML seçenekleri için de geçerlidir.
encoding UTF-8 Bir java.nio.charset.Charset ad Okuma için XML dosyalarını verilen kodlama türüne göre çözer. Yazmak için, kaydedilen XML dosyalarının kodlamasını (karakter kümesi) belirtir. XML yerleşik işlevleri bu seçeneği yoksayar. DataFrameWriter XML seçenekleri için de geçerlidir.
ignoreSurroundingSpaces true true, false Çevresindeki değerlerin atlanması gereken boşluklar olup olmadığı. Yalnızca boşluktan oluşan karakter verileri yoksayılır.
rowValidationXSDPath None Dosya yolu dizesi Her satırın XML'sini ayrı ayrı doğrulamak için kullanılan isteğe bağlı bir XSD dosyasının yolu. Doğrulanemeyen satırlar ayrıştırma hataları gibi değerlendirilir. XSD, belirtilen veya çıkarılmış olsun şemayı başka bir şekilde etkilemez.
ignoreNamespace false true, false Eğer true, XML öğeleri ve özniteliklerindeki ad alanlarının ön ekleri yoksayılır. Etiketler <abc:author> ve <def:author>, örneğin, her ikisi de yalnızca <author>olarak değerlendirilir. rowTag öğesindeki ad alanları göz ardı edilemez, yalnızca okunmuş alt öğeleri göz ardı edilebilir. XML ayrıştırma, false olsa bile ad alanı duyarlı değildir.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası biçim dizesi Datetime desenini izleyen özel zaman damgası biçim dizesi. Bu tür için timestamp geçerlidir. DataFrameWriter XML seçenekleri için de geçerlidir.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgası biçim dizesi Zaman dilimi içermeyen zaman damgası için tarih ve saat deseni biçimine uygun özel biçim dizesi. Bu, TimestampNTZType türü için geçerlidir. DataFrameWriter XML seçenekleri için de geçerlidir.
dateFormat yyyy-MM-dd Tarih biçimi dizesi Datetime pattern biçimini izleyen özel tarih formatı dizesi. Bu, tarih türü için geçerlidir. DataFrameWriter XML seçenekleri için de geçerlidir.
locale en-US IETF BCP 47 dil etiketi Yerel ayarı IETF BCP 47 biçiminde bir dil etiketi olarak ayarlar. Örneğin, locale tarihler ve zaman damgaları ayrıştırılırken kullanılır.
nullValue dize null Herhangi bir dize Null değerin dize gösterimini ayarlar. Bu olduğunda null, çözümleyici alanlar için öznitelikler ve öğeler oluşturmaz. DataFrameWriter XML seçenekleri için de geçerlidir.
readerCaseSensitive true true, false rescuedDataColumn etkinleştirildiğinde büyük/küçük harf duyarlılığı davranışını açıklar. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun.
rescuedDataColumn None Sütun adı dizesi Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Daha fazla ayrıntı için bkz. Kurtarılan veri sütunu nedir?. COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir.
singleVariantColumn none Sütun adı dizesi Tek değişkenli sütunun adını belirtir. Okuma için bu seçenek belirtilirse, xml kaydının tamamını tek bir Variant sütununa ayrıştırın ve verilen seçenek dizesi değeri sütunun adı olarak belirtin. Yazma için bu seçenek belirtilirse, tek Variant sütununun değerini XML dosyalarına yazın. DataFrameWriter XML seçenekleri için de geçerlidir.
useLegacyXMLParser true true, false Eski XML ayrıştırıcısının kullanılıp kullanılmaymayacağı. Eski ayrıştırıcı, hatalı biçimlendirilmiş içerik için daha az sıkı doğrulamaya sahiptir, ancak bellek açısından daha az verimlidir. false Daha katı varsayılan ayrıştırıcıyı kabul etmek için olarak ayarlayın.
wildcardColName xs_any Sütun adı dizesi Joker karakter (xs:any) şema öğesiyle eşleşen XML öğelerini yakalamak için kullanılan sütun adı. ile rescuedDataColumnbirlikte kullanılamaz.

DataStreamReader seçenekleri

Delta Lake tablolarından ve diğer dosya tabanlı kaynaklardan akış okumalarını yapılandırmak için ile DataStreamReader.option() bu seçenekleri kullanın.

Dosya biçimi seçenekleri (JSON, CSV, Parquet ve diğerleri) için bkz. DataFrameReader seçenekleri.

Otomatik Yükleyici (cloudFiles.*) seçenekleri için bkz. Otomatik Yükleyici.

Example

Aşağıdaki örnek, Delta Lake tablo akışı için olarak maxFilesPerTrigger ayarlar10:

Python
df = spark.readStream.format("delta").option("maxFilesPerTrigger", 10).load("/path/to/delta-table")
Scala
val df = spark.readStream.format("delta").option("maxFilesPerTrigger", "10").load("/path/to/delta-table")

Ortak

Aşağıdaki seçenekler Delta Lake tabloları ve diğer dosya tabanlı akış kaynakları için geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
cleanSource off off, delete, archive Kaynak dosyalar akış tarafından işlendikten sonra nasıl işlenir? off hiçbir işlem gerçekleştirmez. delete kaynak dosyayı kalıcı olarak siler. archive dosyasını öğesine sourceArchiveDirtaşır. olarak ayarlandığında archivesourceArchiveDir da ayarlanmalıdır. Delta Lake tablo akışı için geçerli değildir.
fileNameOnly false true, false Zaten işlenmiş dosyaların tam yol yerine yalnızca dosya adına göre tanımlanıp tanımlanmayacağı. Olduğunda true, aynı dosya adına sahip farklı yollarda bulunan dosyalar aynı dosya olarak kabul edilir ve yeniden işlenmez. Delta Lake tablo akışı için geçerli değildir.
latestFirst false true, false En son değiştirilen dosyaların her mikro toplu işlem içinde önce işlenip işlenmeyeceği. En son verileri mümkün olan en hızlı şekilde işlemek istediğinizde kullanışlıdır. true ve maxFilesPerTrigger veya maxBytesPerTrigger ayarlandığında yoksayılırmaxFileAge. Delta Lake tablo akışı için geçerli değildir.
maxBytesPerTrigger None Pozitif tamsayılar Her mikro toplu iş için işlenen veri miktarı için geçici maksimum değer. En küçük giriş birimi sınırı aşarsa bir toplu işlem sınırı aşabilir. ile maxFilesPerTriggerbirlikte kullanıldığında, mikro toplu işlem ilk olarak iki sınıra ulaşılana kadar verileri işler.
Otomatik Yükleyici için bunun yerine kullanın cloudFiles.maxBytesPerTrigger . Bkz. Ortak.
maxCachedFiles 10000 Pozitif tamsayılar veya 0 Sonraki mikro toplu işlemler için önbelleğe alınacak en fazla işlenmemiş dosya sayısı. Önbelleğe 0 almayı kapatmak için olarak ayarlayın. Kaynak dizin her tetikleyici için çok sayıda yeni dosya içerdiğinde bu değeri artırın. Delta Lake tablo akışı için geçerli değildir.
maxFileAge 7d veya gibi bir 7d süre dizesi 4h geçerli sistem saati yerine en son değiştirilen dosyanın zaman damgasına göre işlenmek üzere düşünülen dosyaların en büyük yaşı. Bu eşikten eski dosyalar yoksayılır. latestFirst true ve maxFilesPerTrigger veya maxBytesPerTrigger ayarlandığında yoksayılır. Delta Lake tablo akışı için geçerli değildir.
maxFilesPerTrigger 1000 Delta Lake ve Otomatik Yükleyici için. Diğer dosya tabanlı kaynaklar için maksimum değer yoktur. Pozitif tamsayılar Her mikro toplu işlemde işlenen yeni dosya sayısı için üst sınır. ile maxBytesPerTriggerbirlikte kullanıldığında, mikro toplu işlem ilk olarak iki sınıra ulaşılana kadar verileri işler.
Otomatik Yükleyici için bunun yerine kullanın cloudFiles.maxFilesPerTrigger . Bkz. Ortak.
sourceArchiveDir None Yol dizesi olarak ayarlandığında cleanSourcearşiv dizininin archive yolu. Kaynak dosyalar, işlendikten sonra göreli dizin yapısı korunarak bu yola taşınır. Delta Lake tablo akışı için geçerli değildir.

Otomatik Yükleyici

cloudFiles bulut depolama alanından akış alımı için yapılandırmak üzere kaynakla birlikte bu seçenekleri kullanın. Kaynağa özgü cloudFiles seçenekler, bunları diğer cloudFiles kaynağı seçeneklerinden ayrı bir ad alanında tutmak için ön eke sahiptir.

Ortak

Aşağıdaki seçenekler tüm Otomatik Yükleyici yapılandırmaları için geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
cloudFiles.allowOverwrites false true, false Giriş dizin dosyası değişikliklerinin var olan verilerin üzerine yazmasına izin verilip verilmeyeceği.
Yapılandırma uyarıları için bkz. Dosya eklendiğinde veya üzerine yazıldığında Otomatik Yükleyici dosyayı yeniden işleniyor mu?.
cloudFiles.backfillInterval None veya gibi bir 1 day süre dizesi 1 week Otomatik Yükleyici belirli bir aralıkta zaman uyumsuz geri doldurmaları tetikleyebilir. Daha fazla bilgi için bkz. cloudFiles.backfillInterval kullanarak normal geri doldurmaları tetikleme.
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın.
cloudFiles.cleanSource OFF OFF, DELETE, MOVE İşlenen dosyaların giriş dizininden otomatik olarak silinip silinmeyeceği veya taşınıp taşınmayacağı. (varsayılan) olarak ayarlandığında OFF hiçbir dosya silinmez.
olarak ayarlandığında DELETE, Otomatik Yükleyici dosyaları işlendikten 30 gün sonra otomatik olarak siler. Bunu yapmak için Otomatik Yükleyici'nin kaynak dizine yazma izinleri olmalıdır.
olarak ayarlandığında MOVE, Otomatik Yükleyici dosyaları işlendikten sonraki 30 gün içinde cloudFiles.cleanSource.moveDestination otomatik olarak belirtilen konuma taşır. Bunu yapmak için, Otomatik Yükleyici'nin hem kaynak dizinde hem de taşıma konumuna yazma izinlerine sahip olması gerekir.
Tablo değerli işlevinin sonucu commit_time için cloud_files_state null olmayan bir değere sahip olduğunda bir dosya işlenmiş olarak kabul edilir. Bakınız cloud_files_state tablo değerli fonksiyon. İşlemden sonra 30 günlük ek bekleme, kullanılarak cloudFiles.cleanSource.retentionDurationyapılandırılabilir.
etkinleştirmeden cloudFiles.cleanSourceönce aşağıdaki noktaları gözden geçirin:
  • Azure Databricks, en hızlı tüketici dosyaları sileceği ve daha yavaş kaynaklara alınmadığı için kaynak konumdan veri kullanan birden çok akış varsa bu seçeneğin kullanılmasını önermez.
  • Bu özelliğin etkinleştirilmesi için Otomatik Yükleyici'nin denetim noktasında ek durum koruması gerekir ve bu da performans ek yüküne neden olur ancak tablo değerli işlev aracılığıyla cloud_files_state iyileştirilmiş gözlemlenebilirlik sağlar. Bakınız cloud_files_state tablo değerli fonksiyon.
  • cleanSource, geçerli ayarı kullanarak dosyaya veya MOVE belirli bir dosyaya DELETE karar verir. Örneğin, ayarın MOVE dosyanın ilk işlendiği zaman olduğunu, ancak 30 gün sonra dosya temizleme adayı olduğunda olarak değiştirildiğini DELETE varsayalım. Bu durumda cleanSource dosyayı siler.
  • Dosyaların süresi dolduğunda temizlenmeleri retentionDuration garanti edilmemektedir. Maliyetleri düşük tutmak için Otomatik Yükleyici, akış işleme ile dosyaları eşzamanlı olarak siler ve akış işleme tamamlandıktan veya sonlandırılır tamamlanmaz sonlandırılır. Temizleme için aday olan ancak akış işleme sırasında temizlenemeyen dosyalar, Otomatik Yükleyici'nin bir sonraki çalışmasında alınır.

Databricks Runtime 16.4 ve üzerinde kullanılabilir.
cloudFiles.cleanSource.retentionDuration 30 days , veya gibi 14 days2 weeks dizesi1 month İşlenen dosyaların cleanSource ile arşivleme adayı olması için bekleme süresi. DELETE için 7 günden uzun olmalıdır. MOVE için en düşük kısıtlama yoktur.
Databricks Runtime 16.4 ve üzerinde kullanılabilir.
cloudFiles.cleanSource.moveDestination None Bulut depolama alanı veya Unity Kataloğu birim yolu cloudFiles.cleanSource MOVE olarak ayarlandığında işlenen dosyaların arşivleneceği yol. Bu bir bulut depolama yolu veya Unity Kataloğu birim yolu (örneğin, /Volumes/my_catalog/my_schema/my_volume/archive/) olabilir.
Taşıma konumu:
  • Kaynak dizinin alt öğesi olamaz. Taşıma hedefini kaynak dizine yerleştirirseniz, arşivlenen dosyalar yeniden alınır.
  • Kaynakla aynı dış konumda, birimde veya DBFS bağlamasında bulun. Çapraz demetler ve kapsayıcılar arası taşımalar desteklenmez ve hataya neden olur.

Otomatik Yükleyici bu dizinde yazma izinlerine sahip olmalıdır.
Databricks Runtime 16.4 ve üzerinde kullanılabilir.
cloudFiles.format Yok (gerekli seçenek) avro, binaryFile, csv, , json, orc, parquet, text, xml Kaynak yoldaki veri dosyası biçimi. Geçerli değerler şunlardır:
cloudFiles.includeExistingFiles true true, false Mevcut dosyaların akış işleme giriş yoluna dahil edilip edilmeyeceği veya yalnızca ilk kurulumdan sonra gelen yeni dosyaların işlenmesi. Bu seçenek yalnızca bir akışı ilk kez başlattığınızda değerlendirilir. Akışı yeniden başlattıktan sonra bu seçeneğin değiştirilmesinin hiçbir etkisi olmaz.
cloudFiles.inferColumnTypes false true, false Şema çıkarımı kullanıldığında tam sütun türlerinin çıkarılıp çıkarılmayacağı. Varsayılan olarak, JSON ve CSV veri kümeleri çıkarılırken sütunlar dize olarak çıkarılır. Daha fazla ayrıntı için bkz . şema çıkarımı .
cloudFiles.maxBytesPerTrigger None Gibi bir bayt dizesi 10g Her tetikleyicide işlenecek yeni bayt sayısı üst sınırı. Bu geçici bir maksimum değerdir. Her birinde 3 GB olan dosyalarınız varsa, Azure Databricks mikro toplu işlemde 12 GB işler. Tek bir dosya hiçbir zaman mikro toplu işlemlere bölünmez; boyutu bu sınırı aşsa bile her zaman tek bir dosya içinde tam olarak işlenir. cloudFiles.maxFilesPerTrigger ile birlikte kullanıldığında, Azure Databricks, cloudFiles.maxFilesPerTrigger veya cloudFiles.maxBytesPerTrigger'nin alt sınırına kadar, hangisine önce ulaşılırsa onu tüketir. Bu seçenek, Trigger.Once() ile kullanıldığında hiçbir etkisi yoktur (Trigger.Once() kullanım dışı bırakılmıştır).
Databricks Runtime 18.0 ve sonraki sürümleri için bu seçenek dinamik olarak yapılandırılır ve el ile ayarlanması gerekmez.
cloudFiles.maxFileAge None Süre dizesi Yinelenen verileri kaldırma amacıyla bir dosya olayının ne kadar süre izlendiği. Databricks, veri alım hızınız saatte milyonlarca dosya ölçüsünde olmadıkça bu parametrenin ayarlanmasını önermez. Daha fazla ayrıntı için Dosya olay izleme bölümüne bakın.
Çok agresif bir şekilde ayarlamak cloudFiles.maxFileAge , yinelenen veri alımı veya eksik dosyalar gibi veri kalitesi sorunlarına neden olabilir. Bu nedenle Databricks, karşılaştırmalı veri alımı çözümlerinin önerdiğine benzer şekilde 90 gün gibi muhafazakar bir ayar cloudFiles.maxFileAgeönerir.
cloudFiles.maxFilesPerTrigger 1000 Pozitif tamsayılar Her tetikleyicide işlenecek en fazla yeni dosya sayısı. cloudFiles.maxBytesPerTrigger ile birlikte kullanıldığında, Azure Databricks, cloudFiles.maxFilesPerTrigger veya cloudFiles.maxBytesPerTrigger'nin alt sınırına kadar, hangisine önce ulaşılırsa onu tüketir. Bu seçeneğin ile Trigger.Once() kullanıldığında hiçbir etkisi yoktur (kullanım dışı).
Databricks Runtime 18.0 ve sonraki sürümleri için bu seçenek dinamik olarak yapılandırılır ve el ile ayarlanması gerekmez.
cloudFiles.partitionColumns None Sütun adlarının virgülle ayrılmış listesi Dosyaların dizin yapısından çıkarılmış olmasını istediğiniz Hive stili bölüm sütunlarının virgülle ayrılmış listesi. Hive stili bölüm sütunları, gibi bir eşitlik işaretiyle birleştirilen anahtar-değer çiftleridir <base-path>/a=x/b=1/c=y/file.format. Bu örnekte bölüm sütunları , ave bşeklindedirc. Varsayılan olarak, şema çıkarımı kullanıyorsanız ve veri yüklenecek öğesini belirtirseniz <base-path> bu sütunlar şemanıza otomatik olarak eklenir. Bir şema belirtirseniz, Otomatik Yükleyici bu sütunların şemaya eklenmesini bekler. Bu sütunları şemanızın bir parçası olarak istemiyorsanız, bu sütunları yoksaymak için "" belirtebilirsiniz. Ayrıca, aşağıdaki örnekte olduğu gibi sütunların karmaşık dizin yapılarında dosya yolunun çıkarılmasını istediğinizde bu seçeneği kullanabilirsiniz:
<base-path>/year=2022/week=1/file1.csv
<base-path>/year=2022/month=2/day=3/file2.csv
<base-path>/year=2022/month=2/day=4/file3.csv
cloudFiles.partitionColumns olarak belirtilen year,month,day için year=2022 döndürür, ancak file1.csv ve month sütunları day şeklindedir.
month ve day, file2.csv ve file3.csv için doğru şekilde ayrıştırılır.
cloudFiles.schemaEvolutionMode addNewColumns bir şema belirtilmediğinde, none aksi takdirde addNewColumns, none, rescue, failOnNewColumns Verilerde yeni sütunlar keşfedildikçe şemayı geliştirme modu. Varsayılan olarak, JSON veri kümeleri çıkarılırken sütunlar dize olarak çıkarılır. Daha fazla ayrıntı için bkz . şema evrimi .
cloudFiles.schemaHints None Şema dizesi Şema çıkarımı sırasında Otomatik Yükleyici'ye belirttiğiniz şema bilgileri. Daha fazla ayrıntı için şema ipuçlarına bakın.
cloudFiles.schemaLocation Yok (şemayı çıkarsamak için gereklidir) Yol dizesi Çıkarsanan şemayı ve sonraki değişiklikleri depolama konumu. Daha fazla ayrıntı için bkz . şema çıkarımı .
cloudFiles.useStrictGlobber false true, false Apache Spark'taki diğer dosya kaynaklarının varsayılan globbing davranışına uyan sıkı bir globber kullanma seçeneğini değerlendirmek. Diğer ayrıntılar için bkz . Yaygın veri yükleme desenleri . Databricks Runtime 12.2 LTS ve üzerinde kullanılabilir.
cloudFiles.validateOptions true true, false Otomatik Yükleyici seçeneklerinin doğrulanıp doğrulanmayacağı ve bilinmeyen veya tutarsız seçenekler için hata döndürüleceği.

Dizin listesi

Dizin listeleme modu kullanılırken aşağıdaki seçenek geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
cloudFiles.useIncrementalListing (kullanım dışı) auto Databricks Runtime 17.2 ve altında, false Databricks Runtime 17.3 ve üzeri üzerinde auto, true, false Bu özellik kullanım dışı bırakıldı. Databricks, yerine cloudFiles.useIncrementalListing
Dizin listeleme modunda tam liste yerine artımlı döküm kullanılıp kullanılmaymayacağı. Varsayılan olarak, Otomatik Yükleyici belirli bir dizinin artımlı listeleme için geçerli olup olmadığını otomatik olarak algılamak için en iyi çabayı gösterir. Artımlı listeyi açıkça kullanabilir veya true veya false olarak ayarlayarak tam dizin listesini kullanabilirsiniz.
Sözcük temelli olmayan bir dizinde artımlı listelemenin yanlış etkinleştirilmesi, Otomatik Yükleyici'nin yeni dosyaları bulmasını engeller.
Azure Data Lake Storage (abfss://), S3 (s3://) ve GCS (gs://) ile çalışır.
Databricks Runtime 9.1 LTS ve üzerinde kullanılabilir.

Dosya bildirimi

Gerekli bulut izinleri, kurulum yönergeleri ve kimlik doğrulama yöntemleri dahil olmak üzere dosya bildirim modunu yapılandırma hakkında bilgi için bkz. Dosya bildirim modunda Otomatik Yükleyici akışlarını yapılandırma.

Key Varsayılan Geçerli değerler Açıklama
cloudFiles.fetchParallelism 1 Pozitif tamsayılar Kuyruğa alma hizmetinden ileti getirirken kullanılacak iş parçacığı sayısı.
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın.
cloudFiles.pathRewrites None JSON eşleme dizesi Yalnızca birden çok S3 demetinden dosya bildirimleri alan bir queueUrl belirtirseniz ve bu kapsayıcılardaki verilere erişmek için yapılandırılmış bağlama noktalarını kullanmak istiyorsanız gereklidir. bucket/key yolunun ön ekini bağlama noktasıyla yeniden yazmak için bu seçeneği kullanın. Yalnızca ön ekler yeniden yazılabilir. Örneğin, yapılandırması {"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"} için yolu s3://<databricks-mounted-bucket>/path/2017/08/fileA.json, dbfs:/mnt/data-warehouse/2017/08/fileA.json olarak yeniden yazılır.
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın.
cloudFiles.resourceTag None Anahtar-değer etiket dizeleri İlgili kaynakları ilişkilendirmeye ve tanımlamaya yardımcı olacak bir dizi anahtar-değer etiketi çifti, örneğin:
cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue")
.option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın. Bunun yerine bulut sağlayıcısı konsolunu kullanarak kaynak etiketlerini ayarlayın.
Daha fazla bilgi için bkz. Bulut sağlayıcısı kaynak etiketleri.
cloudFiles.useManagedFileEvents false true, false olarak ayarlandığında true, Otomatik Yükleyici dış konumunuzdaki dosyaları bulmak için dosya olayları hizmetini kullanır. Bu seçeneği yalnızca yükleme yolu dosya olaylarının etkinleştirildiği bir dış konumdaysa kullanabilirsiniz. Bkz . Dosya olaylarıyla dosya bildirim modunu kullanma.
Otomatik Yükleyici son çalıştırmadan sonra yeni dosyaları bulabildiği için dosya olayları dosya bulmada bildirim düzeyinde performans sağlar. Dizin listesinden farklı olarak, bu işlemin dizindeki tüm dosyaları listelemesi gerekmez.
Dosya olayları seçeneği etkin olsa bile Otomatik Yükleyici'nin dizin listesini kullandığı bazı durumlar vardır:
  • İlk yükleme sırasında, includeExistingFilestrue olarak ayarlandığında, Auto Loader başlatılmadan önce dizinde bulunan tüm dosyaları bulmak için tam bir dizin listelemesi yapılır.
  • Dosya olayları hizmeti, en son oluşturulan dosyaları önbelleğe alarak dosya bulmayı iyileştirir. Otomatik Yükleyici seyrek çalışıyorsa, bu önbelleğin süresi dolabilir ve Otomatik Yükleyici dosyaları bulmak ve önbelleği güncelleştirmek için dizin listesine geri döner. Bu senaryodan kaçınmak için Otomatik Yükleyici'yi en az yedi günde bir kez çalıştırın.

Otomatik Yükleyici'nin bu seçenekle dizin listelemeyi kullandığı durumların kapsamlı bir listesi için bkz. Dosya olayları olan Otomatik Yükleyici dizin listesini ne zaman kullanır?
Databricks Runtime 14.3 LTS ve üzerinde kullanılabilir.
cloudFiles.listOnStart false true, false olarak trueayarlandığında, Otomatik Yükleyici denetim noktasındaki devamlılık belirteciyle başlamak yerine akış başlatıldığında tam dizin listesi gerçekleştirir. gibi CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKENhatalardan kurtarmak için bu seçeneği kullanın. Bkz. Bir CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN hatadan nasıl kurtarılır?
cloudFiles.useNotifications false true, false Yeni dosyaların ne zaman olduğunu belirlemek için dosya bildirim modunun kullanılıp kullanılmayacağını. ise falsedizin listeleme modunu kullanın. Bkz . Otomatik Yükleyici dosya algılama modlarını karşılaştırma.
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın.
Bulut sağlayıcısı kaynak etiketleri

Otomatik Yükleyici varsayılan olarak en iyi çaba temelinde aşağıdaki anahtar-değer etiketi çiftlerini ekler:

  • vendor: Databricks
  • path: Verilerin yüklendiği konum. Etiketleme sınırlamaları nedeniyle GCP'de kullanılamıyor.
  • checkpointLocation: Akışın denetim noktasının konumu. Etiketleme sınırlamaları nedeniyle GCP'de kullanılamıyor.
  • streamId: Akış için genel olarak benzersiz bir tanımlayıcı.

Databricks bu anahtar adlarını ayırır ve değerlerinin üzerine yazamazsınız.

Azure hakkında daha fazla bilgi için, Adlandırma Kuyrukları ve Metadata ile properties.labels kapsamını inceleyin. Otomatik Yükleyici bu anahtar-değer etiket çiftlerini JSON'da etiket olarak depolar.

Buluta özgü

Otomatik Yükleyici,dosya bildirim modu için bulut altyapısını yapılandırma seçeneklerine sahiptir. Gerekli bulut izinleri ve kurulum yönergeleri için bkz. Dosya bildirim modunda Otomatik Yükleyici akışlarını yapılandırma.

Azure

Otomatik Yükleyici'nin bildirim hizmetlerini sizin için ayarlamasını istiyorsanız, aşağıdaki seçeneklerin tümü için değerleri belirtmeniz cloudFiles.useNotifications = true gerekir:

Key Varsayılan Geçerli değerler Açıklama
cloudFiles.resourceGroup None Herhangi bir dize Depolama hesabının oluşturulduğu Azure Kaynak Grubu.
cloudFiles.subscriptionId None Herhangi bir dize Kaynak grubunun oluşturulduğu Azure Abonelik Kimliği.
databricks.serviceCredential None Herhangi bir dize Databricks hizmet kimlik bilgilerinizin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir.

Databricks hizmeti kimlik bilgileri kullanılamıyorsa, bunun yerine aşağıdaki kimlik doğrulama seçeneklerini belirtebilirsiniz:

Key Varsayılan Geçerli değerler Açıklama
cloudFiles.clientId None Herhangi bir dize Hizmet sorumlusunun istemci kimliği veya uygulama kimliği.
cloudFiles.clientSecret None Herhangi bir dize Hizmet prensibinin istemci gizli anahtarı.
cloudFiles.connectionString None bağlantı dizesi Hesap erişim anahtarına veya paylaşılan erişim imzasını (SAS) temel alan depolama hesabının bağlantı dizesi.
cloudFiles.tenantId None Herhangi bir dize Hizmet sorumlusunun oluşturulduğu Azure Kiracı Kimliği.

Aşağıdaki seçeneği yalnızca Otomatik cloudFiles.useNotifications = true Yükleyici'nin var olan bir kuyruğu kullanmasını istiyorsanız belirtin:

Key Varsayılan Geçerli değerler Açıklama
cloudFiles.queueName None Herhangi bir dize Azure kuyruğunun adı. Belirtilirse, bulut dosyaları kaynağı kendi Azure Event Grid ve Kuyruk Depolama hizmetlerini ayarlamak yerine bu kuyruktan gelen olayları doğrudan kullanır. Bu durumda, databricks.serviceCredential veya cloudFiles.connectionString yalnızca kuyrukta okuma izni gerektirir.

Delta Gölü

aşağıdaki seçenekler kullanarak spark.readStreamdelta lake tablosundan okurken geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
allowSourceColumnDrop None Bir sürüm numarası veya always Delta tablosu sürüm numarası olarak ayarlayın veya always kaynak tablo şemasından sütunlar bırakıldıktan sonra akışın devam etmesi için izin verin. Bir sürüm numarasına ayarlandığında, bu sürüme kadar olan tüm şema değişikliklerini kabul eder. gerektirir schemaTrackingLocation. Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın.
allowSourceColumnRename None Bir sürüm numarası veya always Delta tablosu sürüm numarası olarak ayarlayın veya always kaynak tabloda sütunlar yeniden adlandırıldıktan sonra akışın devam etmesi için izin verin. Bir sürüm numarasına ayarlandığında, bu sürüme kadar olan tüm şema değişikliklerini kabul eder. gerektirir schemaTrackingLocation. Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın.
allowSourceColumnTypeChange None Bir sürüm numarası veya always Delta tablosu sürüm numarası olarak ayarlayın veya always kaynak tabloda sütun türleri değiştirildikten sonra akışın devam etmesi için izin verin. Bir sürüm numarasına ayarlandığında, bu sürüme kadar olan tüm şema değişikliklerini kabul eder. gerektirir schemaTrackingLocation. Bkz. Tür genişletme.
excludeRegex None Java regex dizesi Normal ifade deseni. Yolları desenle eşleşen dosyalar akış okumasının dışında tutulur. Beklenen adlandırma kuralına uymayan dosyaları filtrelemek için kullanışlıdır.
failOnDataLoss true true, false Günlük saklama (logRetentionDuration) nedeniyle kaynak veriler silindiyse akış sorgusunun başarısız olup olmayacağı. Eksik verileri atlayıp işlemeye devam etmek için false olarak ayarlayın. Bkz Zaman yolculuğu sorguları için veri saklamayı yapılandırma.
ignoreChanges (kullanım dışı) false true, false Databricks Runtime 11.3 LTS ve altında kullanılabilir. , UPDATE, MERGE INTOveya DELETEgibi OVERWRITEdeğişiklik işlemlerinden sonra yeniden yazılan veri dosyalarını yeniden yayar. Yeni satırların yanı sıra değişmemiş satırlar da yayılabilir, bu nedenle aşağı akış tüketicilerinin yinelenenleri işlemesi gerekir. Silme işlemleri alt akışa iletilmez. skipChangeCommits yerine Databricks Runtime 12.2 LTS ve üzerini kullanın.
ignoreDeletes (kullanım dışı) false true, false Bölüm sınırlarında verileri silen işlemleri yoksayar (yalnızca tam bölüm düşer). Bölüm dışı silmeleri, güncelleştirmeleri veya diğer değişiklikleri işlemez. Bunun yerine skipChangeCommits kullanın.
readChangeFeed veya readChangeData false true, false Akış sorgusu için değişiklik veri akışının okunmasının etkinleştirilip etkinleştirilmeyeceği. Etkinleştirildiğinde, akış ek meta veri sütunlarıyla satır düzeyi değişiklikleri (ekler, güncelleştirmeler ve silmeler) yayar. Bkz. Azure Databricks değişiklik veri akışını kullanma.
schemaTrackingLocation None Yol dizesi Delta Lake'in akış okuması için şema değişikliklerini izlediği dizin yolu. Sütun eşlemesi etkinleştirilmiş tablolardan akış yaparken ve şema evrimi işlemek için seçenekleri kullanırken allowSourceColumn* gereklidir. Akış sorgusunun checkpointLocation içinde olmalıdır. Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın.
skipChangeCommits false true, false Var olan kayıtları silen veya değiştiren işlemleri yoksayar ve yalnızca eklemeleri işler. Databricks, değişiklik veri akışlarını kullanmayan çoğu iş yükü için bu seçeneği önerir. Databricks Runtime 12.2 LTS ve üzerinde kullanılabilir. Bkz. ile skipChangeCommitsyukarı akış değişiklik işlemelerini atlama.
startingTimestamp En son mevcut veya gibi bir tarih dizesi gibi 2019-01-01T00:00:00.000Z bir zaman damgası dizesi 2019-01-01 Okumaya başlamak için zaman damgası. Akış, belirtilen zaman damgasında veya sonrasında işlenen tüm tablo değişikliklerini okur. Zaman damgası tüm kullanılabilir tablo işlemelerinden önce geliyorsa, akış en erken kullanılabilir işlemeden başlar. ile startingVersionbirlikte kullanılamaz. Akış denetim noktası zaten varsa yoksayılır.
startingVersion En son mevcut Pozitif bir tamsayı, 0veya latest Okumaya başlamak için Delta tablosu sürümü. Akış, belirtilen sürümde veya sonrasında işlenen tüm değişiklikleri okur. Yalnızca en son değişikliklerden başlamak için belirtin latest . ile startingTimestampbirlikte kullanılamaz. Akış denetim noktası zaten varsa yoksayılır. Bkz. Tablo geçmişiyle çalışma.
withEventTimeOrder false true, false Kayıtların yanlışlıkla geç olaylar olarak işaretlenmesini ve filigranlarla durum bilgisi olan sorgulara bırakılmasını önlemek için ilk tablo anlık görüntüsünü olay zamanı demetlerine böler. İlk anlık görüntü işleme başlatıldıktan sonra denetim noktası silinmeden değiştirilemez. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir. Verileri bırakmadan ilk anlık görüntüyü işleme başlıklı bölüme bakın.

Kafka

Veya spark.readStream.format("kafka")ile spark.read.format("kafka") bu seçenekleri kullanın:

Key Varsayılan Geçerli değerler Açıklama
assign None Gibi bir JSON dizesi {"topicA":[0,1],"topicB":[2,4]} Kullanılacak belirli bölümler. , veya subscribe seçeneklerinden subscribePatternassigntam olarak birini belirtmeniz gerekir.
failOnDataLoss true true, false Örneğin, silinen konular veya uzaklık kesilmesi nedeniyle veriler kaybolmuş olabilirse sorgunun başarısız olup olmayacağı. Eksik verileri atlayıp devam etmek için false olarak ayarlayın.
Databricks, verilerin kaybolup kaybolmayabileceğini büyük ölçüde tahmin eder. Ancak, bu hatalı alarmlara neden olabilir.
fetchoffset.numretries 3 Pozitif tamsayılar veya 0 Kafka uzaklıkları getirilirken yeniden deneme sayısı başarısız oluyor.
fetchoffset.retryintervalms 1000 Pozitif tamsayılar veya 0 Uzaklık getirme yeniden denemeleri arasındaki milisaniye cinsinden aralık.
groupIdPrefix spark-kafka-source (akış), spark-kafka-relation (toplu iş) Herhangi bir dize Otomatik olarak oluşturulan Kafka tüketici grubu kimliği için kullanılacak özelleştirilmiş ön ek. Açıkça ayarlanırsa kafka.group.id bağlayıcı bu seçeneği yoksayar.
kafka.group.id None Herhangi bir dize Okurken kullanılacak Kafka tüketici grubu kimliği. Dikkatli olun: Aynı grup kimliğini paylaşan sorgular birbiriyle karışabilir ve yalnızca kısmi verileri okuyabilir. Bu, eşzamanlı toplu iş ve akış iş yükleri çalıştırılırken veya sorguları hızlı bir şekilde yeniden başlatırken oluşabilir. Ayarlandıysa groupIdPrefix yoksayılır. Sorunları en aza indirmek için Kafka tüketici yapılandırmasını session.timeout.ms küçük bir değere ayarlayın.
includeHeaders false true, false Kafka ileti üst bilgilerinin çıkışa sütun olarak eklenip eklenmeyeceği.
kafkaconsumer.polltimeoutms None Pozitif tamsayılar Kafka tüketici poll() çağrısı için milisaniye cinsinden zaman aşımı.
kafka.bootstrap.servers None Virgülle ayrılmış dize listesi host:port 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.
maxRecordsPerPartition None Pozitif tamsayılar Her Spark bölümü için en fazla kayıt sayısı. Bağlayıcı ayarlandığında Kafka bölümlerini bölerek her Spark bölümünün en fazla bu kadar çok kaydı okumasını sağlar.
Bu seçeneği ile minPartitionsde kullanabilirsiniz. Her iki seçenek de ayarlandığında Spark hangi seçeneğin daha fazla bölüme neden olduğunu kullanır.
minPartitions None Pozitif tamsayılar Kafka'dan okunacak en az Spark bölümü sayısı. Ayarlandığında, bağlayıcı paralelliği artırmak için büyük Kafka bölümlerini böler. Ayarlanmadığında Spark, her Kafka konu bölümü için bir bölüm oluşturur. Veri dengesizliği veya en yüksek yükleri işlemek için kullanışlıdır.
Bu seçenek, ssl ile performansı etkileyebilecek her tetikleyici için Kafka tüketicilerini yeniden başlatır.
startingOffsets latest (akış), earliest (toplu iş) earliest, latestveya JSON uzaklık dizesi Sorgunun okuma işleminin başladığı uzaklık. JSON dizesinde en -1 son uzaklıktır. -2 en erken uzaklıktır. Örneğin: {"topicA":{"0":23,"1":-2}}.
Akış sorguları için bu seçenek yalnızca yeni bir sorgu başlatıldığında geçerlidir. Sürdürülen sorgular her zaman denetim noktasını kullanır. Sorgu sırasında, yeni bölümler en erken uzaklıkta okumaya başlar.
Toplu sorgular latest için izin verilmez.
startingOffsetsByTimestamp None JSON zaman damgası dizesi {"topicA":{"0":1000,"1":2000}} Milisaniye cinsinden zaman damgaları olarak belirtilen her bölüm için başlangıç uzaklıklarının listesi. Zaman damgası için uzaklık olmadığında, sorgu davranışı tarafından startingOffsetsByTimestampStrategybelirlenir.
Akış sorguları için bu seçenek yalnızca yeni bir sorgu başlatıldığında geçerlidir. Sürdürülen sorgular her zaman denetim noktasını kullanır. Sorgu sırasında, yeni bölümler en erken uzaklıkta okumaya başlar.
startingOffsetsByTimestampStrategy error error, latest veya startingOffsetsByTimestampiçinde startingTimestamp belirtilen bir zaman damgası için uzaklık bulunamadığında kullanılacak strateji. error bir özel durum oluşturur. latest en son kullanılabilir uzaklığı kullanır.
startingTimestamp None Pozitif tamsayılar veya 0 Tüm bölümler için geçerli olan milisaniye cinsinden genel başlangıç zaman damgası. Zaman damgası için uzaklık olmadığında, davranış tarafından startingOffsetsByTimestampStrategydenetlenir.
subscribe None Konu adlarının virgülle ayrılmış listesi Abone olunacak konular. , veya subscribe seçeneklerinden subscribePatternassigntam olarak birini belirtmeniz gerekir.
subscribePattern None Java regex dizesi Konulara abone olmak için kullanılan desen. , veya subscribe seçeneklerinden subscribePatternassigntam olarak birini belirtmeniz gerekir. Örneğin, topic.*.

Aşağıdaki seçenekler yalnızca ile spark.readStream.format("kafka")akış okumaları için geçerlidir:

Key Varsayılan Geçerli değerler Açıklama
bytesEstimateWindowLength 300s veya gibi 10m süre dizeleri 600s Ölçümün kalan baytlarını tahmin etmek için estimatedTotalBytesBehindLatest kullanılan zaman penceresi. Bkz. Kafka ölçümlerini alma.
maxOffsetsPerTrigger None Pozitif tamsayılar Tetikleyici aralığı başına işlenmek üzere en fazla uzaklık sayısı. Uzaklıklar konu bölümleri arasında orantılı olarak dağıtılır.
maxTriggerDelay 15m veya gibi 10m süre dizeleri 600s Tetiklemeden önce birikmesi için beklenmesi gereken minOffsetsPerTrigger en uzun süre.
minOffsetsPerTrigger None Pozitif tamsayılar Mikro toplu işlemi tetiklemeden önce birikecek en düşük uzaklık sayısı. Ulaşıldığında maxTriggerDelay , mikro toplu iş ne olursa olsun çalışır.

ile spark.read.format("kafka")yalnızca toplu okuma işlemlerine uygulanan uzaklık seçenekleri için bkz. DataFrameReader Kafka seçenekleri.

Kimlik doğrulama

Databricks, bulut tarafından yönetilen Kafka hizmetlerinde (AWS MSK, Azure Event Hubs veya Google Cloud Managed Kafka) kimlik doğrulaması yapmak için Unity Kataloğu hizmeti kimlik bilgilerinin kullanılmasını önerir.

Key Varsayılan Geçerli değerler Açıklama
databricks.serviceCredential None Herhangi bir dize Bulut tarafından yönetilen Kafka hizmetlerinde kimlik doğrulaması için Unity Kataloğu hizmeti kimlik bilgilerinin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir.
databricks.serviceCredential.scope None Herhangi bir dize Hizmet kimlik bilgileri için OAuth kapsamı. Bunu yalnızca Azure Databricks Kafka hizmetinizin kapsamını otomatik olarak çıkaramadığında ayarlayın.

Hizmet kimlik bilgileri olmadığında SASL/SSL seçeneklerini kullanın (özellik olarak kafka.* geçirilir). Hizmet kimlik bilgilerini kullandığınızda, , kafka.sasl.mechanismveya kafka.sasl.jaas.configbelirtmeniz kafka.security.protocolgerekmez.

Key Varsayılan Geçerli değerler Açıklama
kafka.security.protocol None , gibi SASL_SSLSSLbir güvenlik protokolü dizesiPLAINTEXT Aracı iletişimi için güvenlik protokolü.
kafka.sasl.mechanism None , PLAIN, SCRAM-SHA-256SCRAM-SHA-512gibi OAUTHBEARERbir SASL mekanizma dizesiAWS_MSK_IAM SASL mekanizması.
kafka.sasl.jaas.config None JAAS yapılandırma dizesi JAAS oturum açma yapılandırma dizesi.
kafka.sasl.login.callback.handler.class None Tam sınıf adı 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 None Tam sınıf adı SASL kimlik doğrulaması için istemci geri çağırma işleyicisinin tam sınıf adı.
kafka.ssl.truststore.location None Dosya yolu dizesi SSL güven deposu dosyasının yolu.
kafka.ssl.truststore.password None Herhangi bir dize SSL güven deposu dosyasının parolası.
kafka.ssl.keystore.location None Dosya yolu dizesi SSL anahtar deposu dosyasının yolu.
kafka.ssl.keystore.password None Herhangi bir dize SSL anahtar deposu dosyasının parolası.

Tam kimlik doğrulaması kurulum yönergeleri için bkz. Kimlik doğrulaması.

Pub/Sub

Google Pub/Sub'a abone olmak için ile bu seçenekleri spark.readStream.format("pubsub") kullanın. , subscriptionIdve topicId seçenekleri projectIdgereklidir.

Key Varsayılan Geçerli değerler Açıklama
subscriptionId None Herhangi bir dize Gerekli. Pub/Sub abonelik kimliği. Bağlayıcı, mevcut değilse aboneliği oluşturur.
topicId None Herhangi bir dize Gerekli. Pub/Sub konu kimliği.
projectId None Herhangi bir dize Gerekli. Google Cloud proje kimliği.
numFetchPartitions Akış başlatma sırasında kullanılabilen yürütücü sayısının yarısı Pozitif tamsayılar Abonelikten satır getiren paralel Spark görevlerinin sayısı.
maxBytesPerTrigger None Pozitif tamsayılar Mikro toplu iş başına işlenmek üzere bayt sayısı üzerinde geçici sınır.
maxRecordsPerFetch 1000 Pozitif tamsayılar İşlemden önce görev başına getirilebilen satır sayısı.
maxFetchPeriod 10s veya gibi bir 1s süre dizesi 1m Satırları işlemeden önce her görevin getirilebilmesi için gereken süre. Azure Databricks varsayılan değerin kullanılmasını önerir.
deleteSubscriptionOnStreamStop false true, false akış truesorgusu sona erdiğinde aboneliğinden subscriptionIdsilindiğinde.
serviceCredential None Herhangi bir dize Pub/Sub kimlik doğrulaması için bir Azure Databricks hizmeti kimlik bilgilerinin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir.
clientEmail None E-posta adresi dizesi Google Hizmet Hesabının e-posta adresi. Hizmet kimlik bilgisi kullanmadığınızda gereklidir.
clientId None Herhangi bir dize Google Hizmet Hesabının istemci kimliği. Hizmet kimlik bilgisi kullanmadığınızda gereklidir.
privateKey None Özel anahtar dizesi Google Hizmet Hesabı için özel anahtar. Hizmet kimlik bilgisi kullanmadığınızda gereklidir.
privateKeyId None Herhangi bir dize Google Hizmet Hesabı için özel anahtar kimliği. Hizmet kimlik bilgisi kullanmadığınızda gereklidir.

Pub/Sub hakkında daha fazla bilgi için bkz. Google Pub/Sub'a abone olma.

Pulsar

Apache Pulsar'dan akış yapmak için ile spark.readStream.format("pulsar") bu seçenekleri kullanın. Databricks Runtime 14.1 ve üzerinde kullanılabilir.

Aşağıdaki seçenekler gereklidir. , veya topictam olarak birini topicstopicsPatternbelirtmelisiniz.

Key Varsayılan Geçerli değerler Açıklama
service.url None Pulsar hizmeti URL dizesi Pulsar serviceURL hizmeti için Pulsar, örneğin pulsar://broker.example.com:6650.
topic None Herhangi bir dize Kullanılacak tek bir konu adı.
topics None Konu adlarının virgülle ayrılmış listesi Kullanılacak konu adlarının virgülle ayrılmış listesi.
topicsPattern None Java regex dizesi Konu adlarını eşleştirmek için bir Java regex dizesi.

Aşağıdaki seçenekler de desteklenir:

Key Varsayılan Geçerli değerler Açıklama
admin.url None URL dizesi Pulsar yönetici hizmeti HTTP URL'si. maxBytesPerTrigger Ayarlandığında gereklidir.
allowDifferentTopicSchemas false true, false Farklı şemalara sahip birden çok konu okunuyorsa, otomatik şema tabanlı konu değerini seri durumdan çıkarma özelliğini kapatmak için bu seçeneği kullanın. Bu olduğunda trueyalnızca ham değerler döndürülür.
failOnDataLoss true true, false Veriler kaybolduğunda sorgunun başarısız olup olmayacağı. Örneğin, konular silindiğinde veya bekletme ilkesi nedeniyle iletilerin süresi dolduğunda veri kaybı oluşabilir.
maxBytesPerTrigger None Pozitif tamsayılar Mikro toplu iş başına işlenmek üzere bayt sayısı üzerinde geçici sınır. gerektirir admin.url.
pollTimeoutMs 120000 Pozitif tamsayılar Pulsar'dan gelen iletileri milisaniye cinsinden okumak için zaman aşımı.
predefinedSubscription None Herhangi bir dize Bağlayıcı tarafından Spark uygulamasının ilerleme durumunu izlemek için kullanılan önceden tanımlanmış abonelik adı.
startingOffsets latest latest, earliestveya JSON uzaklık dizesi Okumaya nereden başlayacağız.
subscriptionPrefix None Herhangi bir dize Spark uygulamasının ilerleme durumunu izlemek üzere rastgele bir abonelik oluşturmak için bağlayıcı tarafından kullanılan ön ek.
waitingForNonExistedTopic false true, false Bağlayıcının istenen konular oluşturulana kadar bekleyip beklemediği.

Aşağıdaki seçenek desenlerini kullanarak ek Pulsar istemci, yönetici ve okuyucu yapılandırmaları belirtebilirsiniz:

Desen Yapılandırma seçenekleri
pulsar.admin.* Pulsar yönetici yapılandırması
pulsar.client.* ve gibi pulsar.client.authPluginClassName kimlik doğrulama seçenekleri de dahil olmak üzere pulsar.client.authParams.
pulsar.reader.* Pulsar okuyucu yapılandırması

Pulsar istemcisi ve yönetici kimlik doğrulaması seçenekleri hakkında daha fazla bilgi için bkz. Kimlik doğrulaması.

Kimlik doğrulama

Azure Databricks, Pulsar'da truststore ve keystore kimlik doğrulamasını destekler. Azure Databricks kimlik doğrulama ayrıntılarını depolamak için gizli dizileri kullanmanızı önerir. Bkz. Gizli yönetim.

Key Varsayılan Geçerli değerler Açıklama
pulsar.client.authPluginClassName None Tam sınıf adı Kimlik doğrulama eklentisinin tam sınıf adı. Örneğin, org.apache.pulsar.client.impl.auth.AuthenticationTls.
pulsar.client.authParams None Kimlik bilgisi dizesi Kimlik doğrulama kimlik bilgileri, kimlik doğrulama eklentisine dize olarak geçirilir. Örneğin, tlsCertFile:/path/to/my-role.cert.pem,tlsKeyFile:/path/to/my-role.key-pk8.pem.
pulsar.client.useKeyStoreTls false true, false olduğunda true, PEM biçimli dosyalar yerine KeyStore tabanlı TLS yapılandırmasını etkinleştirir.
pulsar.client.tlsTrustStoreType None Herhangi bir dize TLS güven deposu dosyasının biçimi. Örneğin, JKS.
pulsar.client.tlsTrustStorePath None Dosya yolu dizesi Güvenilen CA sertifikalarını içeren TLS güven deposu dosyasının yolu. pulsar.client.useKeyStoreTls true olduğunda gereklidir.
pulsar.client.tlsTrustStorePassword None Herhangi bir dize TLS güven deposu dosyasının parolası.

Akış bir PulsarAdminkullanıyorsa, aşağıdaki seçenekleri de ayarlayabilirsiniz:

Key Varsayılan Geçerli değerler Açıklama
pulsar.admin.authPluginClassName None Tam sınıf adı Pulsar yönetici istemcisi için kimlik doğrulama eklentisinin tam sınıf adı.
pulsar.admin.authParams None Kimlik bilgisi dizesi Pulsar yönetici istemcisi kimlik doğrulama eklentisi için kimlik doğrulaması kimlik bilgileri.
pulsar.admin.useTls None true, false Pulsar yönetici istemci bağlantısı için TLS'nin kullanılıp kullanılmaymayacağı.
pulsar.admin.tlsAllowInsecureConnection None true, false Pulsar yönetici istemcisi için güvenli olmayan TLS bağlantılarına izin verilip verilmeyeceği.
pulsar.admin.tlsTrustCertsFilePath None Dosya yolu dizesi Pulsar yönetici istemcisi için güvenilen TLS sertifika dosyasının yolu.
pulsar.admin.useKeyStoreTls None true, false Pulsar yönetici istemcisi için KeyStore tabanlı TLS'nin kullanılıp kullanılmaymayacağı.
pulsar.admin.tlsTrustStoreType None Herhangi bir dize Pulsar yönetici istemcisi için TLS güven deposunun biçimi. Örneğin, JKS.
pulsar.admin.tlsTrustStorePath None Dosya yolu dizesi Pulsar yönetici istemcisi için TLS güven deposu dosyasının yolu. pulsar.admin.useKeyStoreTls true olduğunda gereklidir.
pulsar.admin.tlsTrustStorePassword None Herhangi bir dize Pulsar yönetici istemcisi TLS güven deposunun parolası.

Kimlik doğrulama örnekleri için bkz. Pulsar'da kimlik doğrulaması.

DataFrameWriter seçenekleri

DataFrameWriter.option() ve DataFrameWriterV2.option() ile bu seçenekleri kullanarak Azure Databricks verileri nasıl yazacaklarını denetleyin.

Example

Aşağıdaki örnek, Delta Lake tablosu yazmak için olarak mergeSchema ayarlırTrue:

Python
df.write.format("delta").option("mergeSchema", True).saveAsTable("my_table")
Scala
df.write.format("delta").option("mergeSchema", "true").saveAsTable("my_table")

Avro

Avro dosyaları yazılırken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
avroSchema None JSON şema dizesi JSON dizesi olarak tam Avro şeması. Spark SQL türlerini belirli Avro türlerine dönüştürmek için bu seçeneği kullanın. Avro dosyalarını okuma ve yazma için geçerlidir.
avroSchemaUrl None URL dizesi Avro şema dosyasına işaret eden bir URL. Şema harici olarak depolandığında yerine avroSchema kullanın. avroSchema ile birbirini dışlar. Avro dosyalarını okuma ve yazma için geçerlidir.
compression snappy uncompressed, deflate, snappy (default), , bzip2, xz, zstandard Yazarken kullanılacak sıkıştırma codec bileşeni. Avro dosyalarını okuma ve yazma için geçerlidir.
recordName topLevelRecord Herhangi bir dize Çıkış Avro şemasındaki en üst düzey kayıt adı. Avro dosyalarını okuma ve yazma için geçerlidir.
positionalFieldMatching false true, false Spark şeması ile Avro şeması arasındaki sütunların ada göre değil alan konumuna göre eşleştirilip eşleştirilmeyeceği. Avro dosyalarını okuma ve yazma için geçerlidir.
recordNamespace Boş dize Herhangi bir dize Çıkış Avro şemasındaki en üst düzey kaydın ad alanı. Avro dosyalarını okuma ve yazma için geçerlidir.

Delta Gölü ve Apache Iceberg

Delta Lake ve Apache Iceberg tabloları yazarken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
clusterByAuto false true, false Azure Databricks sorgu desenlerine göre kümeleme sütunlarını seçtiği otomatik sıvı kümelemlerinin etkinleştirilip etkinleştirilmeyeceği. Yalnızca ile mode("overwrite")geçerlidir. Mod ile append kullanılamaz. Databricks Runtime 16.4 ve üzerinde kullanılabilir. Tablolar için sıvı kümeleme kullanma için geçerlidir.
mergeSchema None true, false Yazma işlemi için şema evriminin etkinleştirilip etkinleştirilmeyileceği. Kaynak DataFrame'deki yeni sütunlar hedef tablo şemasına eklenir. Toplu iş ve akış eklemeleri için geçerlidir. Şema evrimi ile tablo şemalarını güncelleştirme için geçerlidir.
overwriteSchema None true, false Üzerine yazılırken tablo şemasının ve bölümlemenin değiştirilip değiştirilmeyeceği. olmadan mode("overwrite")gerektirirreplaceWhere. partitionOverwriteMode ile kullanılamaz. Şema evrimi ile tablo şemalarını güncelleştirme için geçerlidir.
partitionOverwriteMode None static, dynamic Bölüm üzerine yazma modu. Bunu, dynamic yalnızca yeni veri içeren bölümlerin üzerine yazacak şekilde ayarlayın ve diğer tüm bölümleri değiştirmeden bırakın. Sunucusuz işlemde veya Databricks SQL'de desteklenmeyen eski mod. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir.
replaceOn None Boole ifade dizesi Hedef tablodaki satırlarla eşleşen ve yerine kaynak sorgudaki satırlar koyan boole ifadesi. Hem hedef tablodan hem de kaynak sorgudan sütunlara başvurabilir. Hedefteki bir kaynak satırla eşleşen satırlar silinir ve değiştirilir. Kaynak boşsa silme işlemi gerçekleşmez. Sütun başvurularını belirsiz bir şekilde belirtmek için kullanın targetAlias . Databricks Runtime 17.1 ve üzerinde kullanılabilir. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir.
replaceUsing None Sütun adlarının virgülle ayrılmış listesi Hedef tablo ile kaynak sorgu arasındaki satırları eşleştirmek için kullanılan sütun adlarının virgülle ayrılmış listesi. Hem hedef hem de kaynak listelenen tüm sütunları içermelidir. Hedefteki, eşitlik karşılaştırması altındaki bir kaynak satırla eşleşen satırlar silinir ve değiştirilir. NULL değerleri eşit değil olarak değerlendirilir ve eşleşmez. Databricks Runtime 16.3 ve üzerinde kullanılabilir. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir.
replaceWhere None Koşul ifade dizesi Koşul ifadesi. Atomik olarak yalnızca koşulla eşleşen kayıtların üzerine yazar. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir.
targetAlias None Herhangi bir dize Hedef tablo için dize diğer adı. Koşul hem hedef tablodan hem de kaynak sorgudan sütunlara başvurduğunda sütun başvurularını belirsiz bir şekilde belirtmek için veya replaceOn ile replaceWhere kullanın. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir.
txnAppId None Herhangi bir dize İşlemlerde foreachBatch etkili yazma işlemleri için uygulamayı tanımlayan benzersiz bir dize. Birden çok Delta Lake tablosuna tam olarak bir kez yazılmasını sağlamak için ile txnVersion birlikte kullanın. Bir kez etkili tablo yazma işlemleri için kullanma foreachBatchiçin geçerlidir.
txnVersion None Monoton olarak artan bir tamsayı İşlemlerdeki foreachBatch tek etkili yazma işlemleri için işlem sürümü olarak kullanılan monoton olarak artan bir sayı. Birden çok Delta Lake tablosuna tam olarak bir kez yazılmasını sağlamak için ile txnAppId birlikte kullanın. Bir kez etkili tablo yazma işlemleri için kullanma foreachBatchiçin geçerlidir.
optimizeWrite None true, false Bu yazma işlemi için Otomatik Yazma'nın etkinleştirilip etkinleştirilmeyileceği. Yapılandırmayı spark.databricks.delta.optimizeWrite.enabled geçersiz kılar. delta lake Azure Databricks nedir?.
userMetadata None Herhangi bir dize Yazma işlemi için işleme meta verilerine eklenen kullanıcı tanımlı bir dize. çıktısında DESCRIBE HISTORYgörünür. Özel meta verilerle tabloları zenginleştirme için geçerlidir.

CSV

CSV dosyaları yazılırken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
charToEscapeQuoteEscaping \0 (etkin değil) Tek bir karakter Tırnak karakterinden farklı olduğunda kaçış karakterinden kaçmak için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir.
compression none none (default), bzip2, gzip, , lz4, snappy, deflate, zstd Yazarken kullanılacak sıkıştırma codec bileşeni. Csv (DataFrameWriter) için geçerlidir.
dateFormat yyyy-MM-dd Tarih biçimi dizesi Tarih sütunu değerleri için biçim dizesi. Csv (DataFrameWriter) için geçerlidir.
emptyValue Boş dize Herhangi bir dize Boş (null olmayan) değerler için yazılan dize. Csv (DataFrameWriter) için geçerlidir.
encoding UTF-8 Bir java.nio.charset.Charset ad Çıkış dosyalarının karakter kodlaması. Csv (DataFrameWriter) için geçerlidir.
escape \ Tek bir karakter Tırnak içine alınmış değerlerin kaçışı için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir.
escapeQuotes true true, false Tırnak içine alınmış alan değerlerinin içindeki çıkış tırnak işareti karakterleri olup olmadığı. Csv (DataFrameWriter) için geçerlidir.
header false true, false Çıktının ilk satırı olarak sütun adlarının yazılıp yazılmayacağı. Csv (DataFrameWriter) için geçerlidir.
ignoreLeadingWhiteSpace false true, false Yazarken değerlerden önde gelen boşluğun kırpılıp kırpılmayacağı. Csv (DataFrameWriter) için geçerlidir.
ignoreTrailingWhiteSpace false true, false Yazarken değerlerden sondaki boşluğun kırpılıp kırpılmayacağı. Csv (DataFrameWriter) için geçerlidir.
lineSep \n Bir ip Kayıtlar arasında kullanılan satır ayırıcı dizesi. Csv (DataFrameWriter) için geçerlidir.
locale en-US Tanımlayıcı java.util.Locale Bir tanımlayıcı java.util.Locale. CSV içinde varsayılan tarihi, zaman damgasını ve ondalık ayrıştırma işlemini etkileyen bir Java yerel ayarı tanımlanmıştır.
nullValue Boş dize Herhangi bir dize Null değerler için yazılmış dize. Csv (DataFrameWriter) için geçerlidir.
quote " Tek bir karakter Ayırıcıyı içeren alan değerlerini tırnak içine almak için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir.
quoteAll false true, false İçeriklerden bağımsız olarak tüm alan değerlerinin tırnak içine alınıp alınmayacağı. Csv (DataFrameWriter) için geçerlidir.
sep , Bir ip Alan sınırlayıcısı karakteri. Csv (DataFrameWriter) için geçerlidir.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası biçim dizesi Zaman damgası sütun değerlerinin biçim dizesi. Csv (DataFrameWriter) için geçerlidir.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgası biçim dizesi Saat dilimi (TimestampNTZType) sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin.

Excel

Excel dosyaları yazarken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
dataAddress None Sayfa adı veya hücre başvuru dizesi Yazma için sayfa adı veya başlangıç hücresi. Atlanırsa, hücresinde Sheet1başlayan adlı A1 bir sayfaya yazar. Bir sayfa adı (SheetName) veya tek bir hücre başvurusu (SheetName!A1) kabul eder. Hücre aralıkları yazma işlemleri için desteklenmez.
dateFormatInWrite yyyy-mm-dd Excel tarih biçimi dizesi Date sütunlarına uygulanan hücre biçimi dizesini Excel. Excel biçim sözdizimini kullanır.
headerRows 0 0, 1 Sütun adlarının ilk satır olarak yazıp yazılmayacağı.
timestampNTZFormat yyyy-mm-dd hh:mm:ss Excel zaman damgası biçim dizesi TimestampNTZ ve Timestamp sütunlarına uygulanan Excel hücre biçimi dizesi. Excel biçim sözdizimini kullanır.
version xlsx xlsx, xls Yazacak Excel dosya biçimi sürümü.

JSON

JSON dosyaları yazılırken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
compression none none, bzip2, gzip, , lz4, snappy, deflate, zstd Yazarken kullanılacak sıkıştırma codec bileşeni. json (DataFrameWriter) için geçerlidir.
dateFormat yyyy-MM-dd Tarih biçimi dizesi Tarih sütunu değerleri için biçim dizesi. json (DataFrameWriter) için geçerlidir.
encoding UTF-8 Bir java.nio.charset.Charset ad Çıkış dosyalarının karakter kodlaması. json (DataFrameWriter) için geçerlidir.
ignoreNullFields değeri spark.sql.jsonGenerator.ignoreNullFields true, false JSON çıkışından null değerler içeren alanların atlanıp atılmayacağı. json (DataFrameWriter) için geçerlidir.
lineSep \n Bir ip Kayıtlar arasında kullanılan satır ayırıcı dizesi. json (DataFrameWriter) için geçerlidir.
locale en-US Tanımlayıcı java.util.Locale JSON içinde varsayılan tarihi, zaman damgasını ve ondalık ayrıştırma işlemini etkileyen Java yerel ayar tanımlayıcısı.
pretty false true, false Güzel (girintili, çok satırlı) JSON çıkışının etkinleştirilip etkinleştirilmeyileceği.
sortKeys false true, false Çıktıda JSON nesnelerinin anahtarlarını alfabetik olarak sıralayıp sıralamayacağınız. Deterministik çıktı üretmek için kullanışlıdır.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası biçim dizesi Zaman damgası sütun değerlerinin biçim dizesi. json (DataFrameWriter) için geçerlidir.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgası biçim dizesi Saat dilimi (TimestampNTZType) sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin.
writeNonAsciiCharacterAsCodePoint false true, false ASCII olmayan karakterlerin çıkışta sabit UTF-8 karakterleri yerine Unicode kaçış dizileri olarak \uXXXX kodlanıp kodlanmayacağı.

ORC

ORC dosyaları yazılırken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
compression zstd none, uncompressed, snappy, , zlib, lzo, zstd, lz4, brotli Yazarken kullanılacak sıkıştırma codec bileşeni. Orc (DataFrameWriter) için geçerlidir.

Parke

Parquet dosyaları yazılırken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
compression snappy none, uncompressed, snappy, , gzip, lzo, brotli, lz4, lz4_raw, zstd Yazarken kullanılacak sıkıştırma codec bileşeni. Parquet (DataFrameWriter) için geçerlidir.
spark.sql.parquet.outputTimestampType INT96 INT96, TIMESTAMP_MICROS, TIMESTAMP_MILLIS Zaman damgası sütunlarını kodlamak için kullanılan fiziksel tür. Standart zaman damgası türlerini desteklemeyen eski Parquet okuyucularla uyumluluk için kullanın INT96 .

Metin

Metin dosyaları yazılırken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
compression none none, bzip2, gzip, , lz4, snappy, deflate, zstd Yazarken kullanılacak sıkıştırma codec bileşeni. Metne (DataFrameWriter) uygulanır.
encoding UTF-8 Bir java.nio.charset.Charset ad Çıkış dosyalarının karakter kodlaması.
lineSep \n Bir ip Kayıtlar arasında kullanılan satır ayırıcı dizesi. Metne (DataFrameWriter) uygulanır.

XML

XML dosyaları yazılırken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
arrayElementName item Herhangi bir dize Açık adı olmayan dizi öğelerinin öğe adı. Xml (DataFrameWriter) için geçerlidir.
attributePrefix _ Herhangi bir dize Ön ek, XML özniteliklerine karşılık gelen alan adlarına eklenir. Xml (DataFrameWriter) için geçerlidir.
compression none none, bzip2, gzip, , lz4, snappy, deflate, zstd Yazarken kullanılacak sıkıştırma codec bileşeni. Xml (DataFrameWriter) için geçerlidir.
dateFormat yyyy-MM-dd Tarih biçimi dizesi Tarih sütunu değerleri için biçim dizesi. Xml (DataFrameWriter) için geçerlidir.
declaration version="1.0" encoding="UTF-8" standalone="yes" Xml bildirim dizesi veya gizlenecek boş dize Her çıkış dosyasının en üstünde yazılan XML bildirim dizesi. Bildirimi engellemek için boş bir dizeye ayarlayın. Xml (DataFrameWriter) için geçerlidir.
encoding UTF-8 Bir java.nio.charset.Charset ad Çıkış dosyalarının karakter kodlaması. Xml (DataFrameWriter) için geçerlidir.
indent 4 boşluk Herhangi bir dize Çıktıdaki alt öğeleri girintili yapmak için kullanılan dize. Girintiyi kapatmak ve her satırı tek bir satıra yazmak için boş bir dizeye ayarlayın.
locale en-US Tanımlayıcı java.util.Locale XML içindeki varsayılan tarih, zaman damgası ve ondalık biçimlendirmeyi etkileyen Java yerel ayar tanımlayıcısı.
nullValue null Herhangi bir dize Null değerler için yazılan dize. olarak nullayarlandığında, null alanlar için öznitelikler ve alt öğeler atlanır. Xml (DataFrameWriter) için geçerlidir.
rootTag ROWS Herhangi bir dize Çıktıdaki tüm satır öğelerini sarmalayan kök öğe etiketi. Xml (DataFrameWriter) için geçerlidir.
rowTag ROW Herhangi bir dize Çıktıdaki bir satırı temsil eden öğe etiketi. Xml (DataFrameWriter) için geçerlidir.
singleVariantColumn None Sütun adı dizesi XML dosyalarına yazacak tek Variant sütununun adı. Xml (DataFrameWriter) için geçerlidir.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası biçim dizesi Zaman damgası sütun değerlerinin biçim dizesi. Xml (DataFrameWriter) için geçerlidir.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgası biçim dizesi Saat dilimi sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin. Xml (DataFrameWriter) için geçerlidir.
validateName true true, false Sütun adı geçerli bir XML öğesi tanımlayıcısı değilse özel durum oluşturup oluşturmayacağınız. Xml (DataFrameWriter) için geçerlidir.
valueTag _VALUE Herhangi bir dize Öznitelikleri veya alt öğeleri de olan XML öğelerindeki karakter verileri için kullanılan alan adı. Xml (DataFrameWriter) için geçerlidir.

DataStreamWriter seçenekleri

Akış yazmalarını yapılandırmak için ile DataStreamWriter.option() bu seçenekleri kullanın.

Example

Aşağıdaki örnek bir akışın denetim noktası konumunu ayarlar:

Python
(df.writeStream
  .format("delta")
  .option("checkpointLocation", "/path/to/checkpoint")
  .start("/path/to/table"))
Scala
df.writeStream
  .format("delta")
  .option("checkpointLocation", "/path/to/checkpoint")
  .start("/path/to/table")

Ortak

Aşağıdaki seçenekler tüm akış yazma işlemleri için geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
checkpointLocation Yok (gerekli) Yol dizesi Akış sorgusunun denetim noktası dizininin yolu. Hataya dayanıklılık ve tam olarak bir kez işleme garantileri için gereklidir. Her akış sorgusu benzersiz bir denetim noktası konumu kullanmalıdır. Databricks, denetim noktalarının Unity Kataloğu biriminde veya bulut depolama yolunda depolanmasını önerir. Bkz . Yapılandırılmış Akış denetim noktaları.
path None Yol dizesi Parquet gibi dosya tabanlı akış havuzları için çıkış yolu. Yalnızca dosya tabanlı biçimler için geçerlidir.

Konsol havuzu

Konsol havuzuna akış yazarken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
numRows 20 Pozitif tamsayılar Konsol havuzuna yazarken her mikro toplu iş için görüntülenecek satır sayısı.
truncate true true, false Satırları görüntülerken uzun dizelerin kesilip kesilmeymeyeceği. false Tam dize değerlerini göstermek için olarak ayarlayın.

Delta Gölü

kullanarak format("delta")delta lake tablosuna akış yazarken aşağıdaki seçenekler geçerlidir. , ve overwriteSchema gibi replaceWherepartitionOverwriteModeyalnızca üzerine yazma seçenekleri akış yazma işlemleri için desteklenmez.

Key Varsayılan Geçerli değerler Açıklama
mergeSchema false true, false Akış DataFrame yeni sütunlar içerdiğinde Delta Lake tablo şemasının geliştirilip geliştirilmeyeceği. Yalnızca ekleme çıkış modu için geçerlidir. Şema evrimi ile tablo şemalarını güncelleştirme için geçerlidir.
userMetadata None Herhangi bir dize Yazma işlemi için işleme meta verilerine eklenen kullanıcı tanımlı bir dize. çıktısında DESCRIBE HISTORYgörünür. Özel meta verilerle tabloları zenginleştirme için geçerlidir.

Dosya havuzu

Dosya tabanlı biçimlere (Parquet, JSON, CSV, ORC, metin) akış yazarken aşağıdaki seçenek geçerlidir. Biçime özgü seçenekler için bkz. DataFrameWriter seçenekleri.

Key Varsayılan Geçerli değerler Açıklama
retention None veya gibi 7 days bir zaman dizesi 24 hours Hataya dayanıklılık ve sıkıştırma için kullanılan havuz meta veri dosyalarını saklama süresi. Ayarlanmadığında meta veri dosyaları süresiz olarak korunur.

Kafka havuzu

Kafka'ya yazarken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
kafka.bootstrap.servers None Virgülle ayrılmış dize listesi host:port Gerekli. Kafka aracı host:port adreslerinin virgülle ayrılmış listesi.
topic None Herhangi bir dize Tüm satırlar için hedef Kafka konusu. DataFrame bir topic sütun içermiyorsa gereklidir.
kafka.* None Herhangi bir Kafka üretici yapılandırma değeri ön eki ile önekli herhangi bir kafka.. Örneğin, kafka.compression.type.

Bellek havuzu

Bellek havuzuna akış yazarken aşağıdaki seçenekler geçerlidir.

Key Varsayılan Geçerli değerler Açıklama
queryName Yok (gerekli) Herhangi bir dize Sorgunun yazdığı bellek içi tablonun adı. Bellek havuzu için gereklidir. ayrıca aracılığıyla .queryName()da yapılandırılabilir.
mode exactlyonce exactlyonce, atleastonce Bellek havuzu için teslim garantisi. exactlyonce tam olarak bir kez semantiği olan mikro toplu iş modunu kullanır. atleastonce en az bir kez semantik ile sürekli modu kullanır.

Spark işlevi seçenekleri

Bazı Spark SQL yerleşik işlevleri ayrıştırma veya serileştirme davranışını denetleyan bir options haritayı kabul eder. Seçenekleri Python dict veya Scala Map[String, String] olarak geçirin.

Example

Aşağıdaki örnek, hatalı biçimlendirilmiş kayıtları bırakırken JSON sütununu ayrıştırmaktadır:

Python
from pyspark.sql.functions import from_json
from pyspark.sql.types import StructType, StructField, StringType

schema = StructType([StructField("name", StringType())])
df = df.withColumn("parsed", from_json("json_col", schema, {"mode": "DROPMALFORMED"}))
Scala
import org.apache.spark.sql.functions.from_json
import org.apache.spark.sql.types._

val schema = StructType(Seq(StructField("name", StringType)))
val df = df.withColumn("parsed", from_json(col("json_col"), schema, Map("mode" -> "DROPMALFORMED")))

Avro

Avro işlevleri, ilgili DataFrame seçenekleriyle aynı seçenekleri kabul edin:

Example

Aşağıdaki örnek şema evrimi etkin bir Avro sütununun kodunu çözer:

Python
from pyspark.sql.functions import from_avro

df = df.withColumn("decoded", from_avro("avro_col", json_schema, {"avroSchemaEvolutionMode": "restart"}))
Scala
import org.apache.spark.sql.avro.functions.from_avro

val df = df.withColumn("decoded", from_avro(col("avro_col"), jsonSchema, Map("avroSchemaEvolutionMode" -> "restart")))

Buna ek olarak, aşağıdaki seçeneklerin from_avro Schema Registry varyantları ve to_avro kabul eder:

Key Varsayılan Geçerli değerler Açıklama
schemaId None Şema kimliği tamsayısı ile uyumlu olmayan jsonFormatSchemabir şema ile kodlanmış Avro verilerinin kodunu çözerken kullanılacak Confluent Şema Kayıt Defteri'nden şema kimliği. Yalnızca için from_avro geçerlidir.
confluent.schema.registry.* None Herhangi bir Confluent SR istemci özellik değeri Confluent Schema Registry istemci yapılandırma özellikleri. Temel kimlik doğrulaması kimlik bilgileri gibi confluent.schema.registry.basic.auth.user.info bu ön eki kullanarak herhangi bir Confluent SR istemci özelliğini geçirin. ve from_avroşema kayıt defteri değişkenleri to_avro için gereklidir.

CSV

CSV işlevleri, ilgili DataFrame seçenekleriyle aynı seçenekleri kabul edin:

Example

Aşağıdaki örnek, özel ayırıcı ve NULL değerle CSV'yi okur:

Python
from pyspark.sql.functions import from_csv
from pyspark.sql.types import StructType, StructField, IntegerType, StringType

schema = StructType([StructField("id", IntegerType()), StructField("name", StringType())])
df = df.withColumn("parsed", from_csv("csv_col", schema, {"sep": "|", "nullValue": "N/A"}))
Scala
import org.apache.spark.sql.functions.from_csv
import org.apache.spark.sql.types._

val schema = StructType(Seq(StructField("id", IntegerType), StructField("name", StringType)))
val df = df.withColumn("parsed", from_csv(col("csv_col"), schema, Map("sep" -> "|", "nullValue" -> "N/A")))

JSON

JSON işlevleri, ilgili DataFrame seçenekleriyle aynı seçenekleri kabul edin:

Example

Aşağıdaki örnek, alanları yoksayılan ve oldukça biçimlendirme etkin olan NULL JSON yazar:

Python
from pyspark.sql.functions import to_json

df = df.withColumn("json_str", to_json("struct_col", {"pretty": "true", "ignoreNullFields": "true"}))
Scala
import org.apache.spark.sql.functions.to_json

val df = df.withColumn("json_str", to_json(col("struct_col"), Map("pretty" -> "true", "ignoreNullFields" -> "true")))

Protobuf

from_protobuf ve to_protobuf dosya tabanlı datasource kullanmayın. Protobuf verileri her zaman bu işlevler kullanılarak ikili sütunlar olarak okunur ve yazılır. Seçenekler olarak Map[String, String] geçirilir ve büyük/küçük harfe duyarlıdır.

Example

Aşağıdaki örnek PERMISSIVE modunu kullanarak bir Protobuf sütununun kodunu çözer:

Python
from pyspark.sql.functions import from_protobuf

df = df.withColumn("decoded", from_protobuf("proto_col", "MyMessage", "/path/to/descriptor.desc",
    {"mode": "PERMISSIVE", "enums.as.ints": "true"}))
Scala
import org.apache.spark.sql.protobuf.functions.from_protobuf

val df = df.withColumn("decoded", from_protobuf(col("proto_col"), "MyMessage", "/path/to/descriptor.desc",
    Map("mode" -> "PERMISSIVE", "enums.as.ints" -> "true")))

Protobuf işlevleri aşağıdaki seçenekleri kullanır:

Key Varsayılan Geçerli değerler Açıklama
mode FAILFAST FAILFAST, PERMISSIVE Bozuk kayıtları işleme. FAILFAST, özel durum oluşturur: PERMISSIVE hatalı biçimlendirilmiş alanları null olarak ayarlar. için from_protobufgeçerlidir.
recursive.fields.max.depth -1 (devre dışı) 0'dan 10'e Özyinelemeli Protobuf alanları için en fazla özyineleme derinliği. 0 Özyinelemeli alan desteğini kapatmak için olarak ayarlayın. için from_protobufgeçerlidir.
convert.any.fields.to.json false true, false Protobuf Any alanlarının STRUCTyerine bir JSON dizesine dönüştürülip dönüştürülmeyeceği. için from_protobufgeçerlidir.
emit.default.values false true, false Alanların sıfır veya varsayılan değerlerle (proto3 semantiği) yayılıp yayılmayacağı. Olduğunda false, varsayılan değerlere sahip alanlar çıkıştan atlanır. için from_protobufgeçerlidir.
enums.as.ints false true, false Numaralandırma alanlarının dizeler yerine tamsayı değerleri olarak işlenip işlenmeyeceği. için from_protobufgeçerlidir.
upcast.unsigned.ints false true, false Tamsayı taşmasını önlemek için yukarı ve yukarı uint32 yayın Longuint64Decimal(20,0) yapılıp yapılmayacağını. için from_protobufgeçerlidir.
unwrap.primitive.wrapper.types false true, false Sarmalayıcı türlerinin (örneğin, google.protobuf ve Int32Value) ilgili ilkel Spark türlerine açılıp çıkarılmayacağıStringValue. için from_protobufgeçerlidir.
retain.empty.message.types false true, false Sahte bir sütun ekleyerek çıkış şemasında boş Protobuf ileti türlerinin tutulup tutulmayacağı. için from_protobufgeçerlidir.
schema.registry.subject None Herhangi bir dize Şema Kayıt Defteri konu adı. ve from_protobufşema kayıt defteri değişkenlerini to_protobuf kullanırken gereklidir.
schema.registry.address None Dize host:port Şema Kayıt Defteri adresi (konak ve bağlantı noktası). ve from_protobufşema kayıt defteri değişkenlerini to_protobuf kullanırken gereklidir.
schema.registry.protobuf.name None Herhangi bir dize Şema kayıt defteri konusu birden çok ileti içerdiğinde hangi Protobuf iletisinin kullanılacağını belirtir. Optional.
schema.registry.schema.evolution.mode "restart" "restart", "none" Gelen kayıtta daha yeni bir şema kimliği algılandığında şema değişiklikleri nasıl işlenir? "restart" sorguyu ile UnknownFieldExceptionsonlandırır; değişiklikleri alma hatası durumunda işleri yeniden başlatacak şekilde yapılandırın. "none" şema kimliği değişikliklerini yoksayar ve özgün şemayla daha yeni kayıtları ayrıştırıyor.
confluent.schema.registry.<option> Geçerli bir Confluent Schema Registry istemci seçenek değeri ön ekini kullanarak herhangi bir "confluent.schema.registry" seçeneğini geçirin. Örneğin, temel kimlik doğrulamasını yapılandırmak için ve "confluent.schema.registry.basic.auth.credentials.source" olarak ayarlayın "USER_INFO""confluent.schema.registry.basic.auth.user.info"."<KEY>:<SECRET>"

XML

XML işlevleri, karşılık gelen DataFrame seçenekleriyle aynı seçenekleri kabul edin:

Example

Aşağıdaki örnek özel kök ve satır etiketleriyle XML yazar:

Python
from pyspark.sql.functions import to_xml

df = df.withColumn("xml_str", to_xml("struct_col", {"rootTag": "records", "rowTag": "record"}))
Scala
import org.apache.spark.sql.functions.to_xml

val df = df.withColumn("xml_str", to_xml(col("struct_col"), Map("rootTag" -> "records", "rowTag" -> "record")))