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 True ayarlarmultiLine:

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 Açıklama
ignoreCorruptFiles 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) 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 Yalnızca sağlanan 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 Yalnızca sağlanan zaman damgasından önce değişiklik zaman damgasına sahip dosyaları almak için filtre olarak isteğe bağlı bir zaman damgası.
pathGlobFilter veya fileNamePattern None Dosya seçmeye yönelik olası bir glob deseni. PATTERN in (eski) ile COPY INTO eşdeğerdir. fileNamePattern içinde read_fileskullanılabilir.
recursiveFileLookup 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

Key Varsayılan Açıklama
avroSchema None Kullanıcı tarafından Avro formatında sağlanmış 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 Şema kayıt defteri kullanılırken şema evrimi nasıl işlenir? Geçerli değerler: none (şema değişikliklerini yoksayın ve işe devam edin), restart (şema değişiklikleri algılandığında, bir UnknownFieldException oluşturur ve işin yeniden başlatılmasını gerektirir).
datetimeRebaseMode LEGACY Julian ve Proleptik Gregoryen takvimler arasında tarih ve zaman damgası değerlerinin yeniden esas alınmasını denetler. Geçerli değerler: EXCEPTION, LEGACYve CORRECTED.
enableStableIdentifiersForUnionType 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 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 Bozuk kayıtları işlemek için ayrıştırıcı modu. Geçerli değerler: FAILFAST (özel durum oluşturur), PERMISSIVE (hatalı biçimlendirilmiş alanları null olarak ayarlar), DROPMALFORMED (hatalı kayıtları sessizce bırakır).
readerCaseSensitive true 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 Ö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. Geçerli değerler: 0 - 15.
rescuedDataColumn None 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_ olduğunda enableStableIdentifiersForUnionType=truekararlı birleşim türü alan adları için kullanılacak ön ek.

CSV

Key Varsayılan Açıklama
badRecordsPath None Bozuk CSV kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu.
charToEscapeQuoteEscaping \0 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 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 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 dizelerini ayrıştırma formatı.
emptyValue Boş dize Boş bir değerin dize gösterimi.
enableDateTimeParsingFallback 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 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 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 \ Verileri ayrıştırırken kullanılacak kaçış karakteri.
extension csv Beklenen dosya adı uzantısı. Bu uzantıya sahip olmayan dosyalar okuma sırasında filtrelenir.
failOnUnknownFields 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 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 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 Ayrıştırılan her değer için baştaki boşlukların göz ardı edilip edilmeyeceği.
ignoreTrailingWhiteSpace false Ayrıştırılan her değer için sondaki boşlukların göz ardı edilip edilmeyeceği.
inferSchema 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) 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. Geçerli değerler: pozitif tamsayılar.
lineSep Hiçbiri, , \r\nve'yi kapsar \r\n Ardışık iki CSV kaydı arasındaki dize.
locale US Bir tanımlayıcı java.util.Locale. CSV içinde varsayılan tarih, zaman damgası ve ondalık ayrıştırma işlemini etkiler.
maxCharsPerColumn -1 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. Geçerli değerler: pozitif tamsayılar veya -1 sınırsız.
maxColumns 20480 Bir kaydın kaç sütuna sahip olabileceğinin sabit sınırı. Geçerli değerler: pozitif tamsayılar.
mergeSchema 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 Hatalı biçimlendirilmiş kayıtların işlenmesi için ayrıştırıcı modu. Geçerli değerler: PERMISSIVE, DROPMALFORMED, FAILFAST.
multiLine false CSV kayıtlarının birden çok satıra yayılıp yayılmadığı.
nanValue NaN FloatType ve DoubleType sütunları ayrıştırırken sayı olmayan bir değerin dize gösterimi.
negativeInf -Inf FloatType veya DoubleType sütunlarını ayrıştırırken negatif sonsuzluğun dize temsili.
nullValue Boş dize Null değerin dize gösterimi.
parserCaseSensitive (kullanım dışı) 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 FloatType veya DoubleType sütunlarının ayrıştırılması sırasında pozitif sonsuzluğun dize gösterimi.
preferDate true 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 " 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 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 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 , Sütunlar arasında kullanılan ayırıcı dize.
singleVariantColumn None 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 CSV dosyasının başından görmezden gelinmesi gereken satır sayısı (açıklamalı ve boş satırlar dahil). Eğer header doğruysa, başlık atlanmamış ve yorum eklenmemiş ilk satır olacaktır. Geçerli değerler: pozitif tamsayılar veya 0.
timeFormat HH:mm:ss Sütun değerlerini ayrıştırma TimeType biçimi.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası dizelerini ayrıştırma biçimi.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgasını saat dilimi (TimestampNTZType) dizeleri olmadan ayrıştırma biçimi.
timeZone None java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak.
unescapedQuoteHandling STOP_AT_DELIMITER Kaçışsız tırnak işaretlerini işleme stratejisi. İzin verilen seçenekler:
  • 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

