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 True ayarlarmultiLine:
Python
df = spark.read.format("json").option("multiLine", True).load("/path/to/data")
Scala
val df = spark.read.format("json").option("multiLine", "true").load("/path/to/data")
SQL
SELECT * FROM read_files("/path/to/data", format => "json", multiLine => true)
Ortak
Aşağıdaki seçenekler tüm dosya biçimleri için geçerlidir.
| Key | Varsayılan | Açıklama |
|---|---|---|
ignoreCorruptFiles |
false |
Bozuk dosyaların görmezden gelinmesi gerekip gerekmediği. True ise, Bozuk dosyalarla karşılaşıldığında Spark işleri çalışmaya devam eder ve okunan içerik yine döndürülür. içinCOPY INTO, Delta Lake geçmişinin numSkippedCorruptFiles sütununda olduğu gibi operationMetrics atlanan bozuk dosyaları gözlemleyebilirsiniz. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir. |
ignoreMissingFiles |
false Otomatik Yükleyici için, true için COPY INTO (eski) |
Eksik dosyaların göz ardı edilip edilmeyeceği. Doğruysa, Spark işleri eksik dosyalarla karşılaşıldığında çalışmaya devam ediyor ve içerik döndürülmeye devam ediyor. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir. |
modifiedAfter |
None | Yalnızca sağlanan zaman damgasından sonra değişiklik zaman damgasına sahip dosyaları almak için filtre olarak isteğe bağlı bir zaman damgası. |
modifiedBefore |
None | Yalnızca sağlanan zaman damgasından önce değişiklik zaman damgasına sahip dosyaları almak için filtre olarak isteğe bağlı bir zaman damgası. |
pathGlobFilter veya fileNamePattern |
None | Dosya seçmeye yönelik olası bir glob deseni.
PATTERN in (eski) ile COPY INTO eşdeğerdir.
fileNamePattern içinde read_fileskullanılabilir. |
recursiveFileLookup |
false |
olduğunda true, adları gibi date=2019-07-01bir bölüm adlandırma düzenini izlemese bile bu seçenek iç içe geçmiş dizinlerde arama yapar. |
Avro
| Key | Varsayılan | Açıklama |
|---|---|---|
avroSchema |
None | Kullanıcı tarafından Avro formatında sağlanmış isteğe bağlı şema. Avro okunurken, bu seçenek uyumlu ancak gerçek Avro şemasından farklı olan gelişmiş bir şemaya ayarlanabilir. Seri durumdan çıkarma şeması, geliştirilen şemayla tutarlıdır. Örneğin, varsayılan değere sahip bir sütun daha içeren gelişmiş bir şema ayarlarsanız, okuma sonucu yeni sütunu da içerir. |
avroSchemaEvolutionMode |
none |
Şema kayıt defteri kullanılırken şema evrimi nasıl işlenir? Geçerli değerler: none (şema değişikliklerini yoksayın ve işe devam edin), restart (şema değişiklikleri algılandığında, bir UnknownFieldException oluşturur ve işin yeniden başlatılmasını gerektirir). |
datetimeRebaseMode |
LEGACY |
Julian ve Proleptik Gregoryen takvimler arasında tarih ve zaman damgası değerlerinin yeniden esas alınmasını denetler. Geçerli değerler: EXCEPTION, LEGACYve CORRECTED. |
enableStableIdentifiersForUnionType |
false |
Avro Birliği türleri için kararlı alan adlarının kullanılıp kullanılmaymayacağı. Etkinleştirildiğinde, birleşim türü alan adları kendi tür adlarından küçük harfle türetilir (örneğin, , member_intmember_string). Küçük harfe geçtikten sonra iki tür adı aynıysa bir özel durum oluşturur. |
mergeSchema |
false |
Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği.
mergeSchema Avro, veri türlerini gevşetmez. |
mode |
FAILFAST |
Bozuk kayıtları işlemek için ayrıştırıcı modu. Geçerli değerler: FAILFAST (özel durum oluşturur), PERMISSIVE (hatalı biçimlendirilmiş alanları null olarak ayarlar), DROPMALFORMED (hatalı kayıtları sessizce bırakır). |
readerCaseSensitive |
true |
Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun. |
recursiveFieldMaxDepth |
None | Özyinelemeli Avro alanları için en fazla özyineleme derinliği.
1 Tüm özyinelemeli alanları kesecek, 2 bir özyineleme düzeyine izin verecek şekilde, vb. için 15olarak ayarlayın. veya 0ayarını kaldırdığınızda özyinelemeli alanlara izin verilmez. Geçerli değerler: 0 - 15. |
rescuedDataColumn |
None | Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir.COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir.Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın. |
stableIdentifierPrefixForUnionType |
member_ |
olduğunda enableStableIdentifiersForUnionType=truekararlı birleşim türü alan adları için kullanılacak ön ek. |
CSV
| Key | Varsayılan | Açıklama |
|---|---|---|
badRecordsPath |
None | Bozuk CSV kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu. |
charToEscapeQuoteEscaping |
\0 |
Alıntı işaretlerinden kaçmak için kullanılan karakteri kaçırmak amacıyla kullanılan karakter. Örneğin, aşağıdaki kayıt için: [ " a\\", b ]
|
columnNameOfCorruptRecord |
_corrupt_record |
Otomatik Yükleyici desteklenmektedir.
COPY INTO (eski sistem) için destek sağlanmamaktadır.Hatalı biçimlendirilmiş ve ayrıştırılamayan kayıtları depolama sütunu. Ayrıştırma için modeDROPMALFORMEDolarak ayarlanırsa, bu sütun boş olur. |
comment |
\0 |
Metin satırının başında bulunduğunda satır açıklamasını temsil eden karakteri tanımlar. Açıklama atlama özelliğini devre dışı bırakmak için kullanın '\0' . |
dateFormat |
yyyy-MM-dd |
Tarih dizelerini ayrıştırma formatı. |
emptyValue |
Boş dize | Boş bir değerin dize gösterimi. |
enableDateTimeParsingFallback |
false |
Bir değer belirtilen biçimle ayrıştırılamıyorsa eski tarih ve zaman damgası ayrıştırma davranışına geri dönüp dönmeyeceğiniz. olduğunda false, ayrıştırma hataları bir hata oluşturur veya bağlı modeolarak null üretir. |
encoding veya charset |
UTF-8 |
CSV dosyalarının kodlama adı. Seçenekler listesi için bkz java.nio.charset.Charset .
UTF-16 ve UTF-32 olduğunda multilinetruekullanılamaz. |
enforceSchema |
true |
Belirtilen veya çıkarsanan şemanın CSV dosyalarına zorla uygulanıp uygulanmayacağı. Seçenek etkinleştirilirse, CSV dosyalarının üst bilgileri göz ardı edilir. Verileri kurtarmak ve şema evrimine izin vermek için Otomatik Yükleyici kullanılırken bu seçenek varsayılan olarak yoksayılır. |
escape |
\ |
Verileri ayrıştırırken kullanılacak kaçış karakteri. |
extension |
csv |
Beklenen dosya adı uzantısı. Bu uzantıya sahip olmayan dosyalar okuma sırasında filtrelenir. |
failOnUnknownFields |
false |
CSV kaydı şemada sütun içermediğinde başarısız olup olmayacağı. olduğunda false, tanınmayan sütunlar öğesine bağlı olarak rescuedDataColumnsessizce bırakılır veya kurtarılır. |
failOnWidenedFields |
false |
Alan değeri genişletilmeden bildirilen şema türü olarak ayrıştırılamadıklarında başarısız olup olmayacağı. olduğunda false, türü genişletilen değerler öğesine bağlı olarak rescuedDataColumnsessizce kurtarılır. Ayar failOnUnknownFields=true , bu seçeneğin etkilerini maskeleyebilir. |
header |
false |
CSV dosyalarının üst bilgi içerip içermediği. Auto Loader, şemayı çıkarırken dosyaların üst bilgileri olduğunu varsayar. |
ignoreLeadingWhiteSpace |
false |
Ayrıştırılan her değer için baştaki boşlukların göz ardı edilip edilmeyeceği. |
ignoreTrailingWhiteSpace |
false |
Ayrıştırılan her değer için sondaki boşlukların göz ardı edilip edilmeyeceği. |
inferSchema |
false |
Ayrıştırılan CSV kayıtlarının veri türlerinin çıkarılması mı yoksa tüm sütunların StringType olduğu varsayımı mı yapılacağı.
true olarak ayarlanırsa, veriler üzerinde ek bir geçiş gerektirir. Otomatik Yükleyici için bunun yerine kullanın cloudFiles.inferColumnTypes . |
inputBufferSize |
1048576 (1 MB) |
CSV ayrıştırıcısının bayt cinsinden arabellek boyutu. Büyük CSV dosyalarını ayrıştırırken bellek kullanımını ayarlamak için kullanışlıdır. Geçerli değerler: pozitif tamsayılar. |
lineSep |
Hiçbiri, , \r\nve'yi kapsar \r\n |
Ardışık iki CSV kaydı arasındaki dize. |
locale |
US |
Bir tanımlayıcı java.util.Locale. CSV içinde varsayılan tarih, zaman damgası ve ondalık ayrıştırma işlemini etkiler. |
maxCharsPerColumn |
-1 |
Ayrıştırmak için bir değerden beklenen karakter sayısı üst sınırı. Bellek hatalarını önlemek için kullanılabilir. Varsayılan değer -1 olup sınırsız anlamına gelir. Geçerli değerler: pozitif tamsayılar veya -1 sınırsız. |
maxColumns |
20480 |
Bir kaydın kaç sütuna sahip olabileceğinin sabit sınırı. Geçerli değerler: pozitif tamsayılar. |
mergeSchema |
false |
Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği. Şema çıkarıldığında Otomatik Yükleyici için varsayılan olarak etkindir. |
mode |
PERMISSIVE |
Hatalı biçimlendirilmiş kayıtların işlenmesi için ayrıştırıcı modu. Geçerli değerler: PERMISSIVE, DROPMALFORMED, FAILFAST. |
multiLine |
false |
CSV kayıtlarının birden çok satıra yayılıp yayılmadığı. |
nanValue |
NaN |
FloatType ve DoubleType sütunları ayrıştırırken sayı olmayan bir değerin dize gösterimi. |
negativeInf |
-Inf |
FloatType veya DoubleType sütunlarını ayrıştırırken negatif sonsuzluğun dize temsili. |
nullValue |
Boş dize | Null değerin dize gösterimi. |
parserCaseSensitive (kullanım dışı) |
false |
Dosyalar okunurken, başlıkta belirtilen sütunların şemayla büyük küçük harf duyarlı olarak hizalanıp hizalanmayacağına karar verilmesi. Bu, Otomatik Yükleyici için varsayılan olarakdır true . Büyük/küçük harfe göre farklılık gösteren sütunlar, etkinleştirilirse rescuedDataColumn dosyasında kurtarılacaktır. Bu seçenek, readerCaseSensitive lehine kullanım dışı bırakılmıştır. |
positiveInf |
Inf |
FloatType veya DoubleType sütunlarının ayrıştırılması sırasında pozitif sonsuzluğun dize gösterimi. |
preferDate |
true |
Mümkün olduğunda dizeleri zaman damgası yerine tarih olarak yorumlama girişiminde bulunur. Ayrıca, Otomatik Yükleyici'yi etkinleştirerek inferSchema veya kullanarak şema çıkarımı kullanmanız cloudFiles.inferColumnTypes gerekir. |
quote |
" |
Alan sınırlayıcısının değerin bir parçası olduğu değerlerden kaçış için kullanılan karakter. |
readerCaseSensitive |
true |
Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun. |
rescuedDataColumn |
None | Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir. |
sep veya delimiter |
, |
Sütunlar arasında kullanılan ayırıcı dize. |
singleVariantColumn |
None | Bir sütun adına ayarlandığında, her alanı kendi sütununa ayrıştırmak yerine CSV kaydının tamamını bu ada sahip tek VariantType bir sütuna okur. gerektirir header=true. |
skipRows |
0 |
CSV dosyasının başından görmezden gelinmesi gereken satır sayısı (açıklamalı ve boş satırlar dahil). Eğer header doğruysa, başlık atlanmamış ve yorum eklenmemiş ilk satır olacaktır. Geçerli değerler: pozitif tamsayılar veya 0. |
timeFormat |
HH:mm:ss |
Sütun değerlerini ayrıştırma TimeType biçimi. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Zaman damgası dizelerini ayrıştırma biçimi. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Zaman damgasını saat dilimi (TimestampNTZType) dizeleri olmadan ayrıştırma biçimi. |
timeZone |
None |
java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak. |
unescapedQuoteHandling |
STOP_AT_DELIMITER |
Kaçışsız tırnak işaretlerini işleme stratejisi. İzin verilen seçenekler:
|
Excel
JSON
| Key | Varsayılan | Açıklama |
|---|---|---|
allowBackslashEscapingAnyCharacter |
false |
Ters eğik çizginin başarılı olan herhangi bir karakterden kaçmasına izin verilip verilmeyeceği. Etkinleştirilmemişse, yalnızca JSON spesifikasyonunda açıkça listelenen karakterlerden kaçılabilir. |
allowComments |
false |
Ayrıştırılmış içerik içinde Java, C ve C++ stil açıklamalarının ('/', '*'ve '//' çeşitlerinin) kullanılmasına izin verilip verilmeyeceği. |
allowNonNumericNumbers |
true |
Bir sayı olmayan (NaN) belirteç kümesinin yasal kayan sayı değerleri olarak izin verilip verilmeyeceği. |
allowNumericLeadingZeros |
false |
İntegral sayıların ek (yoksayılabilir) sıfırlarla başlamasına izin verilip verilmeyeceği (örneğin, 000001). |
allowSingleQuotes |
true |
Dizeleri (adlar ve Dize değerleri) alıntılama için tek tırnak (kesme işareti, karakter '\') kullanımına izin verilip verilmeyeceği. |
allowUnquotedControlChars |
false |
JSON dizelerinin, sekme ve satır besleme karakterleri dahil olmak üzere ASCII değeri 32'den küçük kaçışsız denetim karakterleri içermesine izin verilip verilmeyeceği. |
allowUnquotedFieldNames |
false |
JavaScript tarafından izin verilen ancak JSON belirtimine göre izin verilmeyen alan adlarının kullanılmasına izin verilip verilmeyeceği. |
alternateVariantEncoding |
None | Kaynak JSON'daki Değişken değerleri için kullanılan kodlama.
Z85 Satır içi JSON olarak depolanmak yerine Base85 ile kodlanmış Varyant değerlerinin kodunu çözmek için olarak ayarlayın. |
badRecordsPath |
None | Hatalı JSON kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu.badRecordsPath Dosya tabanlı veri kaynağında seçeneğinin kullanılması aşağıdaki sınırlamalara sahiptir:
|
columnNameOfCorruptRecord |
_corrupt_record |
Hatalı biçimlendirilmiş ve ayrıştırılamayan kayıtları depolama sütunu. Ayrıştırma için modeDROPMALFORMEDolarak ayarlanırsa, bu sütun boş olur. |
dateFormat |
yyyy-MM-dd |
Tarih dizelerini ayrıştırma formatı. |
dropFieldIfAllNull |
false |
Şema çıkarımı sırasında tümü null olan değerler veya boş diziler ve yapılar içeren sütunların göz ardı edilip edilmeyeceği. |
encoding veya charset |
UTF-8 |
JSON dosyalarının kodlama adı. Seçeneklerin listesi için bkz java.nio.charset.Charset .
UTF-16
UTF-32 olduğunda multiline ve true kullanamazsınız. |
inferTimestamp |
false |
Zaman damgası dizelerinin TimestampType olarak çıkarılıp çıkarılmayacağının denenmesi. olarak trueayarlandığında, şema çıkarımı önemli ölçüde daha uzun sürebilir.
cloudFiles.inferColumnTypes'ı Otomatik Yükleyici ile kullanmak için etkinleştirmeniz gerekir. |
lineSep |
Hiçbiri, , \r\nve'yi kapsar \r\n |
Ardışık iki JSON kaydı arasındaki dize. |
locale |
US |
Bir tanımlayıcı java.util.Locale. JSON içinde varsayılan tarih, zaman damgası ve ondalık ayrıştırma işlemini etkiler. |
maxNestingDepth |
500 |
JSON nesneleri ve dizileri için izin verilen iç içe yerleştirme derinliği üst sınırı. İç içe yerleştirilmiş belgeler için bu değeri artırın. Geçerli değerler: pozitif tamsayılar. |
maxNumLen |
1000 |
JSON girişindeki en fazla sayı belirteci uzunluğu. Büyük sayısal değişmez değerlerle JSON için bu değeri artırın. Geçerli değerler: pozitif tamsayılar. |
maxStringLen |
Sınırsız | JSON girişindeki dize değerlerinin uzunluk üst sınırı. Büyük dizelerle JSON ayrıştırırken bellek kullanımını sınırlamak için ayarlayın. Geçerli değerler: pozitif tamsayılar. |
mode |
PERMISSIVE |
Hatalı biçimlendirilmiş kayıtların işlenmesi için ayrıştırıcı modu. Geçerli değerler: PERMISSIVE, DROPMALFORMED, FAILFAST. |
multiLine |
false |
JSON kayıtlarının birden çok satıra yayılıp yayılmadığı. |
prefersDecimal |
false |
Mümkün olduğunda, kayan veya çift tür yerine dizeleri DecimalType olarak yorumlamaya çalışır. Ayrıca, Otomatik Yükleyici'yi etkinleştirerek inferSchema veya kullanarak şema çıkarımı kullanmanız cloudFiles.inferColumnTypes gerekir. |
primitivesAsString |
false |
Sayilar ve booleanlar gibi ilkel türlerin StringType olarak yorumlanıp yorumlanmayacağı. |
readerCaseSensitive |
true |
Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun. Databricks Runtime 13.3 ve üzerinde kullanılabilir. |
rescuedDataColumn |
None | Veri türü uyuşmazlığı veya şema uyuşmazlığı (sütun kasası dahil) nedeniyle ayrıştırılmayan tüm verilerin ayrı bir sütuna toplanıp toplanmayacağı. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Diğer ayrıntılar için kurtarılan veri sütunu nedir? konusuna bakın.COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir. |
singleVariantColumn |
None | JSON belgesinin tamamının alınıp alınmayacağı, sütunun adı olarak belirtilen dizeye sahip tek bir Variant sütununa ayrıştırılır. Ayarlanmamışsa, JSON alanları kendi sütunlarına alınır. Geçerli değerler: herhangi bir dize. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Zaman damgası dizelerini ayrıştırma biçimi. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Zaman damgasını saat dilimi (TimestampNTZType) dizeleri olmadan ayrıştırma biçimi. |
timeZone |
None |
java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak. |
upgradeExceptionAsBadRecord |
false |
Tür yükseltme özel durumlarının (örneğin, bir değer bildirilen sütun türüne genişletilemediğinde) özel durum oluşturmak yerine hatalı kayıtlar olarak ele alınıp alınmayacağı. |
Kafka
Kafka okuyucu seçeneklerinin tam listesi için bkz. DataStreamReader Kafka seçenekleri. Aşağıdaki seçenekler yalnızca kullanılarak spark.read.format("kafka")toplu okuma işlemleri için geçerlidir.
| Key | Varsayılan | Açıklama |
|---|---|---|
endingOffsets |
latest |
Okumayı nerede durduracağınız. Geçerli değerler: latestveya gibi {"topicA":{"0":50,"1":-1}}her bölüm için bir JSON uzaklık dizesi.JSON dizesinde en -1 son uzaklıktır.
-2, en erken uzaklıktır, bitiş uzaklığı olarak izin verilmez. |
endingOffsetsByTimestamp |
None | Milisaniye cinsinden zaman damgaları olarak belirtilen bölüm başına bitiş uzaklıkları. Geçerli değerler: her bölüm için zaman damgalarının JSON dizesi, örneğin {"topicA":{"0":2000,"1":3000}}. |
endingTimestamp |
None | Tüm bölümlere uygulanan milisaniye cinsinden genel bitiş zaman damgası. Geçerli değerler: negatif olmayan tamsayılar. |
ORC
| Key | Varsayılan | Açıklama |
|---|---|---|
mergeSchema |
false |
Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği. |
Parke
| Key | Varsayılan | Açıklama |
|---|---|---|
datetimeRebaseMode |
LEGACY |
Julian ve Proleptik Gregoryen takvimler arasında tarih ve zaman damgası değerlerinin yeniden esas alınmasını denetler. Geçerli değerler: EXCEPTION, LEGACYve CORRECTED. |
int96RebaseMode |
LEGACY |
Jülyen ve Proleptik Gregoryen takvimleri arasında INT96 zaman damgası değerlerinin yeniden düzenlenmesini kontrol eder. Geçerli değerler: EXCEPTION, LEGACYve CORRECTED. |
mergeSchema |
false |
Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği. |
readerCaseSensitive |
true |
Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun. |
rescuedDataColumn |
None | Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir. |
Durum deposu
Yapılandırılmış Akış durumu verilerini okumak için veya read_statestore tablo değerli işleviyle spark.read.format("statestore") bu seçenekleri kullanın. Bkz. Yapılandırılmış Akış durumu bilgilerini okuyun.
| Key | Varsayılan | Açıklama |
|---|---|---|
batchId |
En son toplu iş kimliği | Okunacak hedef toplu iş. Sorgunun önceki bir durumunu sorgulamak için kullanın. Toplu işlem gerçekleştirilmelidir ancak henüz temizlenmemelidir. Geçerli değerler: negatif olmayan tamsayılar. |
operatorId |
0 |
Okunacak hedef işleç. Sorguda durum bilgisi olan birden çok işleç olduğunda kullanın. Geçerli değerler: negatif olmayan tamsayılar. |
storeName |
DEFAULT |
Okunacak hedef durum deposu adı. Durum bilgisi olan işlecin birden çok durum deposu örneği olduğunda kullanın. Akış akışı birleştirme için veya joinSide belirtmeniz gerekir, ancak ikisini birden belirtmemelisinizstoreName. Geçerli değerler: herhangi bir dize. |
joinSide |
None | Akış akışı birleşimi için okunacak hedef taraf. Akış akışı birleştirme için veya joinSide belirtmeniz gerekir, ancak ikisini birden belirtmemelisinizstoreName. Geçerli değerler: left, right. |
snapshotStartBatchId |
None | Durumu okurken başlangıç noktası olarak kullanılacak anlık görüntünün toplu iş kimliği. Okuyucu, bu anlık görüntüdeki değişiklikleri olana kadar batchIdyeniden yürüterek durumu yeniden oluşturur. Anlık görüntü bozulduğunda kullanışlıdır. ile snapshotPartitionIdbirlikte belirtilmelidir. ile readChangeFeedkullanılamaz. HDFS destekli durum deposunu ve değişiklik günlüğü denetim noktası oluşturmanın etkinleştirildiği RocksDB durum deposunu destekler. Databricks Runtime 15.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: negatif olmayan tamsayılar. |
snapshotPartitionId |
None | Belirtilirse, sorgu yalnızca bu bölümü okur. ile snapshotStartBatchIdbirlikte belirtilmelidir. ile readChangeFeedkullanılamaz. Databricks Runtime 15.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: negatif olmayan tamsayılar. |
readChangeFeed |
false |
olduğundatrue, ile changeEndBatchIdarasında changeStartBatchId belirtilen bir toplu iş aralığındaki durum değişikliklerini döndürür. gerektirir changeStartBatchId. , , batchIdsnapshotStartBatchIdveya snapshotPartitionIdile joinSidekullanılamaz. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: true, false.Ayrıntılar için bkz. Yapılandırılmış Akış durumu değişikliklerini okuma. |
changeStartBatchId |
None | Değişiklik akışı aralığı için başlangıç toplu iş kimliği.
readChangeFeed
true olduğunda gereklidir. Yalnızca olarak ayarlandığında truegeçerlidirreadChangeFeed. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: negatif olmayan tamsayılar. |
changeEndBatchId |
En son toplu iş kimliği | Değişiklik akışı aralığının bitiş toplu iş kimliği. değerinden büyük veya eşit changeStartBatchIdolmalıdır. Yalnızca olarak ayarlandığında truegeçerlidirreadChangeFeed. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: negatif olmayan tamsayılar. |
stateVarName |
None | Okunacak durum değişkeni adı. Durum değişkeni adı, işleç tarafından kullanılan işlevinin initStatefulProcessor içindeki her değişkenin transformWithState benzersiz adıdır. işlecini transformWithState kullanırken gereklidir. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: herhangi bir dize. |
readRegisteredTimers |
false |
olduğunda true, işleç tarafından transformWithState kullanılan kayıtlı zamanlayıcıları okur. Yalnızca işleç için transformWithState geçerlidir. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: true, false. |
flattenCollectionTypes |
true |
olduğunda true, eşleme ve liste durumu değişkenleri için döndürülen kayıtları düzleştirme. olduğunda false, kayıtları Spark SQL Array veya Mapolarak döndürür. Yalnızca işleç için transformWithState geçerlidir. Databricks Runtime 16.4 LTS ve üzerinde kullanılabilir. Geçerli değerler: true, false. |
Metin
| Key | Varsayılan | Açıklama |
|---|---|---|
encoding |
UTF-8 |
Metin dosyası satır ayırıcısının kodlama adı. Seçeneklerin listesi için bkz java.nio.charset.Charset. . Dosyanın içeriği bu seçenekten etkilenmez ve as-isokunur. |
lineSep |
Hiçbiri, ve'yi \r\n kapsar \r\n |
Ardışık iki TEXT kaydı arasındaki bir dize. |
wholeText |
false |
Bir dosyanın tek bir kayıt olarak okunup okunmayacağı. |
XML
| Key | Varsayılan | Açıklama |
|---|---|---|
rowTag |
None | Satır olarak işlem yapmak için ele alınacak XML dosyalarının satır etiketi. Örnek XML'de <books> <book><book>...<books>, uygun değer şeklindedir book. Bu gerekli bir seçenektir. |
samplingRatio |
1.0 |
Şema çıkarımı için kullanılan satırların bir bölümünü tanımlar. XML yerleşik işlevleri bu seçeneği yoksayar. Geçerli değerler: 0.0 - 1.0. |
excludeAttribute |
false |
Öğelerdeki özniteliklerin dışlanıp dışlanmaymayacağı. |
mode |
None | Ayrıştırma sırasında bozuk kayıtlarla ilgilenme modu.
PERMISSIVE: Bozuk kayıtlar için, hatalı biçimlendirilmiş dizeyi columnNameOfCorruptRecord tarafından yapılandırılan bir alana yerleştirir ve hatalı biçimlendirilmiş alanları null olarak ayarlar. Bozuk kayıtları tutmak için, kullanıcı tanımlı şemada string adlı columnNameOfCorruptRecord bir tür alanı ayarlayabilirsiniz. Bir şemada alan yoksa, ayrıştırma sırasında bozuk kayıtlar bırakılır. Bir şema çıkarıldığında, ayrıştırıcı, bir çıkış şemasına örtük olarak columnNameOfCorruptRecord alanı ekler.
DROPMALFORMED: Bozuk kayıtları yoksayar. Bu mod, XML yerleşik işlevleri için desteklenmez.
FAILFAST: Ayrıştırıcı bozuk kayıtlarla karşılaştığında bir istisna oluşturur. |
inferSchema |
true |
Eğer true ise, her bir elde edilen DataFrame sütunu için uygun bir tür çıkarsamaya çalışır. Eğer false ise, elde edilen tüm sütunlar string türündedir. XML yerleşik işlevleri bu seçeneği yoksayar. |
columnNameOfCorruptRecord |
spark.sql.columnNameOfCorruptRecord |
Mod tarafından PERMISSIVE oluşturulan hatalı biçimlendirilmiş bir dize içeren yeni alanın yeniden adlandırılmasına izin verir. |
attributePrefix |
None | Öznitelikleri öğelerden ayırt etmek için özniteliklere yönelik ön ek. Bu, alan adları için ön ek olacaktır. Varsayılan _ değeridir. XML okumak için boş olabilir, ancak yazmak için boş olamaz.
DataFrameWriter XML seçenekleri için de geçerlidir. |
valueTag |
_VALUE |
Öznitelikleri veya alt öğeleri de olan öğelerdeki karakter verileri için kullanılan etiket. Kullanıcı şemadaki valueTag alanını belirtebilir veya diğer öğeler veya özniteliklere sahip öğelerde karakter verileri bulunduğunda şema çıkarımı sırasında otomatik olarak eklenir.
DataFrameWriter XML seçenekleri için de geçerlidir. |
encoding |
UTF-8 |
Okuma için XML dosyalarını verilen kodlama türüne göre çözer. Yazmak için, kaydedilen XML dosyalarının kodlamasını (karakter kümesi) belirtir. XML yerleşik işlevleri bu seçeneği yoksayar. DataFrameWriter XML seçenekleri için de geçerlidir. |
ignoreSurroundingSpaces |
true |
Çevresindeki değerlerin atlanması gereken boşluklar olup olmadığı. Yalnızca boşluktan oluşan karakter verileri yoksayılır. |
rowValidationXSDPath |
None | Her satırın XML'sini ayrı ayrı doğrulamak için kullanılan isteğe bağlı bir XSD dosyasının yolu. Doğrulanemeyen satırlar ayrıştırma hataları gibi değerlendirilir. XSD, sağlanan veya çıkarılmış olsun şemayı başka şekilde etkilemez. |
ignoreNamespace |
false |
Eğer true, XML öğeleri ve özniteliklerindeki ad alanlarının ön ekleri yoksayılır. Etiketler <abc:author> ve <def:author>, örneğin, her ikisi de yalnızca <author>olarak değerlendirilir.
rowTag öğesindeki ad alanları göz ardı edilemez, yalnızca okunmuş alt öğeleri göz ardı edilebilir. XML ayrıştırma, false olsa bile ad alanı duyarlı değildir. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Datetime desenini izleyen özel zaman damgası biçim dizesi. Bu tür için timestamp geçerlidir.
DataFrameWriter XML seçenekleri için de geçerlidir. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Zaman dilimi içermeyen zaman damgası için tarih ve saat deseni biçimine uygun özel biçim dizesi. Bu, TimestampNTZType türü için geçerlidir. DataFrameWriter XML seçenekleri için de geçerlidir. |
dateFormat |
yyyy-MM-dd |
Datetime pattern biçimini izleyen özel tarih formatı dizesi. Bu, tarih türü için geçerlidir. DataFrameWriter XML seçenekleri için de geçerlidir. |
locale |
en-US |
Yerel ayarı IETF BCP 47 biçiminde bir dil etiketi olarak ayarlar. Örneğin, locale tarihler ve zaman damgaları ayrıştırılırken kullanılır. |
nullValue |
dize null |
Null değerin dize gösterimini ayarlar. Bu olduğunda null, çözümleyici alanlar için öznitelikler ve öğeler oluşturmaz.
DataFrameWriter XML seçenekleri için de geçerlidir. |
readerCaseSensitive |
true |
rescuedDataColumn etkinleştirildiğinde büyük/küçük harf duyarlılığı davranışını açıklar. True ise, adları şemadan büyük/küçük harfe göre farklılık gösteren veri sütunlarını kurtarın. False olduğunda, verileri büyük/küçük harfe duyarsız bir şekilde okuyun. |
rescuedDataColumn |
None | Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf kullanımı dahil) nedeniyle ayrıştırılamayan tüm verilerin ayrı bir sütunda toplanması gerekip gerekmediği. Bu sütun, Otomatik Yükleyici kullanılırken varsayılan olarak eklenir. Daha fazla ayrıntı için bkz. Kurtarılan veri sütunu nedir?.
COPY INTO (eski), COPY INTOkullanarak şemayı el ile ayarlayamadığınızdan kurtarılan veri sütununu desteklemez. Databricks, çoğu alım senaryosu için Otomatik Yükleyici'nin kullanılmasını önerir. |
singleVariantColumn |
none |
Tek değişkenli sütunun adını belirtir. Okuma için bu seçenek belirtilirse, xml kaydının tamamını tek bir Variant sütununa ayrıştırın ve verilen seçenek dizesi değeri sütunun adı olarak belirtin. Bu seçenek yazmak için sağlanmışsa, tek Variant sütununun değerini XML dosyalarına yazın. DataFrameWriter XML seçenekleri için de geçerlidir. |
useLegacyXMLParser |
true |
Eski XML ayrıştırıcısının kullanılıp kullanılmaymayacağı. Eski ayrıştırıcı, hatalı biçimlendirilmiş içerik için daha az sıkı doğrulamaya sahiptir, ancak bellek açısından daha az verimlidir.
false Daha katı varsayılan ayrıştırıcıyı kabul etmek için olarak ayarlayın. |
wildcardColName |
xs_any |
Joker karakter (xs:any) şema öğesiyle eşleşen XML öğelerini yakalamak için kullanılan sütun adı. ile rescuedDataColumnbirlikte kullanılamaz. |
DataStreamReader seçenekleri
Delta Lake tablolarından ve diğer dosya tabanlı kaynaklardan akış okumalarını yapılandırmak için ile DataStreamReader.option() bu seçenekleri kullanın.
Dosya biçimi seçenekleri (JSON, CSV, Parquet ve diğerleri) için bkz. DataFrameReader seçenekleri.
Otomatik Yükleyici (cloudFiles.*) seçenekleri için bkz. Otomatik Yükleyici.
Example
Aşağıdaki örnek, Delta Lake tablo akışı için olarak 10 ayarlarmaxFilesPerTrigger:
Python
df = spark.readStream.format("delta").option("maxFilesPerTrigger", 10).load("/path/to/delta-table")
Scala
val df = spark.readStream.format("delta").option("maxFilesPerTrigger", "10").load("/path/to/delta-table")
Ortak
Aşağıdaki seçenekler Delta Lake tabloları ve diğer dosya tabanlı akış kaynakları için geçerlidir.
| Key | Varsayılan | Açıklama |
|---|---|---|
cleanSource |
off |
Kaynak dosyalar akış tarafından işlendikten sonra nasıl işlenir? Geçerli değerler: off (eylem yok), delete (kaynak dosyayı kalıcı olarak silin) archive (şuraya sourceArchiveDirtaşı). olarak ayarlandığında archivesourceArchiveDir da ayarlanmalıdır. Delta Lake tablo akışı için geçerli değildir. |
fileNameOnly |
false |
Zaten işlenmiş dosyaların tam yol yerine yalnızca dosya adına göre tanımlanıp tanımlanmayacağı. Olduğunda true, aynı dosya adına sahip farklı yollarda bulunan dosyalar aynı dosya olarak kabul edilir ve yeniden işlenmez. Delta Lake tablo akışı için geçerli değildir. |
latestFirst |
false |
En son değiştirilen dosyaların her mikro toplu işlem içinde önce işlenip işlenmeyeceği. En son verileri mümkün olan en hızlı şekilde işlemek istediğinizde kullanışlıdır.
true ve maxFilesPerTrigger veya maxBytesPerTrigger ayarlandığında yoksayılırmaxFileAge. Delta Lake tablo akışı için geçerli değildir. |
maxBytesPerTrigger |
None | Her mikro toplu iş için işlenen veri miktarı için geçici maksimum değer. En küçük giriş birimi sınırı aşarsa bir toplu işlem sınırı aşabilir. ile maxFilesPerTriggerbirlikte kullanıldığında, mikro toplu işlem ilk olarak iki sınıra ulaşılana kadar verileri işler. Geçerli değerler: pozitif tamsayılar.Otomatik Yükleyici için bunun yerine kullanın cloudFiles.maxBytesPerTrigger . Bkz. Ortak. |
maxCachedFiles |
10000 |
Sonraki mikro toplu işlemler için önbelleğe alınacak en fazla işlenmemiş dosya sayısı. Önbelleğe 0 almayı kapatmak için olarak ayarlayın. Kaynak dizin her tetikleyici için çok sayıda yeni dosya içerdiğinde bu değeri artırın. Delta Lake tablo akışı için geçerli değildir. Geçerli değerler: pozitif tamsayılar veya 0. |
maxFileAge |
7d |
geçerli sistem saati yerine en son değiştirilen dosyanın zaman damgasına göre işlenmek üzere düşünülen dosyaların en büyük yaşı. Bu eşikten eski dosyalar yoksayılır. veya 4hgibi 7d süre dizelerini kabul eder.
latestFirst
true ve maxFilesPerTrigger veya maxBytesPerTrigger ayarlandığında yoksayılır. Delta Lake tablo akışı için geçerli değildir. |
maxFilesPerTrigger |
1000 Delta Lake ve Otomatik Yükleyici için. Diğer dosya tabanlı kaynaklar için maksimum değer yoktur. |
Her mikro toplu işlemde işlenen yeni dosya sayısı için üst sınır. ile maxBytesPerTriggerbirlikte kullanıldığında, mikro toplu işlem ilk olarak iki sınıra ulaşılana kadar verileri işler. Geçerli değerler: pozitif tamsayılar.Otomatik Yükleyici için bunun yerine kullanın cloudFiles.maxFilesPerTrigger . Bkz. Ortak. |
sourceArchiveDir |
None | olarak ayarlandığında archivearşiv dizininin cleanSource yolu. Kaynak dosyalar, işlendikten sonra göreli dizin yapısı korunarak bu yola taşınır. Delta Lake tablo akışı için geçerli değildir. |
Otomatik Yükleyici
Otomatik Yükleyici'yicloudFiles bulut depolama alanından akış alımı için yapılandırmak üzere kaynakla birlikte bu seçenekleri kullanın. Kaynağa özgü cloudFiles seçenekler, bunları diğer Yapılandırılmış Akış kaynağı seçeneklerinden ayrı bir ad alanında tutmak için ön eke cloudFiles sahiptir.
Ortak
| Key | Varsayılan | Açıklama |
|---|---|---|
cloudFiles.allowOverwrites |
false |
Giriş dizin dosyası değişikliklerinin var olan verilerin üzerine yazmasına izin verilip verilmeyeceği. Yapılandırma uyarıları için bkz. Dosya eklendiğinde veya üzerine yazıldığında Otomatik Yükleyici dosyayı yeniden işleniyor mu?. |
cloudFiles.backfillInterval |
None | Otomatik Yükleyici belirli bir aralıkta zaman uyumsuz geri doldurmaları tetikleyebilir. Örneğin, günlük olarak geri doldurmak için 1 day veya haftalık olarak geri doldurmak için 1 week. Daha fazla bilgi için bkz. cloudFiles.backfillInterval kullanarak normal geri doldurmaları tetikleme.cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın. |
cloudFiles.cleanSource |
OFF |
İşlenen dosyaların giriş dizininden otomatik olarak silinip silinmeyeceği. (varsayılan) olarak ayarlandığında OFF hiçbir dosya silinmez.olarak ayarlandığında DELETE, Otomatik Yükleyici dosyaları işlendikten 30 gün sonra otomatik olarak siler. Bunu yapmak için Otomatik Yükleyici'nin kaynak dizine yazma izinleri olmalıdır.olarak ayarlandığında MOVE, Otomatik Yükleyici dosyaları işlendikten sonraki 30 gün içinde cloudFiles.cleanSource.moveDestination otomatik olarak belirtilen konuma taşır. Bunu yapmak için, Otomatik Yükleyici'nin hem kaynak dizinde hem de taşıma konumuna yazma izinlerine sahip olması gerekir.Tablo değerli işlevinin sonucu commit_time için cloud_files_state null olmayan bir değere sahip olduğunda bir dosya işlenmiş olarak kabul edilir. Bakınız cloud_files_state tablo değerli fonksiyon. İşlemden sonra 30 günlük ek bekleme, kullanılarak cloudFiles.cleanSource.retentionDurationyapılandırılabilir.etkinleştirmeden cloudFiles.cleanSourceönce aşağıdaki noktaları gözden geçirin:
Databricks Runtime 16.4 ve üzerinde kullanılabilir. |
cloudFiles.cleanSource.retentionDuration |
30 days |
İşlenen dosyaların cleanSource ile arşivleme adayı olması için bekleme süresi.
DELETE için 7 günden uzun olmalıdır.
MOVE için en düşük kısıtlama yoktur.Değer bir CalendarInterval dizesidir. Örneğin, "14 days", "30 days", "2 weeks"veya "1 month".Databricks Runtime 16.4 ve üzerinde kullanılabilir. |
cloudFiles.cleanSource.moveDestination |
None |
cloudFiles.cleanSource
MOVE olarak ayarlandığında işlenen dosyaların arşivleneceği yol. Bu bir bulut depolama yolu veya Unity Kataloğu birim yolu (örneğin, /Volumes/my_catalog/my_schema/my_volume/archive/) olabilir.Taşıma konumu:
Otomatik Yükleyici bu dizinde yazma izinlerine sahip olmalıdır. Databricks Runtime 16.4 ve üzerinde kullanılabilir. |
cloudFiles.format |
Yok (gerekli seçenek) |
Kaynak yoldaki veri dosyası biçimi. Geçerli değerler şunlardır:
|
cloudFiles.includeExistingFiles |
true |
Mevcut dosyaların akış işleme giriş yoluna dahil edilip edilmeyeceği veya yalnızca ilk kurulumdan sonra gelen yeni dosyaların işlenmesi. Bu seçenek yalnızca bir akışı ilk kez başlattığınızda değerlendirilir. Akışı yeniden başlattıktan sonra bu seçeneğin değiştirilmesinin hiçbir etkisi olmaz. |
cloudFiles.inferColumnTypes |
false |
Şema çıkarımı kullanıldığında tam sütun türlerinin çıkarılıp çıkarılmayacağı. Varsayılan olarak, JSON ve CSV veri kümeleri çıkarılırken sütunlar dize olarak çıkarılır. Daha fazla ayrıntı için bkz . şema çıkarımı . |
cloudFiles.maxBytesPerTrigger |
None | Her tetikleyicide işlenecek yeni bayt sayısı üst sınırı. Her mikrobatch değerini 10 GB veriyle sınırlamak için 10g gibi bir bayt dizesi belirtebilirsiniz. Bu geçici bir maksimum değerdir. Her birinde 3 GB olan dosyalarınız varsa, Azure Databricks bir mikrobatch içinde 12 GB işler.
cloudFiles.maxFilesPerTrigger ile birlikte kullanıldığında, Azure Databricks, cloudFiles.maxFilesPerTrigger veya cloudFiles.maxBytesPerTrigger'nin alt sınırına kadar, hangisine önce ulaşılırsa onu tüketir. Bu seçenek, Trigger.Once() ile kullanıldığında hiçbir etkisi yoktur (Trigger.Once() kullanım dışı bırakılmıştır).Databricks Runtime 18.0 ve sonraki sürümleri için bu seçenek dinamik olarak yapılandırılır ve el ile ayarlanması gerekmez. |
cloudFiles.maxFileAge |
None | Yinelenen verileri kaldırma amacıyla bir dosya olayının ne kadar süre izlendiği. Databricks, veri alım hızınız saatte milyonlarca dosya ölçüsünde olmadıkça bu parametrenin ayarlanmasını önermez. Daha fazla ayrıntı için Dosya olay izleme bölümüne bakın. Çok agresif bir şekilde ayarlamak cloudFiles.maxFileAge , yinelenen veri alımı veya eksik dosyalar gibi veri kalitesi sorunlarına neden olabilir. Bu nedenle Databricks, karşılaştırmalı veri alımı çözümlerinin önerdiğine benzer şekilde 90 gün gibi muhafazakar bir ayar cloudFiles.maxFileAgeönerir. |
cloudFiles.maxFilesPerTrigger |
1000 |
Her tetikleyicide işlenecek en fazla yeni dosya sayısı.
cloudFiles.maxBytesPerTrigger ile birlikte kullanıldığında, Azure Databricks, cloudFiles.maxFilesPerTrigger veya cloudFiles.maxBytesPerTrigger'nin alt sınırına kadar, hangisine önce ulaşılırsa onu tüketir. Bu seçeneğin ile Trigger.Once() kullanıldığında hiçbir etkisi yoktur (kullanım dışı).Databricks Runtime 18.0 ve sonraki sürümleri için bu seçenek dinamik olarak yapılandırılır ve el ile ayarlanması gerekmez. |
cloudFiles.partitionColumns |
None | Dosyaların dizin yapısından çıkarılmış olmasını istediğiniz Hive stili bölüm sütunlarının virgülle ayrılmış listesi. Hive stili bölüm sütunları, gibi bir eşitlik işaretiyle birleştirilen anahtar-değer çiftleridir <base-path>/a=x/b=1/c=y/file.format. Bu örnekte bölüm sütunları , ave bşeklindedirc. Varsayılan olarak, şema çıkarımı kullanıyorsanız ve veri yüklemek için öğesini sağlıyorsanız <base-path> bu sütunlar şemanıza otomatik olarak eklenir. Bir şema sağlarsanız, Otomatik Yükleyici bu sütunların şemaya eklenmesini bekler. Bu sütunları şemanızın bir parçası olarak istemiyorsanız, bu sütunları yoksaymak için "" belirtebilirsiniz. Ayrıca, aşağıdaki örnekte olduğu gibi sütunların karmaşık dizin yapılarında dosya yolunun çıkarılmasını istediğinizde bu seçeneği kullanabilirsiniz:<base-path>/year=2022/week=1/file1.csv<base-path>/year=2022/month=2/day=3/file2.csv<base-path>/year=2022/month=2/day=4/file3.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 sağlanmadığında, none aksi takdirde |
Verilerde yeni sütunlar keşfedildikçe şemayı geliştirme modu. Varsayılan olarak, JSON veri kümeleri çıkarılırken sütunlar dize olarak çıkarılır. Daha fazla ayrıntı için bkz . şema evrimi . |
cloudFiles.schemaHints |
None | Şema çıkarımı sırasında Otomatik Yükleyici'ye sağladığınız şema bilgileri. Daha fazla ayrıntı için şema ipuçlarına bakın. |
cloudFiles.schemaLocation |
Yok (şemayı çıkarsamak için gereklidir) | Çıkarsanan şemayı ve sonraki değişiklikleri depolama konumu. Daha fazla ayrıntı için bkz . şema çıkarımı . |
cloudFiles.useStrictGlobber |
false |
Apache Spark'taki diğer dosya kaynaklarının varsayılan globbing davranışına uyan sıkı bir globber kullanma seçeneğini değerlendirmek. Diğer ayrıntılar için bkz . Yaygın veri yükleme desenleri . Databricks Runtime 12.2 LTS ve üzerinde kullanılabilir. |
cloudFiles.validateOptions |
true |
Otomatik Yükleyici seçeneklerinin doğrulanıp doğrulanmayacağı ve bilinmeyen veya tutarsız seçenekler için hata döndürüleceği. |
Dizin listesi
Dosya bildirimi
Gerekli bulut izinleri, kurulum yönergeleri ve kimlik doğrulama yöntemleri dahil olmak üzere dosya bildirim modunu yapılandırma hakkında bilgi için bkz. Dosya bildirim modunda Otomatik Yükleyici akışlarını yapılandırma.
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.fetchParallelism |
1 |
Kuyruğa alma hizmetinden ileti getirirken kullanılacak iş parçacığı sayısı.cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın. |
cloudFiles.pathRewrites |
None | Yalnızca birden çok S3 demetinden dosya bildirimleri alan bir queueUrl belirtirseniz ve bu kapsayıcılardaki verilere erişmek için yapılandırılmış bağlama noktalarını kullanmak istiyorsanız gereklidir.
bucket/key yolunun ön ekini bağlama noktasıyla yeniden yazmak için bu seçeneği kullanın. Yalnızca ön ekler yeniden yazılabilir. Örneğin, yapılandırması {"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"} için yolu s3://<databricks-mounted-bucket>/path/2017/08/fileA.json, dbfs:/mnt/data-warehouse/2017/08/fileA.json olarak yeniden yazılır.cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın. |
cloudFiles.resourceTag |
None | İlgili kaynakları ilişkilendirmeye ve tanımlamaya yardımcı olacak bir dizi anahtar-değer etiketi çifti, örneğin:cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue")AWS hakkında daha fazla bilgi için Amazon SQS maliyet ayırma etiketleri ve Amazon SNS konusu için etiketleri yapılandırma konularına bakın. (1) Azure hakkında daha fazla bilgi için, Adlandırma Kuyrukları ve Metadata ile properties.labels kapsamını inceleyin. Otomatik Yükleyici bu anahtar-değer etiket çiftlerini JSON'da etiket olarak depolar.
(1)GCP hakkında daha fazla bilgi için Etiketlerle kullanımı raporlama bölümüne bakın. (1) cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın. Bunun yerine bulut sağlayıcısı konsolunu kullanarak kaynak etiketlerini ayarlayın. |
cloudFiles.useManagedFileEvents |
false |
olarak ayarlandığında true, Otomatik Yükleyici dış konumunuzdaki dosyaları bulmak için dosya olayları hizmetini kullanır. Bu seçeneği yalnızca yükleme yolu dosya olaylarının etkinleştirildiği bir dış konumdaysa kullanabilirsiniz. Bkz . Dosya olaylarıyla dosya bildirim modunu kullanma.Otomatik Yükleyici son çalıştırmadan sonra yeni dosyaları bulabildiği için dosya olayları dosya bulmada bildirim düzeyinde performans sağlar. Dizin listesinden farklı olarak, bu işlemin dizindeki tüm dosyaları listelemesi gerekmez. Dosya olayları seçeneği etkin olsa bile Otomatik Yükleyici'nin dizin listesini kullandığı bazı durumlar vardır:
Otomatik Yükleyici'nin bu seçenekle dizin listelemeyi kullandığı durumların kapsamlı bir listesi için bkz. Dosya olayları olan Otomatik Yükleyici dizin listesini ne zaman kullanır? Databricks Runtime 14.3 LTS ve üzerinde kullanılabilir. |
cloudFiles.listOnStart |
false |
olarak trueayarlandığında, Otomatik Yükleyici denetim noktasındaki devamlılık belirteciyle başlamak yerine akış başlatıldığında tam dizin listesi gerçekleştirir. gibi CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKENhatalardan kurtarmak için bu seçeneği kullanın. Bkz. Bir CF_MANAGED_FILE_EVENTS_INVALID_CONTINUATION_TOKEN hatadan nasıl kurtarılır? |
cloudFiles.useNotifications |
false |
Yeni dosyaların ne zaman olduğunu belirlemek için dosya bildirim modunun kullanılıp kullanılmayacağını. ise falsedizin listeleme modunu kullanın. Bkz . Otomatik Yükleyici dosya algılama modlarını karşılaştırma.cloudFiles.useManagedFileEvents ayarlandığında true kullanmayın. |
(1) Otomatik Yükleyici varsayılan olarak en iyi çaba temelinde aşağıdaki anahtar-değer etiket çiftlerini ekler:
-
vendor:Databricks -
path: Verilerin yüklendiği konum. Etiketleme sınırlamaları nedeniyle GCP'de kullanılamıyor. -
checkpointLocation: Akışın denetim noktasının konumu. Etiketleme sınırlamaları nedeniyle GCP'de kullanılamıyor. -
streamId: Akış için genel olarak benzersiz bir tanımlayıcı.
Databricks bu anahtar adlarını ayırır ve değerlerinin üzerine yazamazsınız.
Buluta özgü
Otomatik Yükleyici, dosya bildirim modu için bulut altyapısını yapılandırma seçenekleri sağlar. Gerekli bulut izinleri ve kurulum yönergeleri için bkz. Dosya bildirim modunda Otomatik Yükleyici akışlarını yapılandırma.
AWS
Aşağıdaki seçenekleri yalnızca cloudFiles.useNotifications = true seçerseniz ve Auto Loader'ın bildirim hizmetlerini sizin için ayarlamasını istiyorsanız belirtin:
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.region |
EC2 örneğinin bölgesi | Kaynak S3 demetinin bulunduğu ve AWS SNS ve SQS hizmetlerini oluşturmak istediğiniz bölge. |
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.restrictNotificationSetupToSameAWSAccountId |
false |
Yalnızca SNS konusuyla aynı hesapta AWS S3 demetlerinden olay bildirimlerine izin verin. Doğru olduğunda, Otomatik Yükleyici yalnızca SNS konusuyla aynı hesaptaki AWS S3 demetlerinden gelen olay bildirimlerini kabul eder.false olduğunda, erişim politikası hesaplar arası bucket ve SNS konu yapılandırmalarını kısıtlamaz. Bu, SNS başlığı ile bucket yolu farklı hesaplarla ilişkilendirildiğinde kullanışlıdır.Databricks Runtime 17.2 ve üzerinde kullanılabilir. |
Önceden ayarlamış olduğunuz bir kuyruğun otomatik yükleyici tarafından kullanılmasını istiyorsanız ve cloudFiles.useNotifications = true seçeneğini seçerseniz, aşağıdaki seçeneği belirtin:
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.queueUrl |
None | SQS kuyruğunun URL'si. Sağlanırsa, Otomatik Yükleyici kendi AWS SNS ve SQS hizmetlerini ayarlamak yerine bu kuyruktan gelen olayları doğrudan kullanır. |
AWS kimlik doğrulama seçenekleri
Databricks hizmeti kimlik bilgilerini kullanmak için aşağıdaki kimlik doğrulama seçeneğini belirtin:
| Key | Varsayılan | Description |
|---|---|---|
databricks.serviceCredential |
None | Databricks hizmet kimlik bilgilerinizin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir. |
Databricks hizmeti kimlik bilgileri veya IAM rolleri kullanılamadığında, bunun yerine aşağıdaki kimlik doğrulama seçeneklerini sağlayabilirsiniz:
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.awsAccessKey |
None | Kullanıcının AWS erişim anahtarı kimliği. ile cloudFiles.awsSecretKeysağlanmalıdır. |
cloudFiles.awsSecretKey |
None | Kullanıcının AWS gizli erişim anahtarı. ile cloudFiles.awsAccessKeysağlanmalıdır. |
cloudFiles.roleArn |
None | Gerektiğinde üstlenmek üzere bir IAM rolünün ARN'si. Rol, kümenizin örnek profilinden varsayılabilir veya cloudFiles.awsAccessKey ve cloudFiles.awsSecretKey ile kimlik bilgileri sağlanarak varsayılabilir. |
cloudFiles.roleExternalId |
None |
cloudFiles.roleArn kullanarak bir rolü üstlenirken sağlamanız gereken bir tanımlayıcı. |
cloudFiles.roleSessionName |
None | Bir rol üstlenirken cloudFiles.roleArn kullanılarak kullanılacak isteğe bağlı oturum adı. |
cloudFiles.stsEndpoint |
None | Bir rol üstlenilirken cloudFiles.roleArn kullanarak AWS STS'ye erişim sağlamak amacıyla isteğe bağlı bir uç nokta. |
Azure
Belirttiğinizde ve Otomatik Yükleyici'nin bildirim hizmetlerini sizin için ayarlamasını istiyorsanız aşağıdaki seçeneklerin cloudFiles.useNotifications = true tümü için değerler sağlamanız gerekir:
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.resourceGroup |
None | Depolama hesabının oluşturulduğu Azure Kaynak Grubu. |
cloudFiles.subscriptionId |
None | Kaynak grubunun oluşturulduğu Azure Abonelik Kimliği. |
databricks.serviceCredential |
None | Databricks hizmet kimlik bilgilerinizin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir. |
Databricks hizmeti kimlik bilgileri kullanılamıyorsa, bunun yerine aşağıdaki kimlik doğrulama seçeneklerini sağlayabilirsiniz:
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.clientId |
None | Hizmet sorumlusunun istemci kimliği veya uygulama kimliği. |
cloudFiles.clientSecret |
None | Hizmet prensibinin istemci gizli anahtarı. |
cloudFiles.connectionString |
None | Hesap erişim anahtarına veya paylaşılan erişim imzasını (SAS) temel alan depolama hesabının bağlantı dizesi. |
cloudFiles.tenantId |
None | Hizmet sorumlusunun oluşturulduğu Azure Kiracı Kimliği. |
Aşağıdaki seçeneği yalnızca Otomatik cloudFiles.useNotifications = true Yükleyici'nin var olan bir kuyruğu kullanmasını istiyorsanız belirtin:
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.queueName |
None | Azure kuyruğunun adı. Verildiği takdirde, bulut dosyaları kaynağı, kendi Azure Event Grid ve Kuyruk Depolama hizmetlerini kurmak yerine doğrudan bu kuyruktan gelen olayları işler. Bu durumda, databricks.serviceCredential veya cloudFiles.connectionString yalnızca kuyrukta okuma izni gerektirir. |
GCP
Otomatik Yükleyici, Databrickshizmet kimlik bilgilerini kullanarak bildirim hizmetlerini sizin için otomatik olarak ayarlayabilir. Databricks hizmeti kimlik bilgileriyle oluşturulan hizmet hesabı, Otomatik Yükleyici akışlarını dosya bildirim modunda yapılandırma bölümünde belirtilen izinleri gerektirir.
| Key | Varsayılan | Description |
|---|---|---|
cloudFiles.projectId |
None | GCS demetinin bulunduğu projenin kimliği. Google Cloud Pub/Sub aboneliği de bu proje içinde oluşturulur. |
databricks.serviceCredential |
None | Databricks hizmet kimlik bilgilerinizin adı. Databricks Runtime 16.1 ve üzerinde kullanılabilir. |
Databricks hizmeti kimlik bilgileri kullanılamıyorsa, Google Hizmet Hesapları'nı doğrudan kullanabilirsiniz. Google hizmet kurulumu izleyerek kümenizi bir hizmet hesabı varsayacak şekilde yapılandırabilir veya doğrudan aşağıdaki kimlik doğrulama seçeneklerini sağlayabilirsiniz:
| Key | Varsayılan | Açıklama |
|---|---|---|
cloudFiles.client |
None | Google Hizmet Hesabının istemci kimliği. |
cloudFiles.clientEmail |
None | Google Hizmet Hesabının e-posta adresi. |
cloudFiles.privateKey |
None | Google Hizmet Hesabı için oluşturulan özel anahtar. |
cloudFiles.privateKeyId |
None | Google Hizmet Hesabı için oluşturulan özel anahtarın kimliği. |
Önceden ayarlamış olduğunuz bir kuyruğun otomatik yükleyici tarafından kullanılmasını istiyorsanız ve cloudFiles.useNotifications = true seçeneğini seçerseniz, aşağıdaki seçeneği belirtin:
| Key | Varsayılan | Açıklama |
|---|---|---|
cloudFiles.subscription |
None | Google Cloud Pub/Sub aboneliğinin adı. Eğer sağlanırsa, bulut dosya kaynağı bu kuyruktan gelen bu etkinlikleri kullanır, kendi GCS Bildirimini ve Google Cloud Pub/Sub hizmetlerini ayarlamak yerine. |
Delta Gölü
aşağıdaki seçenekler kullanarak spark.readStreamdelta lake tablosundan okurken geçerlidir.
| Key | Varsayılan | Açıklama |
|---|---|---|
allowSourceColumnDrop |
None | Delta tablosu sürüm numarası olarak ayarlayın veya "always" kaynak tablo şemasından sütunlar bırakıldıktan sonra akışın devam etmesi için izin verin. Bir sürüm numarasına ayarlandığında, bu sürüme kadar olan tüm şema değişikliklerini kabul eder. gerektirir schemaTrackingLocation.
Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın. |
allowSourceColumnRename |
None | Delta tablosu sürüm numarası olarak ayarlayın veya "always" kaynak tabloda sütunlar yeniden adlandırıldıktan sonra akışın devam etmesi için izin verin. Bir sürüm numarasına ayarlandığında, bu sürüme kadar olan tüm şema değişikliklerini kabul eder. gerektirir schemaTrackingLocation.
Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın. |
allowSourceColumnTypeChange |
None | Delta tablosu sürüm numarası olarak ayarlayın veya "always" kaynak tabloda sütun türleri değiştirildikten sonra akışın devam etmesi için izin verin. Bir sürüm numarasına ayarlandığında, bu sürüme kadar olan tüm şema değişikliklerini kabul eder. gerektirir schemaTrackingLocation. Bkz. Tür genişletme. |
excludeRegex |
None | Normal ifade deseni. Yolları desenle eşleşen dosyalar akış okumasının dışında tutulur. Beklenen adlandırma kuralına uymayan dosyaları filtrelemek için kullanışlıdır. |
failOnDataLoss |
true |
Günlük saklama (logRetentionDuration) nedeniyle kaynak veriler silindiyse akış sorgusunun başarısız olup olmayacağı. Eksik verileri atlayıp işlemeye devam etmek için false olarak ayarlayın. Bkz Zaman yolculuğu sorguları için veri saklamayı yapılandırma. |
ignoreChanges (kullanım dışı) |
false |
Databricks Runtime 11.3 LTS ve altında kullanılabilir. , MERGE INTO, DELETEveya OVERWRITEgibi UPDATEdeğişiklik işlemlerinden sonra yeniden yazılan veri dosyalarını yeniden yayar. Yeni satırların yanı sıra değişmemiş satırlar da yayılabilir, bu nedenle aşağı akış tüketicilerinin yinelenenleri işlemesi gerekir. Silme işlemleri alt akışa iletilmez.
skipChangeCommits yerine Databricks Runtime 12.2 LTS ve üzerini kullanın. |
ignoreDeletes (kullanım dışı) |
false |
Bölüm sınırlarında verileri silen işlemleri yoksayar (yalnızca tam bölüm düşer). Bölüm dışı silmeleri, güncelleştirmeleri veya diğer değişiklikleri işlemez. Bunun yerine skipChangeCommits kullanın. |
readChangeFeed veya readChangeData |
false |
Akış sorgusu için değişiklik veri akışının okunmasının etkinleştirilip etkinleştirilmeyeceği. Etkinleştirildiğinde, akış ek meta veri sütunlarıyla satır düzeyi değişiklikleri (ekler, güncelleştirmeler ve silmeler) yayar. Bkz Azure Databricks'te Delta Lake değişiklik veri akışını kullanma. |
schemaTrackingLocation |
None | Delta Lake'in akış okuması için şema değişikliklerini izlediği dizin yolu. Sütun eşlemesi etkinleştirilmiş tablolardan akış yaparken ve şema evrimi işlemek için seçenekleri kullanırken allowSourceColumn* gereklidir. Akış sorgusunun checkpointLocation içinde olmalıdır.
Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın. |
skipChangeCommits |
false |
Var olan kayıtları silen veya değiştiren işlemleri yoksayar ve yalnızca eklemeleri işler. Databricks, değişiklik veri akışlarını kullanmayan çoğu iş yükü için bu seçeneği önerir. Databricks Runtime 12.2 LTS ve üzerinde kullanılabilir. Bkz. ile skipChangeCommitsyukarı akış değişiklik işlemelerini atlama. |
startingTimestamp |
En son mevcut | Okumaya başlamak için zaman damgası. Akış, belirtilen zaman damgasında veya sonrasında işlenen tüm tablo değişikliklerini okur. Zaman damgası tüm kullanılabilir tablo işlemelerinden önce geliyorsa, akış en erken kullanılabilir işlemeden başlar. ile startingVersionbirlikte kullanılamaz. Akış denetim noktası zaten varsa yoksayılır.Geçerli değerler: gibi "2019-01-01T00:00:00.000Z" bir zaman damgası dizesi veya gibi "2019-01-01"bir tarih dizesi. |
startingVersion |
En son mevcut | Okumaya başlamak için Delta tablosu sürümü. Akış, belirtilen sürümde veya sonrasında işlenen tüm değişiklikleri okur. Yalnızca en son değişikliklerden başlamak için belirtin "latest" . ile startingTimestampbirlikte kullanılamaz. Akış denetim noktası zaten varsa yoksayılır. Bkz. Tablo geçmişiyle çalışma. |
withEventTimeOrder |
false |
Kayıtların yanlışlıkla geç olaylar olarak işaretlenmesini ve filigranlarla durum bilgisi olan sorgulara bırakılmasını önlemek için ilk tablo anlık görüntüsünü olay zamanı demetlerine böler. İlk anlık görüntü işleme başlatıldıktan sonra denetim noktası silinmeden değiştirilemez. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir. Verileri bırakmadan ilk anlık görüntüyü işleme başlıklı bölüme bakın. |
Kafka
Veya spark.read.format("kafka")ile spark.readStream.format("kafka") bu seçenekleri kullanın:
| Key | Varsayılan | Açıklama |
|---|---|---|
assign |
None | Kullanılacak belirli bölümler. , veya assign seçeneklerinden subscribesubscribePatterntam olarak birini belirtmeniz gerekir. Geçerli değerler: gibi {"topicA":[0,1],"topicB":[2,4]}bir JSON dizesi. |
failOnDataLoss |
true |
Örneğin, silinen konular veya uzaklık kesilmesi nedeniyle veriler kaybolmuş olabilirse sorgunun başarısız olup olmayacağı. Eksik verileri atlayıp devam etmek için false olarak ayarlayın. Geçerli değerler: true, false.Databricks, verilerin kaybolup kaybolmayabileceğini büyük ölçüde tahmin eder. Ancak, bu hatalı alarmlara neden olabilir. |
fetchoffset.numretries |
3 |
Kafka uzaklıkları getirilirken yeniden deneme sayısı başarısız oluyor. Geçerli değerler: negatif olmayan tamsayılar. |
fetchoffset.retryintervalms |
1000 |
Uzaklık getirme yeniden denemeleri arasındaki milisaniye cinsinden aralık. Geçerli değerler: negatif olmayan tamsayılar. |
groupIdPrefix |
spark-kafka-source (akış), spark-kafka-relation (toplu iş) |
Otomatik olarak oluşturulan Kafka tüketici grubu kimliği için kullanılacak özelleştirilmiş ön ek. Açıkça ayarlanırsa kafka.group.id bağlayıcı bu seçeneği yoksayar. Geçerli değerler: herhangi bir dize. |
includeHeaders |
false |
Kafka ileti üst bilgilerinin çıkışa sütun olarak eklenip eklenmeyeceği. Geçerli değerler: true, false. |
kafkaconsumer.polltimeoutms |
None | Kafka tüketici poll() çağrısı için milisaniye cinsinden zaman aşımı. Geçerli değerler: pozitif tamsayılar. |
kafka.bootstrap.servers |
None | Kafka aracıları için konak:bağlantı noktası adreslerinin virgülle ayrılmış listesi. Kafka istemcisinin bootstrap.servers özelliğini ayarlar.Kafka'dan veri olmadığını fark ederseniz, yanlış adresler için bu aracı adres listesine bakın. Aracı adres listesi yanlışsa herhangi bir hata olmayabilir. Kafka istemcileri, aracıların sonunda kullanılabilir olacağını varsayar ve ağ hataları aldıklarında sonsuza kadar yeniden dener. |
maxRecordsPerPartition |
None | Her Spark bölümü için en fazla kayıt sayısı. Bağlayıcı ayarlandığında Kafka bölümlerini bölerek her Spark bölümünün en fazla bu kadar çok kaydı okumasını sağlar. Geçerli değerler: pozitif tamsayılar. Bu seçeneği ile minPartitionsde kullanabilirsiniz. Her iki seçenek de ayarlandığında Spark hangi seçeneğin daha fazla bölüme neden olduğunu kullanır. |
minPartitions |
None | Kafka'dan okunacak en az Spark bölümü sayısı. Ayarlandığında, bağlayıcı paralelliği artırmak için büyük Kafka bölümlerini böler. Ayarlanmadığında Spark, her Kafka konu bölümü için bir bölüm oluşturur. Veri dengesizliği veya en yüksek yükleri işlemek için kullanışlıdır. Geçerli değerler: pozitif tamsayılar. Bu seçenek, ssl ile performansı etkileyebilecek her tetikleyici için Kafka tüketicilerini yeniden başlatır. |
startingOffsets |
latest (akış), earliest (toplu iş) |
Sorgunun okuma işleminin başladığı uzaklık. Geçerli değerler: earliest, latestveya gibi {"topicA":{"0":23,"1":-2}}her bölüm için bir JSON uzaklık dizesi. JSON dizesinde en -1 son uzaklıktır.
-2 en erken uzaklıktır.Akış sorguları için bu seçenek yalnızca yeni bir sorgu başlatıldığında geçerlidir. Sürdürülen sorgular her zaman denetim noktasını kullanır. Sorgu sırasında, yeni bölümler en erken uzaklıkta okumaya başlar. Toplu sorgular latest için izin verilmez. |
startingOffsetsByTimestamp |
None | Milisaniye cinsinden zaman damgaları olarak belirtilen her bölüm için başlangıç uzaklıklarının listesi. Zaman damgası için uzaklık olmadığında, sorgu davranışı tarafından startingOffsetsByTimestampStrategybelirlenir. Geçerli değerler: her bölüm için zaman damgalarının JSON dizesi, örneğin {"topicA":{"0":1000,"1":2000}}.Akış sorguları için bu seçenek yalnızca yeni bir sorgu başlatıldığında geçerlidir. Sürdürülen sorgular her zaman denetim noktasını kullanır. Sorgu sırasında, yeni bölümler en erken uzaklıkta okumaya başlar. |
startingOffsetsByTimestampStrategy |
error |
veya startingTimestampiçinde startingOffsetsByTimestamp belirtilen bir zaman damgası için uzaklık bulunamadığında kullanılacak strateji. Geçerli değerler: error (bir özel durum oluşturur), latest (kullanılabilir en son uzaklığı kullanır). |
startingTimestamp |
None | Tüm bölümler için geçerli olan milisaniye cinsinden genel başlangıç zaman damgası. Zaman damgası için uzaklık olmadığında, davranış tarafından startingOffsetsByTimestampStrategydenetlenir. Geçerli değerler: negatif olmayan tamsayılar. |
subscribe |
None | Abone olunacak konular. , veya assign seçeneklerinden subscribesubscribePatterntam olarak birini belirtmeniz gerekir. Geçerli değerler: Konu adlarının virgülle ayrılmış listesi. |
subscribePattern |
None | Konulara abone olmak için kullanılan desen. , veya assign seçeneklerinden subscribesubscribePatterntam olarak birini belirtmeniz gerekir. Örneğin, topic.*. Geçerli değerler: herhangi bir Java regex dizesi. |
Aşağıdaki seçenekler yalnızca ile spark.readStream.format("kafka")akış okumaları için geçerlidir:
| Key | Varsayılan | Açıklama |
|---|---|---|
bytesEstimateWindowLength |
300s |
Ölçümün kalan baytlarını tahmin etmek için estimatedTotalBytesBehindLatest kullanılan zaman penceresi. Geçerli değerler: veya 600sgibi 10m süre dizeleri. Bkz. Kafka ölçümlerini alma. |
maxOffsetsPerTrigger |
None | Tetikleyici aralığı başına işlenmek üzere en fazla uzaklık sayısı. Uzaklıklar konu bölümleri arasında orantılı olarak dağıtılır. Geçerli değerler: pozitif tamsayılar. |
maxTriggerDelay |
15m |
Tetiklemeden önce birikmesi için beklenmesi gereken minOffsetsPerTrigger en uzun süre. Geçerli değerler: veya 600sgibi 10m süre dizeleri. |
minOffsetsPerTrigger |
None | Mikro toplu işlemi tetiklemeden önce birikecek en düşük uzaklık sayısı. Ulaşıldığında maxTriggerDelay , mikro toplu iş ne olursa olsun çalışır. Geçerli değerler: pozitif tamsayılar. |
ile spark.read.format("kafka")yalnızca toplu okuma işlemlerine uygulanan uzaklık seçenekleri için bkz. DataFrameReader Kafka seçenekleri.
Kafka istemcisi (kafka.*) ve kimlik doğrulama seçenekleri için bkz. Seçenekler.
DataFrameWriter seçenekleri
DataFrameWriter.option() ve DataFrameWriterV2.option() ile bu seçenekleri kullanarak Azure Databricks verileri nasıl yazacaklarını denetleyin.
Example
Aşağıdaki örnek, Delta Lake tablosu yazmak için olarak True ayarlırmergeSchema:
Python
df.write.format("delta").option("mergeSchema", True).saveAsTable("my_table")
Scala
df.write.format("delta").option("mergeSchema", "true").saveAsTable("my_table")
Avro
| Key | Varsayılan | Açıklama |
|---|---|---|
avroSchema |
None | JSON dizesi olarak tam Avro şeması. Spark SQL türlerini belirli Avro türlerine dönüştürmek için bu seçeneği kullanın. Avro dosyası için geçerlidir. |
avroSchemaUrl |
None | Avro şema dosyasına işaret eden bir URL. Şema harici olarak depolandığında yerine avroSchema kullanın.
avroSchema ile birbirini dışlar.
Avro dosyası için geçerlidir. |
compression |
snappy |
Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: uncompressed, deflate, snappy, bzip2, , xz. zstandard
Avro dosyası için geçerlidir. |
recordName |
topLevelRecord |
Çıkış Avro şemasındaki en üst düzey kayıt adı. Avro dosyası için geçerlidir. |
positionalFieldMatching |
false |
Spark şeması ile Avro şeması arasındaki sütunların ada göre değil alan konumuna göre eşleştirilip eşleştirilmeyeceği. Avro dosyası için geçerlidir. |
recordNamespace |
Boş dize | Çıkış Avro şemasındaki en üst düzey kaydın ad alanı. Avro dosyası için geçerlidir. |
Delta Gölü ve Apache Iceberg
| Key | Varsayılan | Açıklama |
|---|---|---|
clusterByAuto |
false |
Azure Databricks sorgu desenlerine göre kümeleme sütunlarını seçtiği otomatik sıvı kümelemlerinin etkinleştirilip etkinleştirilmeyeceği. Yalnızca ile mode("overwrite")geçerlidir. Mod ile append kullanılamaz. Databricks Runtime 16.4 ve üzerinde kullanılabilir.
Tablolar için sıvı kümeleme kullanma için geçerlidir. |
mergeSchema |
None | Yazma işlemi için şema evriminin etkinleştirilip etkinleştirilmeyileceği. Kaynak DataFrame'deki yeni sütunlar hedef tablo şemasına eklenir. Toplu iş ve akış eklemeleri için geçerlidir. Tablo şemasını güncelleştirme için geçerlidir. |
overwriteSchema |
None | Üzerine yazılırken tablo şemasının ve bölümlemenin değiştirilip değiştirilmeyeceği. olmadan mode("overwrite")gerektirirreplaceWhere.
partitionOverwriteMode ile kullanılamaz.
Tablo şemasını güncelleştirme için geçerlidir. |
partitionOverwriteMode |
None | Bölüm üzerine yazma modu. Bunu, dynamic yalnızca yeni veri içeren bölümlerin üzerine yazacak şekilde ayarlayın ve diğer tüm bölümleri değiştirmeden bırakın. Sunucusuz işlemde veya Databricks SQL'de desteklenmeyen eski mod. Geçerli değerler: static, dynamic.
Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir. |
replaceOn |
None | Hedef tablodaki satırlarla eşleşen ve yerine kaynak sorgudaki satırlar koyan boole ifadesi. Hem hedef tablodan hem de kaynak sorgudan sütunlara başvurabilir. Hedefteki bir kaynak satırla eşleşen satırlar silinir ve değiştirilir. Kaynak boşsa silme işlemi gerçekleşmez. Sütun başvurularını belirsiz bir şekilde belirtmek için kullanın targetAlias . Databricks Runtime 17.1 ve üzerinde kullanılabilir.
Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir. |
replaceUsing |
None | Hedef tablo ile kaynak sorgu arasındaki satırları eşleştirmek için kullanılan sütun adlarının virgülle ayrılmış listesi. Hem hedef hem de kaynak listelenen tüm sütunları içermelidir. Hedefteki, eşitlik karşılaştırması altındaki bir kaynak satırla eşleşen satırlar silinir ve değiştirilir.
NULL değerleri eşit değil olarak değerlendirilir ve eşleşmez. Databricks Runtime 16.3 ve üzerinde kullanılabilir.
Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir. |
replaceWhere |
None | Koşul ifadesi. Atomik olarak yalnızca koşulla eşleşen kayıtların üzerine yazar. Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir. |
targetAlias |
None | Hedef tablo için dize diğer adı. Koşul hem hedef tablodan hem de kaynak sorgudan sütunlara başvurduğunda sütun başvurularını belirsiz bir şekilde belirtmek için veya replaceWhere ile replaceOn kullanın.
Delta Lake ile verilerin üzerine seçmeli olarak yazma için geçerlidir. |
txnAppId |
None | İşlemlerde foreachBatch etkili yazma işlemleri için uygulamayı tanımlayan benzersiz bir dize. Birden çok Delta Lake tablosuna tam olarak bir kez yazılmasını sağlamak için ile txnVersion birlikte kullanın.
Bir kez etkili tablo yazma işlemleri için kullanma foreachBatchiçin geçerlidir. |
txnVersion |
None | İşlemlerdeki foreachBatch tek etkili yazma işlemleri için işlem sürümü olarak kullanılan monoton olarak artan bir sayı. Birden çok Delta Lake tablosuna tam olarak bir kez yazılmasını sağlamak için ile txnAppId birlikte kullanın.
Bir kez etkili tablo yazma işlemleri için kullanma foreachBatchiçin geçerlidir. |
optimizeWrite |
None | Bu yazma işlemi için Otomatik Yazma'nın etkinleştirilip etkinleştirilmeyileceği. Yapılandırmayı spark.databricks.delta.optimizeWrite.enabled geçersiz kılar. |
userMetadata |
None | Yazma işlemi için işleme meta verilerine eklenen kullanıcı tanımlı bir dize. çıktısında DESCRIBE HISTORYgörünür.
Özel meta verilerle tabloları zenginleştirme için geçerlidir. |
CSV
| Key | Varsayılan | Açıklama |
|---|---|---|
charToEscapeQuoteEscaping |
\0 (etkin değil) |
Tırnak karakterinden farklı olduğunda kaçış karakterinden kaçmak için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir. |
compression |
none |
Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, bzip2, gzip, lz4, snappy, deflate, zstd.
Csv (DataFrameWriter) için geçerlidir. |
dateFormat |
yyyy-MM-dd |
Tarih sütunu değerleri için biçim dizesi. Csv (DataFrameWriter) için geçerlidir. |
emptyValue |
Boş dize | Boş (null olmayan) değerler için yazılan dize. Csv (DataFrameWriter) için geçerlidir. |
encoding |
UTF-8 |
Çıkış dosyalarının karakter kodlaması. Csv (DataFrameWriter) için geçerlidir. |
escape |
\ |
Tırnak içine alınmış değerlerin kaçışı için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir. |
escapeQuotes |
true |
Tırnak içine alınmış alan değerlerinin içindeki çıkış tırnak işareti karakterleri olup olmadığı. Csv (DataFrameWriter) için geçerlidir. |
header |
false |
Çıktının ilk satırı olarak sütun adlarının yazılıp yazılmayacağı. Csv (DataFrameWriter) için geçerlidir. |
ignoreLeadingWhiteSpace |
false |
Yazarken değerlerden önde gelen boşluğun kırpılıp kırpılmayacağı. Csv (DataFrameWriter) için geçerlidir. |
ignoreTrailingWhiteSpace |
false |
Yazarken değerlerden sondaki boşluğun kırpılıp kırpılmayacağı. Csv (DataFrameWriter) için geçerlidir. |
lineSep |
\n |
Kayıtlar arasında kullanılan satır ayırıcı dizesi. Csv (DataFrameWriter) için geçerlidir. |
locale |
en-US |
Bir tanımlayıcı java.util.Locale. Yazarken tarih ve zaman damgası değerlerinin biçimlendirmesini etkiler. |
nullValue |
Boş dize | Null değerler için yazılmış dize. Csv (DataFrameWriter) için geçerlidir. |
quote |
" |
Ayırıcıyı içeren alan değerlerini tırnak içine almak için kullanılan karakter. Csv (DataFrameWriter) için geçerlidir. |
quoteAll |
false |
İçeriklerden bağımsız olarak tüm alan değerlerinin tırnak içine alınıp alınmayacağı. Csv (DataFrameWriter) için geçerlidir. |
sep |
, |
Alan sınırlayıcısı karakteri. Csv (DataFrameWriter) için geçerlidir. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Zaman damgası sütun değerlerinin biçim dizesi. Csv (DataFrameWriter) için geçerlidir. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Saat dilimi (TimestampNTZType) sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin. |
Excel
| Key | Varsayılan | Açıklama |
|---|---|---|
dataAddress |
None | Yazma için sayfa adı veya başlangıç hücresi. Atlanırsa, hücresinde A1başlayan adlı Sheet1 bir sayfaya yazar. Bir sayfa adı ("SheetName") veya tek bir hücre başvurusu ("SheetName!A1") kabul eder. Hücre aralıkları yazma işlemleri için desteklenmez. |
dateFormatInWrite |
yyyy-mm-dd |
Date sütunlarına uygulanan hücre biçimi dizesini Excel. Excel biçim sözdizimini kullanır. |
headerRows |
0 |
Sütun adlarının ilk satır olarak yazıp yazılmayacağı. Geçerli değerler: 0, 1. |
timestampNTZFormat |
yyyy-mm-dd hh:mm:ss |
TimestampNTZ ve Timestamp sütunlarına uygulanan Excel hücre biçimi dizesi. Excel biçim sözdizimini kullanır. |
version |
xlsx |
Yazacak Excel dosya biçimi sürümü. Geçerli değerler: xlsx, xls. |
JSON
| Key | Varsayılan | Açıklama |
|---|---|---|
compression |
none |
Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, bzip2, gzip, lz4, snappy, deflate, zstd.
json (DataFrameWriter) için geçerlidir. |
dateFormat |
yyyy-MM-dd |
Tarih sütunu değerleri için biçim dizesi. json (DataFrameWriter) için geçerlidir. |
encoding |
UTF-8 |
Çıkış dosyalarının karakter kodlaması. json (DataFrameWriter) için geçerlidir. |
ignoreNullFields |
değeri spark.sql.jsonGenerator.ignoreNullFields |
JSON çıkışından null değerler içeren alanların atlanıp atılmayacağı. json (DataFrameWriter) için geçerlidir. |
lineSep |
\n |
Kayıtlar arasında kullanılan satır ayırıcı dizesi. json (DataFrameWriter) için geçerlidir. |
locale |
en-US |
Bir tanımlayıcı java.util.Locale. Yazarken tarih ve zaman damgası değerlerinin biçimlendirmesini etkiler. |
pretty |
false |
Güzel (girintili, çok satırlı) JSON çıkışının etkinleştirilip etkinleştirilmeyileceği. |
sortKeys |
false |
Çıktıda JSON nesnelerinin anahtarlarını alfabetik olarak sıralayıp sıralamayacağınız. Deterministik çıktı üretmek için kullanışlıdır. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Zaman damgası sütun değerlerinin biçim dizesi. json (DataFrameWriter) için geçerlidir. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Saat dilimi (TimestampNTZType) sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin. |
writeNonAsciiCharacterAsCodePoint |
false |
ASCII olmayan karakterlerin çıkışta sabit UTF-8 karakterleri yerine Unicode kaçış dizileri olarak \uXXXX kodlanıp kodlanmayacağı. |
ORC
| Key | Varsayılan | Açıklama |
|---|---|---|
compression |
zstd |
Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, uncompressed, snappy, zlib, lzo, zstd, lz4, brotli.
Orc (DataFrameWriter) için geçerlidir. |
Parke
| Key | Varsayılan | Açıklama |
|---|---|---|
compression |
snappy |
Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: , , , , gzip, lzo, brotli, lz4, lz4_rawzstd. snappyuncompressednone
Parquet (DataFrameWriter) için geçerlidir. |
spark.sql.parquet.outputTimestampType |
INT96 |
Zaman damgası sütunlarını kodlamak için kullanılan fiziksel tür. Geçerli değerler: INT96, TIMESTAMP_MICROS, TIMESTAMP_MILLIS. Standart zaman damgası türlerini desteklemeyen eski Parquet okuyucularla uyumluluk için kullanın INT96 . |
Metin
| Key | Varsayılan | Açıklama |
|---|---|---|
compression |
none |
Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, bzip2, gzip, lz4, snappy, deflate, zstd.
Metne (DataFrameWriter) uygulanır. |
encoding |
UTF-8 |
Çıkış dosyalarının karakter kodlaması. |
lineSep |
\n |
Kayıtlar arasında kullanılan satır ayırıcı dizesi. Metne (DataFrameWriter) uygulanır. |
XML
| Key | Varsayılan | Açıklama |
|---|---|---|
arrayElementName |
item |
Açık adı olmayan dizi öğelerinin öğe adı. Xml (DataFrameWriter) için geçerlidir. |
attributePrefix |
_ |
Ön ek, XML özniteliklerine karşılık gelen alan adlarına eklenir. Xml (DataFrameWriter) için geçerlidir. |
compression |
none |
Yazarken kullanılacak sıkıştırma codec bileşeni. Geçerli değerler: none, bzip2, gzip, lz4, snappy, deflate, zstd.
Xml (DataFrameWriter) için geçerlidir. |
dateFormat |
yyyy-MM-dd |
Tarih sütunu değerleri için biçim dizesi. Xml (DataFrameWriter) için geçerlidir. |
declaration |
version="1.0" encoding="UTF-8" standalone="yes" |
Her çıkış dosyasının en üstünde yazılan XML bildirim dizesi. Bildirimi engellemek için boş bir dizeye ayarlayın. Xml (DataFrameWriter) için geçerlidir. |
encoding |
UTF-8 |
Çıkış dosyalarının karakter kodlaması. Xml (DataFrameWriter) için geçerlidir. |
indent |
4 boşluk | Çıktıdaki alt öğeleri girintili yapmak için kullanılan dize. Girintiyi kapatmak ve her satırı tek bir satıra yazmak için boş bir dizeye ayarlayın. |
locale |
en-US |
Bir tanımlayıcı java.util.Locale. Yazarken tarih ve zaman damgası değerlerinin biçimlendirmesini etkiler. |
nullValue |
null |
Null değerler için yazılan dize. olarak nullayarlandığında, null alanlar için öznitelikler ve alt öğeler atlanır.
Xml (DataFrameWriter) için geçerlidir. |
rootTag |
ROWS |
Çıktıdaki tüm satır öğelerini sarmalayan kök öğe etiketi. Xml (DataFrameWriter) için geçerlidir. |
rowTag |
ROW |
Çıktıdaki bir satırı temsil eden öğe etiketi. Xml (DataFrameWriter) için geçerlidir. |
singleVariantColumn |
None | XML dosyalarına yazacak tek Variant sütununun adı. Xml (DataFrameWriter) için geçerlidir. |
timestampFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
Zaman damgası sütun değerlerinin biçim dizesi. Xml (DataFrameWriter) için geçerlidir. |
timestampNTZFormat |
yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Saat dilimi sütun değerleri olmadan zaman damgası için dizeyi biçimlendirin. Xml (DataFrameWriter) için geçerlidir. |
validateName |
true |
Sütun adı geçerli bir XML öğesi tanımlayıcısı değilse özel durum oluşturup oluşturmayacağınız. Xml (DataFrameWriter) için geçerlidir. |
valueTag |
_VALUE |
Öznitelikleri veya alt öğeleri de olan XML öğelerindeki karakter verileri için kullanılan alan adı. Xml (DataFrameWriter) için geçerlidir. |
DataStreamWriter seçenekleri
Akış yazmalarını yapılandırmak için ile DataStreamWriter.option() bu seçenekleri kullanın.
Example
Aşağıdaki örnek bir akışın denetim noktası konumunu ayarlar:
Python
(df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table"))
Scala
df.writeStream
.format("delta")
.option("checkpointLocation", "/path/to/checkpoint")
.start("/path/to/table")
Ortak
| Key | Varsayılan | Açıklama |
|---|---|---|
checkpointLocation |
Yok (gerekli) | Akış sorgusunun denetim noktası dizininin yolu. Hataya dayanıklılık ve tam olarak bir kez işleme garantileri için gereklidir. Her akış sorgusu benzersiz bir denetim noktası konumu kullanmalıdır. Databricks, denetim noktalarının Unity Kataloğu biriminde veya bulut depolama yolunda depolanmasını önerir. Bkz . Yapılandırılmış Akış denetim noktaları. |
path |
None | Parquet gibi dosya tabanlı akış havuzları için çıkış yolu. Yalnızca dosya tabanlı biçimler için geçerlidir. |
Konsol havuzu
| Key | Varsayılan | Açıklama |
|---|---|---|
numRows |
20 |
Konsol havuzuna yazarken her mikro toplu iş için görüntülenecek satır sayısı. |
truncate |
true |
Satırları görüntülerken uzun dizelerin kesilip kesilmeymeyeceği.
false Tam dize değerlerini göstermek için olarak ayarlayın. |
Delta Gölü
kullanarak format("delta")delta lake tablosuna akış yazarken aşağıdaki seçenekler geçerlidir. , ve partitionOverwriteMode gibi overwriteSchemareplaceWhereyalnızca üzerine yazma seçenekleri akış yazma işlemleri için desteklenmez.
| Key | Varsayılan | Açıklama |
|---|---|---|
mergeSchema |
false |
Akış DataFrame yeni sütunlar içerdiğinde Delta Lake tablo şemasının geliştirilip geliştirilmeyeceği. Yalnızca ekleme çıkış modu için geçerlidir. Tablo şemasını güncelleştirme için geçerlidir. |
userMetadata |
None | Yazma işlemi için işleme meta verilerine eklenen kullanıcı tanımlı bir dize. çıktısında DESCRIBE HISTORYgörünür.
Özel meta verilerle tabloları zenginleştirme için geçerlidir. |
Dosya havuzu
Dosya tabanlı biçimlere (Parquet, JSON, CSV, ORC, metin) akış yazarken aşağıdaki seçenek geçerlidir. Biçime özgü seçenekler için bkz. DataFrameWriter seçenekleri.
| Key | Varsayılan | Açıklama |
|---|---|---|
retention |
None | Hataya dayanıklılık ve sıkıştırma için kullanılan havuz meta veri dosyalarını saklama süresi. veya 24 hoursgibi 7 days bir zaman dizesi kabul eder. Ayarlanmadığında meta veri dosyaları süresiz olarak korunur. |
Kafka havuzu
Kafka'ya akış yazmaya yönelik seçeneklerin tam listesi için bkz. Seçenekler.
| Key | Varsayılan | Açıklama |
|---|---|---|
kafka.bootstrap.servers |
None | Gerekli. Kafka aracı host:port adreslerinin virgülle ayrılmış listesi. |
topic |
None | Tüm satırlar için hedef Kafka konusu. DataFrame bir topic sütun içermiyorsa gereklidir. |
kafka.* |
None | ön eki ile kafka.önekli herhangi bir Kafka üretici yapılandırması. Örneğin, kafka.compression.type. |
Bellek havuzu
| Key | Varsayılan | Açıklama |
|---|---|---|
queryName |
Yok (gerekli) | Sorgunun yazdığı bellek içi tablonun adı. Bellek havuzu için gereklidir. ayrıca aracılığıyla .queryName()da yapılandırılabilir. |
mode |
exactlyonce |
Bellek havuzu için teslim garantisi.
exactlyonce tam olarak bir kez semantiği olan mikro toplu iş modunu kullanır.
atleastonce en az bir kez semantik ile sürekli modu kullanır. Geçerli değerler: exactlyonce, atleastonce. |
Spark işlevi seçenekleri
Bazı Spark SQL yerleşik işlevleri ayrıştırma veya serileştirme davranışını denetleyan bir options haritayı kabul eder. Seçenekleri Python dict veya Scala Map[String, String] olarak geçirin.
Example
Aşağıdaki örnek, hatalı biçimlendirilmiş kayıtları bırakırken JSON sütununu ayrıştırmaktadır:
Python
from pyspark.sql.functions import from_json
from pyspark.sql.types import StructType, StructField, StringType
schema = StructType([StructField("name", StringType())])
df = df.withColumn("parsed", from_json("json_col", schema, {"mode": "DROPMALFORMED"}))
Scala
import org.apache.spark.sql.functions.from_json
import org.apache.spark.sql.types._
val schema = StructType(Seq(StructField("name", StringType)))
val df = df.withColumn("parsed", from_json(col("json_col"), schema, Map("mode" -> "DROPMALFORMED")))
Avro
Avro işlevleri, ilgili DataFrame seçenekleriyle aynı seçenekleri kabul edin:
-
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 | Açıklama |
|---|---|---|
schemaId |
None | ile uyumlu olmayan jsonFormatSchemabir şema ile kodlanmış Avro verilerinin kodunu çözerken kullanılacak Confluent Şema Kayıt Defteri'nden şema kimliği. Yalnızca için from_avro geçerlidir. |
confluent.schema.registry.* |
None | Confluent Schema Registry istemci yapılandırma özellikleri. Temel kimlik doğrulaması kimlik bilgileri gibi confluent.schema.registry.basic.auth.user.info bu ön eki kullanarak herhangi bir Confluent SR istemci özelliğini geçirin. ve to_avroşema kayıt defteri değişkenleri from_avro için gereklidir. |
CSV
CSV işlevleri, ilgili DataFrame seçenekleriyle aynı seçenekleri kabul edin:
-
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:
| Key | Varsayılan | Açıklama |
|---|---|---|
mode |
FAILFAST |
Bozuk kayıtları işleme.
FAILFAST, özel durum oluşturur:
PERMISSIVE hatalı biçimlendirilmiş alanları null olarak ayarlar. Geçerli değerler: FAILFAST, PERMISSIVE. için from_protobufgeçerlidir. |
recursive.fields.max.depth |
-1 (devre dışı) |
Özyinelemeli Protobuf alanları için en fazla özyineleme derinliği.
0 Özyinelemeli alan desteğini kapatmak için olarak ayarlayın. Geçerli değerler: 0 - 10. için from_protobufgeçerlidir. |
convert.any.fields.to.json |
false |
Protobuf Any alanlarının STRUCTyerine bir JSON dizesine dönüştürülip dönüştürülmeyeceği. için from_protobufgeçerlidir. |
emit.default.values |
false |
Alanların sıfır veya varsayılan değerlerle (proto3 semantiği) yayılıp yayılmayacağı. Olduğunda false, varsayılan değerlere sahip alanlar çıkıştan atlanır. için from_protobufgeçerlidir. |
enums.as.ints |
false |
Numaralandırma alanlarının dizeler yerine tamsayı değerleri olarak işlenip işlenmeyeceği. için from_protobufgeçerlidir. |
upcast.unsigned.ints |
false |
Tamsayı taşmasını önlemek için yukarı ve yukarı Decimal(20,0) yayın uint32Longuint64 yapılıp yapılmayacağını. için from_protobufgeçerlidir. |
unwrap.primitive.wrapper.types |
false |
Sarmalayıcı türlerinin (örneğin, Int32Value ve StringValue) ilgili ilkel Spark türlerine açılıp çıkarılmayacağıgoogle.protobuf. için from_protobufgeçerlidir. |
retain.empty.message.types |
false |
Sahte bir sütun ekleyerek çıkış şemasında boş Protobuf ileti türlerinin tutulup tutulmayacağı. için from_protobufgeçerlidir. |
schema.registry.subject |
None | Şema Kayıt Defteri konu adı. ve to_protobufşema kayıt defteri değişkenlerini from_protobuf kullanırken gereklidir. |
schema.registry.address |
None | Şema Kayıt Defteri adresi (konak ve bağlantı noktası). ve to_protobufşema kayıt defteri değişkenlerini from_protobuf kullanırken gereklidir. |
schema.registry.protobuf.name |
None | Şema kayıt defteri konusu birden çok ileti içerdiğinde hangi Protobuf iletisinin kullanılacağını belirtir. Optional. |
XML
XML işlevleri, karşılık gelen DataFrame seçenekleriyle aynı seçenekleri kabul edin:
-
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")))