Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfada, 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 ]
|
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:
|
Excel
Excel dosyaları okurken aşağıdaki seçenekler geçerlidir.
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:
|
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.
|
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:
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:
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.csvcloudFiles.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.
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:
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. |
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:
-
from_avroveschema_of_avroDataFrameReader Avro seçeneklerini kullanın. -
to_avroDataFrameWriter Avro seçeneklerini kullanır.
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:
-
from_csvveschema_of_csvDataFrameReader CSV seçeneklerini kullanın. -
to_csvDataFrameWriter CSV seçeneklerini kullanır.
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:
-
from_jsonveschema_of_jsonDataFrameReader JSON seçeneklerini kullanın. -
to_jsonDataFrameWriter JSON seçeneklerini kullanır.
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:
XML
XML işlevleri, karşılık gelen DataFrame seçenekleriyle aynı seçenekleri kabul edin:
-
from_xmlveschema_of_xmlDataFrameReader XML seçeneklerini kullanın. -
to_xmlDataFrameWriter XML seçeneklerini kullanır.
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")))