Key Varsayılan Açıklama
dataAddress None 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, "C5:H10" ilk sayfadan bir aralığı okumak veya "SheetName" belirli bir sayfadaki tüm verileri okumak için kullanın"SheetName!C5:H10".
headerRows 0 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ı , , _c2_c3vb. olarak otomatik olarak _c1oluşturulur. Geçerli değerler: 0, 1.
ignoreMissingSheet 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. Geçerli değerler: true, false.
includePhoneticRuns false XLSX dosyalarını okurken hücre dizesi değerleriyle birleştirilmiş fonetik ek açıklamaların (pinyin veya furigana gibi) eklenip eklenmeyeceği. Geçerli değerler: true, false.
operation readSheet Excel çalışma kitabında gerçekleştirilecek işlem. Geçerli değerler: readSheet (bir sayfadan verileri okur), listSheets (alanlar sheetIndex: long içeren ve sheetName: String her sayfa için bir yapı döndürür).
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] 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 olarak Dateokunan dize değerleri için özel biçim dizesi. Özel tarih biçimleri Tarih saat desenleri'ndeki biçimleri izler.

JSON

Key Varsayılan Açıklama
allowBackslashEscapingAnyCharacter 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 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 Bir sayı olmayan (NaN) belirteç kümesinin yasal kayan sayı değerleri olarak izin verilip verilmeyeceği.
allowNumericLeadingZeros false İntegral sayıların ek (yoksayılabilir) sıfırlarla başlamasına izin verilip verilmeyeceği (örneğin, 000001).
allowSingleQuotes true 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 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 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 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 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 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 dizelerini ayrıştırma formatı.
dropFieldIfAllNull 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 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 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, , \r\nve'yi kapsar \r\n Ardışık iki JSON kaydı arasındaki dize.
locale US Bir tanımlayıcı java.util.Locale. JSON içinde varsayılan tarih, zaman damgası ve ondalık ayrıştırma işlemini etkiler.
maxNestingDepth 500 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. Geçerli değerler: pozitif tamsayılar.
maxNumLen 1000 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. Geçerli değerler: pozitif tamsayılar.
maxStringLen Sınırsız 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. Geçerli değerler: pozitif tamsayılar.
mode PERMISSIVE Hatalı biçimlendirilmiş kayıtların işlenmesi için ayrıştırıcı modu. Geçerli değerler: PERMISSIVE, DROPMALFORMED, FAILFAST.
multiLine false JSON kayıtlarının birden çok satıra yayılıp yayılmadığı.
prefersDecimal 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 Sayilar ve booleanlar gibi ilkel türlerin StringType olarak yorumlanıp yorumlanmayacağı.
readerCaseSensitive true 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 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 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. Geçerli değerler: herhangi bir dize.
timestampFormat yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] Zaman damgası dizelerini ayrıştırma biçimi.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Zaman damgasını saat dilimi (TimestampNTZType) dizeleri olmadan ayrıştırma biçimi.
timeZone None java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak.
upgradeExceptionAsBadRecord 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 Açıklama
endingOffsets latest Okumayı nerede durduracağınız. Geçerli değerler: latestveya gibi {"topicA":{"0":50,"1":-1}}her bölüm için bir JSON uzaklık dizesi.
JSON dizesinde en -1 son uzaklıktır. -2, en erken uzaklıktır, bitiş uzaklığı olarak izin verilmez.
endingOffsetsByTimestamp None Milisaniye cinsinden zaman damgaları olarak belirtilen bölüm başına bitiş uzaklıkları. Geçerli değerler: her bölüm için zaman damgalarının JSON dizesi, örneğin {"topicA":{"0":2000,"1":3000}}.
endingTimestamp None Tüm bölümlere uygulanan milisaniye cinsinden genel bitiş zaman damgası. Geçerli değerler: negatif olmayan tamsayılar.

ORC

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

Parke

Key Varsayılan Açıklama
datetimeRebaseMode LEGACY Julian ve Proleptik Gregoryen takvimler arasında tarih ve zaman damgası değerlerinin yeniden esas alınmasını denetler. Geçerli değerler: EXCEPTION, LEGACYve CORRECTED.
int96RebaseMode LEGACY Jülyen ve Proleptik Gregoryen takvimleri arasında INT96 zaman damgası değerlerinin yeniden düzenlenmesini kontrol eder. Geçerli değerler: EXCEPTION, LEGACYve CORRECTED.
mergeSchema false Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği.
readerCaseSensitive true 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 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 read_statestore tablo değerli işleviyle spark.read.format("statestore") bu seçenekleri kullanın. Bkz. Yapılandırılmış Akış durumu bilgilerini okuyun.

Key Varsayılan Açıklama
batchId En son toplu iş kimliği Okunacak hedef toplu iş. Sorgunun önceki bir durumunu sorgulamak için kullanın. Toplu işlem gerçekleştirilmelidir ancak henüz temizlenmemelidir. Geçerli değerler: negatif olmayan tamsayılar.
operatorId 0 Okunacak hedef işleç. Sorguda durum bilgisi olan birden çok işleç olduğunda kullanın. Geçerli değerler: negatif olmayan tamsayılar.
storeName DEFAULT 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 joinSide belirtmeniz gerekir, ancak ikisini birden belirtmemelisinizstoreName. Geçerli değerler: herhangi bir dize.
joinSide None Akış akışı birleşimi için okunacak hedef taraf. Akış akışı birleştirme için veya joinSide belirtmeniz gerekir, ancak ikisini birden belirtmemelisinizstoreName. Geçerli değerler: left, right.
snapshotStartBatchId None 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. Geçerli değerler: negatif olmayan tamsayılar.
snapshotPartitionId None Belirtilirse, sorgu yalnızca bu bölümü okur. ile snapshotStartBatchIdbirlikte belirtilmelidir. ile readChangeFeedkullanılamaz. Databricks Runtime 15.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: negatif olmayan tamsayılar.
readChangeFeed false olduğundatrue, ile changeEndBatchIdarasında changeStartBatchId belirtilen bir toplu iş aralığındaki durum değişikliklerini döndürür. gerektirir changeStartBatchId. , , batchIdsnapshotStartBatchIdveya snapshotPartitionIdile joinSidekullanılamaz. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: true, false.
Ayrıntılar için bkz. Yapılandırılmış Akış durumu değişikliklerini okuma.
changeStartBatchId None Değişiklik akışı aralığı için başlangıç toplu iş kimliği. readChangeFeed true olduğunda gereklidir. Yalnızca olarak ayarlandığında truegeçerlidirreadChangeFeed. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: negatif olmayan tamsayılar.
changeEndBatchId En son toplu iş kimliği 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 truegeçerlidirreadChangeFeed. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: negatif olmayan tamsayılar.
stateVarName None 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. Geçerli değerler: herhangi bir dize.
readRegisteredTimers 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. Geçerli değerler: true, false.
flattenCollectionTypes true 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. Geçerli değerler: true, false.

Metin

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

XML

Key Varsayılan Açıklama
rowTag None Satır olarak işlem yapmak için ele alınacak XML dosyalarının satır etiketi. Örnek XML'de <books> <book><book>...<books>, uygun değer şeklindedir book. Bu gerekli bir seçenektir.
samplingRatio 1.0 Ş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. Geçerli değerler: 0.0 - 1.0.
excludeAttribute false Öğelerdeki özniteliklerin dışlanıp dışlanmaymayacağı.
mode None 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 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 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 Ö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 Ö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 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 Çevresindeki değerlerin atlanması gereken boşluklar olup olmadığı. Yalnızca boşluktan oluşan karakter verileri yoksayılır.
rowValidationXSDPath None 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, sağlanan veya çıkarılmış olsun şemayı başka şekilde etkilemez.
ignoreNamespace 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] 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 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 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 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 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 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 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 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. Bu seçenek yazmak için sağlanmışsa, tek Variant sütununun değerini XML dosyalarına yazın. DataFrameWriter XML seçenekleri için de geçerlidir.
useLegacyXMLParser true 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 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 10 ayarlarmaxFilesPerTrigger:

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 Açıklama
cleanSource off Kaynak dosyalar akış tarafından işlendikten sonra nasıl işlenir? Geçerli değerler: off (eylem yok), delete (kaynak dosyayı kalıcı olarak silin) archive (şuraya sourceArchiveDirtaşı). olarak ayarlandığında archivesourceArchiveDir da ayarlanmalıdır. Delta Lake tablo akışı için geçerli değildir.
fileNameOnly 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 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 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. Geçerli değerler: pozitif tamsayılar.
Otomatik Yükleyici için bunun yerine kullanın cloudFiles.maxBytesPerTrigger . Bkz. Ortak.
maxCachedFiles 10000 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. Geçerli değerler: pozitif tamsayılar veya 0.
maxFileAge 7d 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. veya 4hgibi 7d süre dizelerini kabul eder. 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. 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. Geçerli değerler: pozitif tamsayılar.
Otomatik Yükleyici için bunun yerine kullanın cloudFiles.maxFilesPerTrigger . Bkz. Ortak.
sourceArchiveDir None olarak ayarlandığında archivearşiv dizininin cleanSource 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

Otomatik Yükleyici'yicloudFiles 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 Yapılandırılmış Akış kaynağı seçeneklerinden ayrı bir ad alanında tutmak için ön eke cloudFiles sahiptir.

Ortak

Key Varsayılan Açıklama
cloudFiles.allowOverwrites 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 Otomatik Yükleyici belirli bir aralıkta zaman uyumsuz geri doldurmaları tetikleyebilir. Örneğin, günlük olarak geri doldurmak için 1 day veya haftalık olarak geri doldurmak için 1 week. Daha fazla bilgi için bkz. cloudFiles.backfillInterval kullanarak normal geri doldurmaları tetikleme.
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın.
cloudFiles.cleanSource OFF İşlenen dosyaların giriş dizininden otomatik olarak silinip silinmeyeceği. (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 İş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.
Değer bir CalendarInterval dizesidir. Örneğin, "14 days", "30 days", "2 weeks"veya "1 month".
Databricks Runtime 16.4 ve üzerinde kullanılabilir.
cloudFiles.cleanSource.moveDestination None 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) Kaynak yoldaki veri dosyası biçimi. Geçerli değerler şunlardır:
cloudFiles.includeExistingFiles true 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 Ş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 Her tetikleyicide işlenecek yeni bayt sayısı üst sınırı. Her mikrobatch değerini 10 GB veriyle sınırlamak için 10g gibi bir bayt dizesi belirtebilirsiniz. Bu geçici bir maksimum değerdir. Her birinde 3 GB olan dosyalarınız varsa, Azure Databricks bir mikrobatch içinde 12 GB işler. 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 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 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 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üklemek için öğesini sağlıyorsanız <base-path> bu sütunlar şemanıza otomatik olarak eklenir. Bir şema sağlarsanız, 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 sağlanmadığında, none aksi takdirde 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 çıkarımı sırasında Otomatik Yükleyici'ye sağladığınız şema bilgileri. Daha fazla ayrıntı için şema ipuçlarına bakın.
cloudFiles.schemaLocation Yok (şemayı çıkarsamak için gereklidir) Çıkarsanan şemayı ve sonraki değişiklikleri depolama konumu. Daha fazla ayrıntı için bkz . şema çıkarımı .
cloudFiles.useStrictGlobber 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 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

Key Varsayılan Description
cloudFiles.useIncrementalListing (kullanım dışı) auto Databricks Runtime 17.2 ve altında, false Databricks Runtime 17.3 ve üzeri üzerinde 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.
Kullanılabilir değerler: auto, true, false

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 Description
cloudFiles.fetchParallelism 1 Kuyruğa alma hizmetinden ileti getirirken kullanılacak iş parçacığı sayısı.
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın.
cloudFiles.pathRewrites None 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 İ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")
AWS hakkında daha fazla bilgi için Amazon SQS maliyet ayırma etiketleri ve Amazon SNS konusu için etiketleri yapılandırma konularına bakın. (1)
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. (1)
GCP hakkında daha fazla bilgi için Etiketlerle kullanımı raporlama bölümüne bakın. (1)
cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın. Bunun yerine bulut sağlayıcısı konsolunu kullanarak kaynak etiketlerini ayarlayın.
cloudFiles.useManagedFileEvents 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 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 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.

(1) Otomatik Yükleyici varsayılan olarak en iyi çaba temelinde aşağıdaki anahtar-değer etiket ç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.

Buluta özgü

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

AWS

Aşağıdaki seçenekleri yalnızca cloudFiles.useNotifications = true seçerseniz ve Auto Loader'ın bildirim hizmetlerini sizin için ayarlamasını istiyorsanız belirtin:

Key Varsayılan Description
cloudFiles.region EC2 örneğinin bölgesi Kaynak S3 demetinin bulunduğu ve AWS SNS ve SQS hizmetlerini oluşturmak istediğiniz bölge.
Key Varsayılan Description
cloudFiles.restrictNotificationSetupToSameAWSAccountId false Yalnızca SNS konusuyla aynı hesapta AWS S3 demetlerinden olay bildirimlerine izin verin. Doğru olduğunda, Otomatik Yükleyici yalnızca SNS konusuyla aynı hesaptaki AWS S3 demetlerinden gelen olay bildirimlerini kabul eder.
false olduğunda, erişim politikası hesaplar arası bucket ve SNS konu yapılandırmalarını kısıtlamaz. Bu, SNS başlığı ile bucket yolu farklı hesaplarla ilişkilendirildiğinde kullanışlıdır.
Databricks Runtime 17.2 ve üzerinde kullanılabilir.

Önceden ayarlamış olduğunuz bir kuyruğun otomatik yükleyici tarafından kullanılmasını istiyorsanız ve cloudFiles.useNotifications = true seçeneğini seçerseniz, aşağıdaki seçeneği belirtin:

Key Varsayılan Description
cloudFiles.queueUrl None SQS kuyruğunun URL'si. Sağlanırsa, Otomatik Yükleyici kendi AWS SNS ve SQS hizmetlerini ayarlamak yerine bu kuyruktan gelen olayları doğrudan kullanır.

AWS kimlik doğrulama seçenekleri

Databricks hizmeti kimlik bilgilerini kullanmak için aşağıdaki kimlik doğrulama seçeneğini belirtin:

Key Varsayılan Description
databricks.serviceCredential None Databricks hizmet kimlik bilgilerinizin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir.

Databricks hizmeti kimlik bilgileri veya IAM rolleri kullanılamadığında, bunun yerine aşağıdaki kimlik doğrulama seçeneklerini sağlayabilirsiniz:

Key Varsayılan Description
cloudFiles.awsAccessKey None Kullanıcının AWS erişim anahtarı kimliği. ile cloudFiles.awsSecretKeysağlanmalıdır.
cloudFiles.awsSecretKey None Kullanıcının AWS gizli erişim anahtarı. ile cloudFiles.awsAccessKeysağlanmalıdır.
cloudFiles.roleArn None Gerektiğinde üstlenmek üzere bir IAM rolünün ARN'si. Rol, kümenizin örnek profilinden varsayılabilir veya cloudFiles.awsAccessKey ve cloudFiles.awsSecretKey ile kimlik bilgileri sağlanarak varsayılabilir.
cloudFiles.roleExternalId None cloudFiles.roleArn kullanarak bir rolü üstlenirken sağlamanız gereken bir tanımlayıcı.
cloudFiles.roleSessionName None Bir rol üstlenirken cloudFiles.roleArn kullanılarak kullanılacak isteğe bağlı oturum adı.
cloudFiles.stsEndpoint None Bir rol üstlenilirken cloudFiles.roleArn kullanarak AWS STS'ye erişim sağlamak amacıyla isteğe bağlı bir uç nokta.
Azure

Belirttiğinizde ve Otomatik Yükleyici'nin bildirim hizmetlerini sizin için ayarlamasını istiyorsanız aşağıdaki seçeneklerin cloudFiles.useNotifications = true tümü için değerler sağlamanız gerekir:

Key Varsayılan Description
cloudFiles.resourceGroup None Depolama hesabının oluşturulduğu Azure Kaynak Grubu.
cloudFiles.subscriptionId None Kaynak grubunun oluşturulduğu Azure Abonelik Kimliği.
databricks.serviceCredential None 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 sağlayabilirsiniz:

Key Varsayılan Description
cloudFiles.clientId None Hizmet sorumlusunun istemci kimliği veya uygulama kimliği.
cloudFiles.clientSecret None Hizmet prensibinin istemci gizli anahtarı.
cloudFiles.connectionString None 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 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 Description
cloudFiles.queueName None Azure kuyruğunun adı. Verildiği takdirde, bulut dosyaları kaynağı, kendi Azure Event Grid ve Kuyruk Depolama hizmetlerini kurmak yerine doğrudan bu kuyruktan gelen olayları işler. Bu durumda, databricks.serviceCredential veya cloudFiles.connectionString yalnızca kuyrukta okuma izni gerektirir.
GCP

Otomatik Yükleyici, Databrickshizmet kimlik bilgilerini kullanarak bildirim hizmetlerini sizin için otomatik olarak ayarlayabilir. Databricks hizmeti kimlik bilgileriyle oluşturulan hizmet hesabı, Otomatik Yükleyici akışlarını dosya bildirim modunda yapılandırma bölümünde belirtilen izinleri gerektirir.

Key Varsayılan Description
cloudFiles.projectId None GCS demetinin bulunduğu projenin kimliği. Google Cloud Pub/Sub aboneliği de bu proje içinde oluşturulur.
databricks.serviceCredential None Databricks hizmet kimlik bilgilerinizin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir.

Databricks hizmeti kimlik bilgileri kullanılamıyorsa, Google Hizmet Hesapları'nı doğrudan kullanabilirsiniz. Google hizmet kurulumu izleyerek kümenizi bir hizmet hesabı varsayacak şekilde yapılandırabilir veya doğrudan aşağıdaki kimlik doğrulama seçeneklerini sağlayabilirsiniz:

Key Varsayılan Açıklama
cloudFiles.client None Google Hizmet Hesabının istemci kimliği.
cloudFiles.clientEmail None Google Hizmet Hesabının e-posta adresi.
cloudFiles.privateKey None Google Hizmet Hesabı için oluşturulan özel anahtar.
cloudFiles.privateKeyId None Google Hizmet Hesabı için oluşturulan özel anahtarın kimliği.

Önceden ayarlamış olduğunuz bir kuyruğun otomatik yükleyici tarafından kullanılmasını istiyorsanız ve cloudFiles.useNotifications = true seçeneğini seçerseniz, aşağıdaki seçeneği belirtin:

Key Varsayılan Açıklama
cloudFiles.subscription None Google Cloud Pub/Sub aboneliğinin adı. Eğer sağlanırsa, bulut dosya kaynağı bu kuyruktan gelen bu etkinlikleri kullanır, kendi GCS Bildirimini ve Google Cloud Pub/Sub hizmetlerini ayarlamak yerine.

Delta Gölü

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

Key Varsayılan Açıklama
allowSourceColumnDrop None 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 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 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 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 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 Databricks Runtime 11.3 LTS ve altında kullanılabilir. , MERGE INTO, DELETEveya OVERWRITEgibi UPDATEdeğ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 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 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'te Delta Lake değişiklik veri akışını kullanma.
schemaTrackingLocation None 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 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 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.
Geçerli değerler: gibi "2019-01-01T00:00:00.000Z" bir zaman damgası dizesi veya gibi "2019-01-01"bir tarih dizesi.
startingVersion En son mevcut 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 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.read.format("kafka")ile spark.readStream.format("kafka") bu seçenekleri kullanın:

Key Varsayılan Açıklama
assign None Kullanılacak belirli bölümler. , veya assign seçeneklerinden subscribesubscribePatterntam olarak birini belirtmeniz gerekir. Geçerli değerler: gibi {"topicA":[0,1],"topicB":[2,4]}bir JSON dizesi.
failOnDataLoss true Ö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. Geçerli değerler: true, false.
Databricks, verilerin kaybolup kaybolmayabileceğini büyük ölçüde tahmin eder. Ancak, bu hatalı alarmlara neden olabilir.
fetchoffset.numretries 3 Kafka uzaklıkları getirilirken yeniden deneme sayısı başarısız oluyor. Geçerli değerler: negatif olmayan tamsayılar.
fetchoffset.retryintervalms 1000 Uzaklık getirme yeniden denemeleri arasındaki milisaniye cinsinden aralık. Geçerli değerler: negatif olmayan tamsayılar.
groupIdPrefix spark-kafka-source (akış), spark-kafka-relation (toplu iş) 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. Geçerli değerler: herhangi bir dize.
includeHeaders false Kafka ileti üst bilgilerinin çıkışa sütun olarak eklenip eklenmeyeceği. Geçerli değerler: true, false.
kafkaconsumer.polltimeoutms None Kafka tüketici poll() çağrısı için milisaniye cinsinden zaman aşımı. Geçerli değerler: pozitif tamsayılar.
kafka.bootstrap.servers None 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 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. Geçerli değerler: pozitif tamsayı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 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. Geçerli değerler: pozitif tamsayılar.
Bu seçenek, ssl ile performansı etkileyebilecek her tetikleyici için Kafka tüketicilerini yeniden başlatır.
startingOffsets latest (akış), earliest (toplu iş) Sorgunun okuma işleminin başladığı uzaklık. Geçerli değerler: earliest, latestveya gibi {"topicA":{"0":23,"1":-2}}her bölüm için bir JSON uzaklık dizesi. JSON dizesinde en -1 son uzaklıktır. -2 en erken uzaklıktır.
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 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. Geçerli değerler: her bölüm için zaman damgalarının JSON dizesi, örneğin {"topicA":{"0":1000,"1":2000}}.
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 veya startingTimestampiçinde startingOffsetsByTimestamp belirtilen bir zaman damgası için uzaklık bulunamadığında kullanılacak strateji. Geçerli değerler: error (bir özel durum oluşturur), latest (kullanılabilir en son uzaklığı kullanır).
startingTimestamp None 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. Geçerli değerler: negatif olmayan tamsayılar.
subscribe None Abone olunacak konular. , veya assign seçeneklerinden subscribesubscribePatterntam olarak birini belirtmeniz gerekir. Geçerli değerler: Konu adlarının virgülle ayrılmış listesi.
subscribePattern None Konulara abone olmak için kullanılan desen. , veya assign seçeneklerinden subscribesubscribePatterntam olarak birini belirtmeniz gerekir. Örneğin, topic.*. Geçerli değerler: herhangi bir Java regex dizesi.

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

Key Varsayılan Açıklama
bytesEstimateWindowLength 300s Ölçümün kalan baytlarını tahmin etmek için estimatedTotalBytesBehindLatest kullanılan zaman penceresi. Geçerli değerler: veya 600sgibi 10m süre dizeleri. Bkz. Kafka ölçümlerini alma.
maxOffsetsPerTrigger None 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. Geçerli değerler: pozitif tamsayılar.
maxTriggerDelay 15m Tetiklemeden önce birikmesi için beklenmesi gereken minOffsetsPerTrigger en uzun süre. Geçerli değerler: veya 600sgibi 10m süre dizeleri.
minOffsetsPerTrigger None 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. Geçerli değerler: pozitif tamsayılar.

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

Kafka istemcisi (kafka.*) ve kimlik doğrulama seçenekleri için bkz. Seçenekler.

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 True ayarlırmergeSchema:

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

Avro

Key Varsayılan Açıklama
avroSchema None 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 dosyası için geçerlidir.
avroSchemaUrl None Avro şema dosyasına işaret eden bir URL. Şema harici olarak depolandığında yerine avroSchema kullanın. avroSchema ile birbirini dışlar. Avro dosyası için geçerlidir.
compression snappy Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: uncompressed, deflate, snappy, bzip2, , xz. zstandard Avro dosyası için geçerlidir.
recordName topLevelRecord Çıkış Avro şemasındaki en üst düzey kayıt adı. Avro dosyası için geçerlidir.
positionalFieldMatching 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 dosyası için geçerlidir.
recordNamespace Boş dize Çıkış Avro şemasındaki en üst düzey kaydın ad alanı. Avro dosyası için geçerlidir.

Delta Gölü ve Apache Iceberg

Key Varsayılan Açıklama
clusterByAuto 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 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. Tablo şemasını güncelleştirme için geçerlidir.
overwriteSchema None Ü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. Tablo şemasını güncelleştirme için geçerlidir.
partitionOverwriteMode None 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. Geçerli değerler: static, dynamic. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir.
replaceOn None 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 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 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 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 replaceWhere ile replaceOn kullanın. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir.
txnAppId None İş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 İş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 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 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

Key Varsayılan Açıklama
charToEscapeQuoteEscaping \0 (etkin değil) Tırnak karakterinden farklı olduğunda kaçış karakterinden kaçmak için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir.
compression none Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, bzip2, gzip, lz4, snappy, deflate, zstd. Csv (DataFrameWriter) için geçerlidir.
dateFormat yyyy-MM-dd Tarih sütunu değerleri için biçim dizesi. Csv (DataFrameWriter) için geçerlidir.
emptyValue Boş dize Boş (null olmayan) değerler için yazılan dize. Csv (DataFrameWriter) için geçerlidir.
encoding UTF-8 Çıkış dosyalarının karakter kodlaması. Csv (DataFrameWriter) için geçerlidir.
escape \ Tırnak içine alınmış değerlerin kaçışı için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir.
escapeQuotes true 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 Çı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 Yazarken değerlerden önde gelen boşluğun kırpılıp kırpılmayacağı. Csv (DataFrameWriter) için geçerlidir.
ignoreTrailingWhiteSpace false Yazarken değerlerden sondaki boşluğun kırpılıp kırpılmayacağı. Csv (DataFrameWriter) için geçerlidir.
lineSep \n Kayıtlar arasında kullanılan satır ayırıcı dizesi. Csv (DataFrameWriter) için geçerlidir.
locale en-US Bir tanımlayıcı java.util.Locale. Yazarken tarih ve zaman damgası değerlerinin biçimlendirmesini etkiler.
nullValue Boş dize Null değerler için yazılmış dize. Csv (DataFrameWriter) için geçerlidir.
quote " 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 İç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 , 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ı sütun değerlerinin biçim dizesi. Csv (DataFrameWriter) için geçerlidir.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Saat dilimi (TimestampNTZType) sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin.

Excel

Key Varsayılan Açıklama
dataAddress None Yazma için sayfa adı veya başlangıç hücresi. Atlanırsa, hücresinde A1başlayan adlı Sheet1 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 Date sütunlarına uygulanan hücre biçimi dizesini Excel. Excel biçim sözdizimini kullanır.
headerRows 0 Sütun adlarının ilk satır olarak yazıp yazılmayacağı. Geçerli değerler: 0, 1.
timestampNTZFormat yyyy-mm-dd hh:mm:ss TimestampNTZ ve Timestamp sütunlarına uygulanan Excel hücre biçimi dizesi. Excel biçim sözdizimini kullanır.
version xlsx Yazacak Excel dosya biçimi sürümü. Geçerli değerler: xlsx, xls.

JSON

Key Varsayılan Açıklama
compression none Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, bzip2, gzip, lz4, snappy, deflate, zstd. json (DataFrameWriter) için geçerlidir.
dateFormat yyyy-MM-dd Tarih sütunu değerleri için biçim dizesi. json (DataFrameWriter) için geçerlidir.
encoding UTF-8 Çıkış dosyalarının karakter kodlaması. json (DataFrameWriter) için geçerlidir.
ignoreNullFields değeri spark.sql.jsonGenerator.ignoreNullFields JSON çıkışından null değerler içeren alanların atlanıp atılmayacağı. json (DataFrameWriter) için geçerlidir.
lineSep \n Kayıtlar arasında kullanılan satır ayırıcı dizesi. json (DataFrameWriter) için geçerlidir.
locale en-US Bir tanımlayıcı java.util.Locale. Yazarken tarih ve zaman damgası değerlerinin biçimlendirmesini etkiler.
pretty false Güzel (girintili, çok satırlı) JSON çıkışının etkinleştirilip etkinleştirilmeyileceği.
sortKeys 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ı sütun değerlerinin biçim dizesi. json (DataFrameWriter) için geçerlidir.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Saat dilimi (TimestampNTZType) sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin.
writeNonAsciiCharacterAsCodePoint false ASCII olmayan karakterlerin çıkışta sabit UTF-8 karakterleri yerine Unicode kaçış dizileri olarak \uXXXX kodlanıp kodlanmayacağı.

ORC

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

Parke

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

Metin

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

XML

Key Varsayılan Açıklama
arrayElementName item Açık adı olmayan dizi öğelerinin öğe adı. Xml (DataFrameWriter) için geçerlidir.
attributePrefix _ Ön ek, XML özniteliklerine karşılık gelen alan adlarına eklenir. Xml (DataFrameWriter) için geçerlidir.
compression none Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, bzip2, gzip, lz4, snappy, deflate, zstd. Xml (DataFrameWriter) için geçerlidir.
dateFormat yyyy-MM-dd 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" 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 Çıkış dosyalarının karakter kodlaması. Xml (DataFrameWriter) için geçerlidir.
indent 4 boşluk Çı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 Bir tanımlayıcı java.util.Locale. Yazarken tarih ve zaman damgası değerlerinin biçimlendirmesini etkiler.
nullValue null 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 Çıktıdaki tüm satır öğelerini sarmalayan kök öğe etiketi. Xml (DataFrameWriter) için geçerlidir.
rowTag ROW Çıktıdaki bir satırı temsil eden öğe etiketi. Xml (DataFrameWriter) için geçerlidir.
singleVariantColumn None 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ı sütun değerlerinin biçim dizesi. Xml (DataFrameWriter) için geçerlidir.
timestampNTZFormat yyyy-MM-dd'T'HH:mm:ss[.SSS] Saat dilimi sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin. Xml (DataFrameWriter) için geçerlidir.
validateName true 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 Ö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

Key Varsayılan Açıklama
checkpointLocation Yok (gerekli) 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 Parquet gibi dosya tabanlı akış havuzları için çıkış yolu. Yalnızca dosya tabanlı biçimler için geçerlidir.

Konsol havuzu

Key Varsayılan Açıklama
numRows 20 Konsol havuzuna yazarken her mikro toplu iş için görüntülenecek satır sayısı.
truncate true 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 partitionOverwriteMode gibi overwriteSchemareplaceWhereyalnızca üzerine yazma seçenekleri akış yazma işlemleri için desteklenmez.

Key Varsayılan Açıklama
mergeSchema 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. Tablo şemasını güncelleştirme için geçerlidir.
userMetadata None 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 Açıklama
retention None Hataya dayanıklılık ve sıkıştırma için kullanılan havuz meta veri dosyalarını saklama süresi. veya 24 hoursgibi 7 days bir zaman dizesi kabul eder. Ayarlanmadığında meta veri dosyaları süresiz olarak korunur.

Kafka havuzu

Kafka'ya akış yazmaya yönelik seçeneklerin tam listesi için bkz. Seçenekler.

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

Bellek havuzu

Key Varsayılan Açıklama
queryName Yok (gerekli) 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 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. Geçerli değerler: exactlyonce, atleastonce.

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 Açıklama
schemaId None 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 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 to_avroşema kayıt defteri değişkenleri from_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 Açıklama
mode FAILFAST Bozuk kayıtları işleme. FAILFAST, özel durum oluşturur: PERMISSIVE hatalı biçimlendirilmiş alanları null olarak ayarlar. Geçerli değerler: FAILFAST, PERMISSIVE. için from_protobufgeçerlidir.
recursive.fields.max.depth -1 (devre dışı) Özyinelemeli Protobuf alanları için en fazla özyineleme derinliği. 0 Özyinelemeli alan desteğini kapatmak için olarak ayarlayın. Geçerli değerler: 0 - 10. için from_protobufgeçerlidir.
convert.any.fields.to.json 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 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 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 Tamsayı taşmasını önlemek için yukarı ve yukarı Decimal(20,0) yayın uint32Longuint64 yapılıp yapılmayacağını. için from_protobufgeçerlidir.
unwrap.primitive.wrapper.types false Sarmalayıcı türlerinin (örneğin, Int32Value ve StringValue) ilgili ilkel Spark türlerine açılıp çıkarılmayacağıgoogle.protobuf. için from_protobufgeçerlidir.
retain.empty.message.types 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 Şema Kayıt Defteri konu adı. ve to_protobufşema kayıt defteri değişkenlerini from_protobuf kullanırken gereklidir.
schema.registry.address None Şema Kayıt Defteri adresi (konak ve bağlantı noktası). ve to_protobufşema kayıt defteri değişkenlerini from_protobuf kullanırken gereklidir.
schema.registry.protobuf.name None Şema kayıt defteri konusu birden çok ileti içerdiğinde hangi Protobuf iletisinin kullanılacağını belirtir. Optional.

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")))