Share via


read_files tablo değerli işlev

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 13.3 LTS ve üzeri

Sağlanan bir konum altındaki dosyaları okur ve verileri tablo biçiminde döndürür.

, , , CSVXML, , TEXT, BINARYFILE, PARQUET, AVROve ORC dosya biçimlerini okumayı JSONdestekler. Dosya biçimini otomatik olarak algılayabilir ve tüm dosyalar arasında birleşik bir şema çıkarsayabilirsiniz.

Söz dizimi

read_files(path [, option_key => option_value ] [...])

Bağımsız değişkenler

Bu işlev, seçenek anahtarları için adlandırılmış parametre çağırması gerektirir.

  • path: Verilerin konumunun URI'sine sahip A STRING . Azure Data Lake Storage 2. Nesil (), S3 ('abfss://'s3://) ve Google Cloud Depolama ('gs://') ile okumayı destekler. Glob içerebilir. Diğer ayrıntılar için bkz . Dosya bulma .
  • option_key: Yapılandırılan seçeneğin adı. Nokta () içeren seçenekler için backticks. (') kullanmanız gerekir.
  • option_value: Seçeneğin ayarlanacağı sabit ifade. Değişmez değerleri ve skaler işlevleri kabul eder.

Döndürülenler

Verilen pathaltında okunan dosyalardan alınan verilerden oluşan bir tablo.

Dosya bulma

read_files tek bir dosyayı okuyabilir veya sağlanan bir dizin altındaki dosyaları okuyabilir. read_filesbelirli bir dizin desenine yineleme talimatı read_files veren bir glob sağlanmadığı sürece sağlanan dizin altındaki tüm dosyaları özyinelemeli olarak bulur.

Glob desenlerini kullanarak dizinleri veya dosyaları filtreleme

Glob desenleri, yolda sağlandığında dizinleri ve dosyaları filtrelemek için kullanılabilir.

Desen Açıklama
? Herhangi bir tek karakterle eşleşir
* Sıfır veya daha çok sayıda karakterle eşleşir
[abc] {a,b,c} karakter kümesindeki tek bir karakterle eşleşir.
[a-z] {a... karakter aralığındaki tek bir karakterle eşleşir. z}.
[^a] {a} karakter kümesinden veya aralıktan olmayan tek bir karakterle eşleşir. Karakterin ^ , açılış köşeli ayraçlarının hemen sağ kısmında yer alması gerektiğini unutmayın.
{ab,cd} {ab, cd} dize kümesindeki bir dizeyle eşleşir.
{ab,c{de, fh}} {ab, cde, cfh} dize kümesindeki bir dizeyle eşleşir.

read_files glob içeren dosyaları keşfederken Otomatik Yükleyici'nin sıkı globber'ını kullanır. Bu seçenek tarafından useStrictGlobber yapılandırılır. Katı globber devre dışı bırakıldığında, sondaki eğik çizgiler (/) bırakılır ve gibi /*/ bir yıldız deseni birden çok dizini keşfetmeye genişletilebilir. Davranış farkını görmek için aşağıdaki örneklere bakın.

Desen Dosya yolu Sıkı globber devre dışı Katı globber etkin
/a/b /a/b/c/file.txt Evet Evet
/a/b /a/b_dir/c/file.txt Hayır Hayır
/a/b /a/b.txt Hayır Hayır
/a/b/ /a/b.txt Hayır Hayır
/a/*/c/ /a/b/c/file.txt Evet Evet
/a/*/c/ /a/b/c/d/file.txt Evet Evet
/a/*/d/ /a/b/c/d/file.txt Evet Hayır
/a/*/c/ /a/b/x/y/c/file.txt Evet Hayır
/a/*/c /a/b/c_file.txt Evet Hayır
/a/*/c/ /a/b/c_file.txt Evet Hayır
/a/*/c /a/b/cookie/file.txt Evet Hayır
/a/b* /a/b.txt Evet Evet
/a/b* /a/b/file.txt Evet Evet
/a/{0.txt,1.txt} /a/0.txt Evet Evet
/a/*/{0.txt,1.txt} /a/0.txt Hayır Hayır
/a/b/[cde-h]/i/ /a/b/c/i/file.txt Evet Evet

Şema çıkarımı

Dosyaların şeması seçeneğiyle schema açıkça sağlanabilirread_files. Şema sağlanmadığında, read_files bulunan dosyalar arasında birleştirilmiş bir şema çıkarsamaya çalışır ve bu, bir LIMIT deyim kullanılmadığı sürece tüm dosyaların okunmasını gerektirir. Sorgu kullanırken LIMIT bile, verilerin daha temsili bir şemasını döndürmek için gerekenden daha büyük bir dosya kümesi okunabilir. Databricks, bir kullanıcı sağlamadıysa not defterlerindeki sorgular ve SQL düzenleyicisi için SELECT otomatik olarak bir LIMIT deyim ekler.

seçeneği schemaHints , çıkarsanan şemanın alt kümelerini düzeltmek için kullanılabilir. Daha fazla ayrıntı için bkz . Şema ipuçlarını kullanarak şema çıkarımı geçersiz kılma.

varsayılan rescuedDataColumn olarak şemayla eşleşmeyen tüm verileri kurtarmak için sağlanır. Diğer ayrıntılar için bkz. Kurtarılan veri sütunu nedir? seçeneğini schemaEvolutionMode => 'none'ayarlayarak öğesini bırakabilirsinizrescuedDataColumn.

Bölüm şeması çıkarımı

read_filesdosyalar Hive stili bölümlenmiş dizinler altında depolanıyorsa bölümleme sütunlarını da çıkarabilir./column_name=column_value/ sağlanmışsa schema , bulunan bölüm sütunları içinde schemasağlanan türleri kullanır. Bölüm sütunları sağlanan schemaöğesinin parçası değilse, çıkarsanan bölüm sütunları yoksayılır.

Hem bölüm şemasında hem de veri sütunlarında bir sütun varsa, veri değeri yerine bölüm değerinden okunan değer kullanılır. Dizinden gelen değerleri yoksaymak ve veri sütununu kullanmak istiyorsanız, virgülle ayrılmış bir listedeki bölüm sütunlarının listesini seçeneğiyle partitionColumns sağlayabilirsiniz.

seçeneği partitionColumns , bulunan sütunların son çıkarılan şemaya dahil edilmesi gerektiğini bildirmek read_files için de kullanılabilir. Boş bir dize sağlanması tüm bölüm sütunlarını yoksayar.

Bölüm schemaHints sütunu için çıkarsanan şemayı geçersiz kılmak için seçeneği de sağlanabilir.

ve biçimleri sabit TEXT bir şemaya sahiptir, ancak read_files mümkün olduğunda bu biçimler için bölümleme çıkarımını da BINARYFILE dener.

Akış tablolarında kullanım

read_files dosyaları Delta Lake'e almak için akış tablolarında kullanılabilir. read_files bir akış tablosu sorgusunda kullanıldığında Otomatik Yükleyici'yi kullanır. anahtar sözcüğünü STREAM ile read_fileskullanmanız gerekir. Diğer ayrıntılar için bkz. Otomatik Yükleyici nedir?

Akış sorgusunda kullanıldığında, read_files şemayı çıkarsamak için verilerin bir örneğini kullanır ve daha fazla veri işledikçe şemayı geliştirebilir. Daha fazla ayrıntı için bkz . Otomatik Yükleyici'de şema çıkarımı ve evrimi yapılandırma.

Seçenekler

Temel Seçenekler

Seçenek
format

Tür: String

Kaynak yoldaki veri dosyası biçimi. Sağlanmazsa otomatik çıkarılır. İzin verilen değerler şunlardır:

* avro: Avro dosyası
* binaryFile: İkili dosya
* csv: CSV dosyalarını okuma ve yazma
* json: JSON dosyası
* orc: ORC dosyası
* parquet: Azure Databricks kullanarak Parquet dosyalarını okuma
* text: Metin dosyaları
* xml: XML dosyalarını okuma ve yazma

Varsayılan değer: Yok
inferColumnTypes

Tür: Boolean

Ş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 çıkarılır. Daha fazla ayrıntı için bkz . şema çıkarımı . Bunun Otomatik Yükleyici varsayılanının tersi olduğunu unutmayın.

Varsayılan değer: true
partitionColumns

Tür: String

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ı , bve cşeklindedira. Varsayılan olarak, şema çıkarımı kullanıyorsanız ve yüklenecek verileri sağlıyorsanız <base-path> bu sütunlar şemanıza otomatik olarak eklenir. Bir şema sağlarsanız, Otomatik Yükleyici bu sütunların şemaya eklenmesini bekler. Bu sütunları şemanızın bir parçası olarak istemiyorsanız, bu sütunları yoksaymak için belirtebilirsiniz "" . Ayrıca, aşağıdaki örnekte olduğu gibi sütunların karmaşık dizin yapılarında dosya yolunun çıkarılmasını istediğinizde bu seçeneği kullanabilirsiniz:

<base-path>/year=2022/week=1/file1.csv
<base-path>/year=2022/month=2/day=3/file2.csv
<base-path>/year=2022/month=2/day=4/file3.csv

Olarak year,month,day belirtilmesi cloudFiles.partitionColumns döndürülecek
year=2022 için file1.csv, ancak month ve day sütunları olacaktır null.
month ve day ve için file2.csvfile3.csvdoğru şekilde ayrıştırılır.

Varsayılan değer: Yok
schemaHints

Tür: String

Ş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.

Varsayılan değer: Yok
useStrictGlobber

Tür: Boolean

Apache Spark'taki diğer dosya kaynaklarının varsayılan globbing davranışıyla eşleşen katı bir globber kullanıp kullanmayacağınız. Diğer ayrıntılar için bkz . Yaygın veri yükleme desenleri . Databricks Runtime 12.2 LTS ve üzerinde kullanılabilir. Bunun Otomatik Yükleyici için varsayılanın tersi olduğunu unutmayın.

Varsayılan değer: true

Genel seçenekler

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

Seçenek
ignoreCorruptFiles

Tür: Boolean

Bozuk dosyaların yoksayılıp yoksayılmayacağı. 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çinde olduğu gibi numSkippedCorruptFiles gözlemlenebilir
operationMetrics Delta Lake geçmişinin sütunu. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir.

Varsayılan değer: false
ignoreMissingFiles

Tür: Boolean

Eksik dosyaların yoksayılıp yoksayılmayacağı. Doğruysa, Spark işleri eksik dosyalarla karşılaşıldığında çalışmaya devam eder ve okunan içerik yine döndürülür. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir.

Varsayılan değer: false (true için COPY INTO)
modifiedAfter

Tür: Timestamp String, örneğin, 2021-01-01 00:00:00.000000 UTC+0

Sağlanan zaman damgasından sonra değişiklik zaman damgasına sahip dosyaları almak için isteğe bağlı bir zaman damgası.

Varsayılan değer: Yok
modifiedBefore

Tür: Timestamp String, örneğin, 2021-01-01 00:00:00.000000 UTC+0

Sağlanan zaman damgasından önce değişiklik zaman damgası olan dosyaları almak için isteğe bağlı bir zaman damgası.

Varsayılan değer: Yok
pathGlobFilter veya fileNamePattern

Tür: String

Dosya seçmeye yönelik olası bir glob deseni. Eşdeğer
PATTERNiçinde .COPY INTO fileNamePattern içinde read_fileskullanılabilir.

Varsayılan değer: Yok
recursiveFileLookup

Tür: Boolean

Şema çıkarımı sırasında bölüm çıkarımının atlanıp atlanmadığı. Bu, hangi dosyaların yüklendiğini etkilemez.

Varsayılan değer: false

JSON Seçenekler

Seçenek
allowBackslashEscapingAnyCharacter

Tür: Boolean

Ters eğik çizginin başarılı olan herhangi bir karakterden kaçmasına izin verilip verilmeyeceği. Etkinleştirilmemişse, yalnızca JSON belirtimi tarafından açıkça listelenen karakterlerden kaçılabilir.

Varsayılan değer: false
allowComments

Tür: Boolean

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.

Varsayılan değer: false
allowNonNumericNumbers

Tür: Boolean

Bir sayı olmayan (NaN) belirteç kümesinin yasal kayan sayı değerleri olarak izin verilip verilmeyeceği.

Varsayılan değer: true
allowNumericLeadingZeros

Tür: Boolean

İntegral sayıların ek (yoksayılabilir) sıfırlarla başlamasına izin verilip verilmeyeceği (örneğin, 000001).

Varsayılan değer: false
allowSingleQuotes

Tür: Boolean

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.

Varsayılan değer: true
allowUnquotedControlChars

Tür: Boolean

JSON dizelerinin sıralanmamış denetim karakterleri (sekme ve satır besleme karakterleri dahil olmak üzere 32'den küçük ASCII karakterleri) içermesine izin verilip verilmeyeceği.

Varsayılan değer: false
allowUnquotedFieldNames

Tür: Boolean

Okunmamış alan adlarının kullanımına izin verilip verilmeyeceği (JavaScript tarafından izin verilir, ancak JSON belirtimi tarafından izin verilmez).

Varsayılan değer: false
badRecordsPath

Tür: String

Hatalı JSON kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu.

Varsayılan değer: Yok
columnNameOfCorruptRecord

Tür: String

Hatalı biçimlendirilmiş ve ayrıştırılamayan kayıtları depolama sütunu. mode ayrıştırma için olarak DROPMALFORMEDayarlanırsa, bu sütun boş olur.

Varsayılan değer: _corrupt_record
dateFormat

Tür: String

Tarih dizelerini ayrıştırma biçimi.

Varsayılan değer: yyyy-MM-dd
dropFieldIfAllNull

Tür: Boolean

Şema çıkarımı sırasında tüm null değerlerin veya boş dizilerin ve yapıların sütunlarının yoksayılıp yoksayılmayacağı.

Varsayılan değer: false
encoding veya charset

Tür: String

JSON dosyalarının kodlama adı. Seçeneklerin listesi için bkz java.nio.charset.Charset . ve UTF-32 olduğunda multilinetruekullanamazsınızUTF-16.

Varsayılan değer: UTF-8
inferTimestamp

Tür: Boolean

Zaman damgası dizelerinin olarak TimestampTypeçıkarılıp çıkarılmayacağı. Olarak ayarlandığında
true, şema çıkarımı önemli ölçüde daha uzun sürebilir. Otomatik Yükleyici ile kullanmayı etkinleştirmeniz cloudFiles.inferColumnTypes gerekir.

Varsayılan değer: false
lineSep

Tür: String

Ardışık iki JSON kaydı arasındaki dize.

Varsayılan değer: Hiçbiri, , \r\nve'yi kapsar \r\n
locale

Tür: String

Tanımlayıcı java.util.Locale . JSON içinde varsayılan tarih, zaman damgası ve ondalık ayrıştırma işlemini etkiler.

Varsayılan değer: US
mode

Tür: String

Hatalı biçimlendirilmiş kayıtları işleme etrafında ayrıştırıcı modu. 'nin biri 'PERMISSIVE'
'DROPMALFORMED'veya 'FAILFAST'.

Varsayılan değer: PERMISSIVE
multiLine

Tür: Boolean

JSON kayıtlarının birden çok satıra yayılıp yayılmadığı.

Varsayılan değer: false
prefersDecimal

Tür: Boolean

Mümkün olduğunda kayan veya çift tür yerine dizeleri olarak DecimalType çıkarsamaya çalışır. Ayrıca, etkinleştirerek şema çıkarımı kullanmanız gerekir
inferSchema veya Otomatik Yükleyici ile kullanma cloudFiles.inferColumnTypes .

Varsayılan değer: false
primitivesAsString

Tür: Boolean

Sayı ve boole gibi ilkel türlerin olarak StringTypeçıkarılıp çıkarılmayacağı.

Varsayılan değer: false
readerCaseSensitive

Tür: Boolean

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; aksi takdirde, verileri büyük/küçük harfe duyarlı olmayan bir şekilde okuyun. Databricks Runtime'da kullanılabilir
13.3 ve üzeri.

Varsayılan değer: true
rescuedDataColumn

Tür: String

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.

Varsayılan değer: Yok
timestampFormat

Tür: String

Zaman damgası dizelerini ayrıştırma biçimi.

Varsayılan değer: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Tür: String

java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak.

Varsayılan değer: Yok

CSV Seçenekler

Seçenek
badRecordsPath

Tür: String

Bozuk CSV kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu.

Varsayılan değer: Yok
charToEscapeQuoteEscaping

Tür: Char

Tırnak işaretinden kaçmak için kullanılan karakter. Örneğin, aşağıdaki kayıt için: [ " a\\", b ]

* kaçış '\' karakteri tanımsızsa, kayıt ayrıştırılmaz. Ayrıştırıcı karakterleri okur: [a],[\],["],[,],[ ],[b] ve kapanış tırnak işareti bulamadığından bir hata oluşturur.
* kaçış '\' karakteri olarak '\'tanımlanırsa, kayıt 2 değerle okunur: [a\] ve [b].

Varsayılan değer: '\0'
columnNameOfCorruptRecord

> [! NOT] >> Otomatik Yükleyici için desteklenir. için COPY INTOdesteklenmez.

Tür: String

Hatalı biçimlendirilmiş ve ayrıştırılamayan kayıtları depolama sütunu. mode ayrıştırma için olarak DROPMALFORMEDayarlanırsa, bu sütun boş olur.

Varsayılan değer: _corrupt_record
comment

Tür: Char

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' .

Varsayılan değer: '\u0000'
dateFormat

Tür: String

Tarih dizelerini ayrıştırma biçimi.

Varsayılan değer: yyyy-MM-dd
emptyValue

Tür: String

Boş bir değerin dize gösterimi.

Varsayılan değer: ""
encoding veya charset

Tür: String

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.

Varsayılan değer: UTF-8
enforceSchema

Tür: Boolean

Belirtilen veya çıkarsanan şemanın CSV dosyalarına zorla uygulanıp uygulanmayacağı. Seçenek etkinleştirilirse, CSV dosyalarının üst bilgileri yoksayılır. Verileri kurtarmak ve şema evrimine izin vermek için Otomatik Yükleyici kullanılırken bu seçenek varsayılan olarak yoksayılır.

Varsayılan değer: true
escape

Tür: Char

Verileri ayrıştırırken kullanılacak kaçış karakteri.

Varsayılan değer: '\'
header

Tür: Boolean

CSV dosyalarının üst bilgi içerip içermediği. Otomatik Yükleyici, şema çıkarılırken dosyaların üst bilgileri olduğunu varsayar.

Varsayılan değer: false
ignoreLeadingWhiteSpace

Tür: Boolean

Ayrıştırılan her değer için baştaki boşluklar yoksayılıp yoksayılmayacağı.

Varsayılan değer: false
ignoreTrailingWhiteSpace

Tür: Boolean

Ayrıştırılan her değer için sondaki boşlukların yoksayılıp yoksayılmayacağı.

Varsayılan değer: false
inferSchema

Tür: Boolean

Ayrıştırılan CSV kayıtlarının veri türlerinin çıkarılıp çıkarılmayacağı veya tüm sütunların içinde StringTypeolduğu varsayılıp varsayılmayacağı. olarak ayarlanırsa trueveriler üzerinde ek bir geçiş gerektirir. Otomatik Yükleyici için bunun yerine kullanın cloudFiles.inferColumnTypes .

Varsayılan değer: false
lineSep

Tür: String

Ardışık iki CSV kaydı arasındaki dize.

Varsayılan değer: Hiçbiri, , \r\nve'yi kapsar \r\n
locale

Tür: String

Tanımlayıcı java.util.Locale . CSV içinde varsayılan tarih, zaman damgası ve ondalık ayrıştırma işlemini etkiler.

Varsayılan değer: US
maxCharsPerColumn

Tür: Int

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 olarak -1değeri, sınırsız anlamına gelir.

Varsayılan değer: -1
maxColumns

Tür: Int

Bir kaydın kaç sütuna sahip olabileceğinin sabit sınırı.

Varsayılan değer: 20480
mergeSchema

Tür: Boolean

Şemanın birden çok dosya arasında çıkarılıp çıkarılmayacağı ve her dosyanın şemasının birleştirilip birleştirmeyeceği. Şema çıkarıldığında Otomatik Yükleyici için varsayılan olarak etkindir.

Varsayılan değer: false
mode

Tür: String

Hatalı biçimlendirilmiş kayıtları işleme etrafında ayrıştırıcı modu. 'nin biri 'PERMISSIVE'
'DROPMALFORMED''FAILFAST've .

Varsayılan değer: PERMISSIVE
multiLine

Tür: Boolean

CSV kayıtlarının birden çok satıra yayılıp yayılmadığı.

Varsayılan değer: false
nanValue

Tür: String

ve DoubleType sütunlarını ayrıştırırken sayı olmayan bir değerin FloatType dize gösterimi.

Varsayılan değer: "NaN"
negativeInf

Tür: String

Veya sütunları ayrıştırırken FloatTypeDoubleType negatif sonsuzluğun dize gösterimi.

Varsayılan değer: "-Inf"
nullValue

Tür: String

Null değerin dize gösterimi.

Varsayılan değer: ""
parserCaseSensitive (kullanım dışı)

Tür: Boolean

Dosyalar okunurken, üst bilgide bildirilen sütunların şema büyük/küçük harfle hassas bir şekilde hizalanıp hizalanmayacağı. 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, etkinse içinde rescuedDataColumn kurtarılır. Bu seçenek yerine kullanım dışı readerCaseSensitivebırakılmıştır.

Varsayılan değer: false
positiveInf

Tür: String

Veya sütunları ayrıştırırken FloatTypeDoubleType pozitif sonsuzluğun dize gösterimi.

Varsayılan değer: "Inf"
preferDate

Tür: Boolean

Mümkün olduğunda dizeleri zaman damgası yerine tarih olarak çıkarma girişiminde bulunur. Ayrıca, etkinleştirerek inferSchema veya kullanarak şema çıkarımı kullanmanız gerekir
cloudFiles.inferColumnTypes otomatik yükleyici ile.

Varsayılan değer: true
quote

Tür: Char

Alan sınırlayıcısının değerin bir parçası olduğu değerlerden kaçış için kullanılan karakter.

Varsayılan değer: "
readerCaseSensitive

Tür: Boolean

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; aksi takdirde, verileri büyük/küçük harfe duyarlı olmayan bir şekilde okuyun.

Varsayılan değer: true
rescuedDataColumn

Tür: String

Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf 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. Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.

Varsayılan değer: Yok
sep veya delimiter

Tür: String

Sütunlar arasındaki ayırıcı dize.

Varsayılan değer: ","
skipRows

Tür: Int

CSV dosyasının başından yoksayılması gereken satır sayısı (açıklamalı ve boş satırlar dahil). header True ise, üst bilgi ilk sıralanmamış ve sıkıştırılmamış satır olur.

Varsayılan değer: 0
timestampFormat

Tür: String

Zaman damgası dizelerini ayrıştırma biçimi.

Varsayılan değer: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Tür: String

java.time.ZoneId Zaman damgalarını ve tarihleri ayrıştırırken kullanılacak.

Varsayılan değer: Yok
unescapedQuoteHandling

Tür: String

Ayarlanmamış tırnakları işleme stratejisi. İzin verilen seçenekler:

* STOP_AT_CLOSING_QUOTE: Girişte serbest tırnaklar bulunursa, tırnak karakterini biriktirin ve kapanış teklifi bulunana kadar değeri tırnak içinde bir değer olarak ayrıştırmaya devam edin.
* BACK_TO_DELIMITER: Girişte sıralanmamış tırnak işaretleri bulunursa, değeri tırnak içine alınmamış bir değer olarak düşünün. Bu, ayrıştırıcının tarafından tanımlanan sep sınırlayıcı bulunana kadar geçerli ayrıştırılan değerin tüm karakterlerini toplamasını sağlar. Değerde sınırlayıcı bulunmazsa, ayrıştırıcı bir sınırlayıcı veya satır sonu bulunana kadar girişteki karakterleri biriktirmeye devam eder.
* STOP_AT_DELIMITER: Girişte sıralanmamış tırnak işaretleri bulunursa, değeri tırnak içine alınmamış bir değer olarak düşünün. Bu, ayrıştırıcının tarafından septanımlanan sınırlayıcı veya girişte bir satır sonu bulunana kadar tüm karakterleri birikmesini sağlar.
* SKIP_VALUE: Girişte ayarlanmamış tırnak işaretleri bulunursa, verilen değer için ayrıştırılan içerik atlanır (bir sonraki sınırlayıcı bulunana kadar) ve bunun yerine içinde nullValue ayarlanan değer oluşturulur.
* RAISE_ERROR: Girişte ayarlanmamış tırnak işaretleri bulunursa,
TextParsingException atılır.

Varsayılan değer: STOP_AT_DELIMITER

XML Seçenekler

Seçenek Açıklama Scope
rowTag Satır olarak ele almak için XML dosyalarının satır etiketi. Örnek XML'de <books> <book><book>...<books>, uygun değer şeklindedir book. Bu gerekli bir seçenektir. okuma
samplingRatio Ş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. Varsayılan: 1.0. okuma
excludeAttribute Öğelerdeki özniteliklerin dışlanıp dışlanmaymayacağı. Varsayılan: false. okuma
mode Ayrıştırma sırasında bozuk kayıtlarla ilgilenme modu.

PERMISSIVE: Bozuk kayıtlar için, hatalı biçimlendirilmiş dizeyi tarafından columnNameOfCorruptRecordyapılandırılan bir alana yerleştirir ve hatalı biçimlendirilmiş alanları olarak nullayarlar. 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 bir 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ıtları karşıladığında bir özel durum oluşturur.
okuma
inferSchema ise true, sonuçta elde edilen her DataFrame sütunu için uygun bir tür çıkarsamaya çalışır. ise false, elde edilen tüm sütunlar türündedir string . Varsayılan:
true. XML yerleşik işlevleri bu seçeneği yoksayar.
okuma
columnNameOfCorruptRecord Tarafından oluşturulan hatalı biçimlendirilmiş bir dize içeren yeni alanın yeniden adlandırılmasına izin verir
PERMISSIVE Modu. Varsayılan: spark.sql.columnNameOfCorruptRecord.
okuma
attributePrefix Ö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. okuma, yazma
valueTag Öznitelikleri veya alt öğeleri de olan öğelerdeki karakter verileri için kullanılan etiket. Kullanıcı, şemadaki alanı belirtebilir valueTag veya karakter verileri diğer öğelere veya özniteliklere sahip öğelerde mevcut olduğunda şema çıkarımı sırasında otomatik olarak eklenir. Varsayılan: _VALUE okuma,yazma
encoding 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. Varsayılan: UTF-8. okuma, yazma
ignoreSurroundingSpaces Okunan değerlerdeki çevresindeki boşlukların atlanıp atlanmayacağını tanımlar. Varsayılan: true. Yalnızca boşluk karakter verileri yoksayılır. okuma
rowValidationXSDPath 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 yukarıdaki gibi ayrıştırma hataları olarak değerlendirilir. XSD, sağlanan veya çıkarılmış şemayı başka bir şekilde etkilemez. okuma
ignoreNamespace XML öğeleri ve özniteliklerindeki ad alanlarının ön ekleri yoksayılırsa true. Etiketler <abc:author> ve <def:author>, örneğin, her ikisi de yalnızca <author>olarak değerlendirilir. Ad alanları öğede rowTag yoksayılamaz, yalnızca okuma alt öğeleridir. XML ayrıştırma, olsa falsebile ad alanı tanımaz. Varsayılan: false. okuma
timestampFormat Tarih saat deseni biçimini izleyen özel zaman damgası biçim dizesi. Bu tür için timestamp geçerlidir. Varsayılan: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. okuma, yazma
timestampNTZFormat Tarih saat deseni biçimini izleyen saat dilimi olmayan zaman damgası için özel biçim dizesi. Bu, TimestampNTZType türü için geçerlidir. Varsayılan:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
okuma, yazma
dateFormat Tarih saat deseni biçimini izleyen özel tarih biçimi dizesi. Bu, tarih türü için geçerlidir. Varsayılan: yyyy-MM-dd. okuma, yazma
locale 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. Varsayılan: en-US. okuma
rootTag XML dosyalarının kök etiketi. Örneğin, içinde <books> <book><book>...</books>uygun değer şeklindedir books. gibi books foo="bar"bir değer belirterek temel öznitelikler ekleyebilirsiniz. Varsayılan: ROWS. yazma
declaration Her çıktı XML dosyasının başında, öncesinde yazacak XML bildiriminin rootTagiçeriği. Örneğin, bir değeri foo yazılması için nedenler <?xml foo?> . Gizlenecek boş bir dizeye ayarlayın. Varsayılan: version="1.0"
encoding="UTF-8" standalone="yes".
yazma
arrayElementName Yazarken dizi değerli bir sütunun her öğesini kapsayan XML öğesinin adı. Varsayılan: item. yazma
nullValue Null değerin dize gösterimini ayarlar. Varsayılan: dize null. Bu olduğunda null, ayrıştırıcı alanlar için öznitelikler ve öğeler yazmaz. okuma, yazma
compression Dosyaya kaydederken kullanılacak sıkıştırma kodu. Bu, bilinen büyük/küçük harfe duyarlı olmayan kısaltılmış adlardan biri olabilir (none, bzip2, gzip,lz4, snappy', and<br>deflate'). XML yerleşik işlevleri bu seçeneği yoksayar. Varsayılan: none. yazma
validateName True ise, XML öğesi adı doğrulama hatasında bir hata oluşturur. Örneğin, SQL alan adlarının boşlukları olabilir, ancak XML öğesi adları olamaz. Varsayılan:
true.
yazma
readerCaseSensitive rescuedDataColumn etkinleştirildiğinde 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; aksi takdirde, verileri büyük/küçük harfe duyarlı olmayan bir şekilde okuyun. Varsayılan: true. okuma
rescuedDataColumn Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf 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. Daha fazla ayrıntı için bkz . Kurtarılan veri sütunu nedir?. Varsayılan: Yok. okuma

PARQUET Seçenekler

Seçenek
datetimeRebaseMode

Tür: String

Julian ve Proleptik Gregoryen takvimler arasında TARİh ve ZAMAN DAMGASI değerlerinin yeniden boyutlandırmasını denetler. İzin verilen değerler: EXCEPTION, LEGACYve
CORRECTED.

Varsayılan değer: LEGACY
int96RebaseMode

Tür: String

Julian ve Proleptik Gregoryen takvimler arasında INT96 zaman damgası değerlerinin yeniden bağlanmasını denetler. İzin verilen değerler: EXCEPTION, LEGACYve
CORRECTED.

Varsayılan değer: LEGACY
mergeSchema

Tür: Boolean

Şemanın birden çok dosya arasında çıkarılıp çıkarılmayacağı ve her dosyanın şemasının birleştirilip birleştirmeyeceği.

Varsayılan değer: false
readerCaseSensitive

Tür: Boolean

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; aksi takdirde, verileri büyük/küçük harfe duyarlı olmayan bir şekilde okuyun.

Varsayılan değer: true
rescuedDataColumn

Tür: String

Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf 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. Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.

Varsayılan değer: Yok

AVRO Seçenekler

Seçenek
avroSchema

Tür: String

Kullanıcı tarafından Avro biçiminde sağlanan isteğe bağlı şema. Avro okunurken bu seçenek, gerçek Avro şemasıyla uyumlu ancak farklı olan gelişmiş bir şemaya ayarlanabilir. Seri durumdan çıkarma şeması, geliştirilen şemayla tutarlı olacaktır. Örneğin, varsayılan değere sahip bir ek sütun içeren gelişmiş bir şema ayarlarsanız, okuma sonucu yeni sütunu da içerir.

Varsayılan değer: Yok
datetimeRebaseMode

Tür: String

Julian ve Proleptik Gregoryen takvimler arasında TARİh ve ZAMAN DAMGASI değerlerinin yeniden boyutlandırmasını denetler. İzin verilen değerler: EXCEPTION, LEGACYve
CORRECTED.

Varsayılan değer: LEGACY
mergeSchema

Tür: Boolean

Şemanın birden çok dosya arasında çıkarılıp çıkarılmayacağı ve her dosyanın şemasının birleştirilip birleştirmeyeceği.
mergeSchema avro için veri türlerini gevşetmiyor.

Varsayılan değer: false
readerCaseSensitive

Tür: Boolean

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; aksi takdirde, verileri büyük/küçük harfe duyarlı olmayan bir şekilde okuyun.

Varsayılan değer: true
rescuedDataColumn

Tür: String

Veri türü uyuşmazlığı ve şema uyuşmazlığı (sütun büyük/küçük harf 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. Daha fazla ayrıntı için kurtarılan veri sütunu nedir? konusuna bakın.

Varsayılan değer: Yok

BINARYFILE Seçenekler

İkili dosyalar ek yapılandırma seçeneklerine sahip değildir.

TEXT Seçenekler

Seçenek
encoding

Tür: String

METNEÇEVİr dosyalarının kodlama adı. Seçeneklerin listesi için bkz java.nio.charset.Charset .

Varsayılan değer: UTF-8
lineSep

Tür: String

Ardışık iki METNEÇEVİr kaydı arasındaki dize.

Varsayılan değer: Yok, ve'yi \r\n kapsar \r\n
wholeText

Tür: Boolean

Bir dosyanın tek bir kayıt olarak okunup okunmayacağı.

Varsayılan değer: false

ORC Seçenekler

Seçenek
mergeSchema

Tür: Boolean

Şemanın birden çok dosya arasında çıkarılıp çıkarılmayacağı ve her dosyanın şemasının birleştirilip birleştirmeyeceği.

Varsayılan değer: false

Akış seçenekleri

Bu seçenekler bir akış tablosunun veya akış sorgusun içinde kullanılırken read_files geçerlidir.

Seçenek
allowOverwrites

Tür: Boolean

Bulma işleminden sonra değiştirilmiş dosyaların yeniden işlenip işlenmeyeceği. Dosyanın kullanılabilir en son sürümü, son başarılı yenileme sorgusu başlangıç zamanından bu yana değiştirilmişse yenileme sırasında işlenir.

Varsayılan değer: false
includeExistingFiles

Tür: Boolean

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.

Varsayılan değer: true
maxBytesPerTrigger

Tür: Byte String

Her tetikleyicide işlenecek yeni bayt sayısı üst sınırı. Her mikrobatch değerini 10 GB veriyle sınırlamak için gibi 10g 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. ile maxFilesPerTriggerbirlikte kullanıldığında, Azure Databricks veya alt sınırına maxFilesPerTriggermaxBytesPerTriggerkadar tüketir ve hangisi önce ulaşılırsa.

Not: Sunucusuz SQL ambarlarında oluşturulan akış tabloları için, bu seçenek ve maxFilesPerTrigger size en iyi gecikme süresini ve performansı sağlamak için iş yükü boyutuna ve sunucusuz işlem kaynaklarına göre ölçeklendirilen dinamik erişim denetiminden yararlanacak şekilde ayarlanmamalıdır.

Varsayılan değer: Yok
maxFilesPerTrigger

Tür: Integer

Her tetikleyicide işlenecek en fazla yeni dosya sayısı. ile maxBytesPerTriggerbirlikte kullanıldığında, Azure Databricks veya alt sınırına maxFilesPerTriggermaxBytesPerTriggerkadar tüketir ve hangisi önce ulaşılırsa.

Not: Sunucusuz SQL ambarlarında oluşturulan akış tabloları için, bu seçenek ve maxBytesPerTrigger size en iyi gecikme süresini ve performansı sağlamak için iş yükü boyutuna ve sunucusuz işlem kaynaklarına göre ölçeklendirilen dinamik erişim denetiminden yararlanacak şekilde ayarlanmamalıdır.

Varsayılan değer: 1000
schemaEvolutionMode

Tür: String

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 . Bu seçenek ve binaryFile dosyaları için text geçerli değildir.

Varsayılan değer: "addNewColumns" şema sağlanmadığında.
"none" Aksi takdir -de.
schemaLocation

Tür: String

Çıkarsanan şemayı ve sonraki değişiklikleri depolama konumu. Daha fazla ayrıntı için bkz . şema çıkarımı . Akış tablosu sorgusunda kullanıldığında şema konumu gerekli değildir.

Varsayılan değer: Yok

Örnekler

-- Reads the files available in the given path. Auto-detects the format and schema of the data.
> SELECT * FROM read_files('abfss://container@storageAccount.dfs.core.windows.net/base/path');

-- Reads the headerless CSV files in the given path with the provided schema.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'csv',
    schema => 'id int, ts timestamp, event string');

-- Infers the schema of CSV files with headers. Because the schema is not provided,
-- the CSV files are assumed to have headers.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'csv')

-- Reads files that have a csv suffix.
> SELECT * FROM read_files('s3://bucket/path/*.csv')

-- Reads a single JSON file
> SELECT * FROM read_files(
    'abfss://container@storageAccount.dfs.core.windows.net/path/single.json')

-- Reads JSON files and overrides the data type of the column `id` to integer.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'json',
    schemaHints => 'id int')

-- Reads files that have been uploaded or modified yesterday.
> SELECT * FROM read_files(
    'gs://my-bucket/avroData',
    modifiedAfter => date_sub(current_date(), 1),
    modifiedBefore => current_date())

-- Creates a Delta table and stores the source file path as part of the data
> CREATE TABLE my_avro_data
  AS SELECT *, _metadata.file_path
  FROM read_files('gs://my-bucket/avroData')

-- Creates a streaming table that processes files that appear only after the table's creation.
-- The table will most likely be empty (if there's no clock skew) after being first created,
-- and future refreshes will bring new data in.
> CREATE OR REFRESH STREAMING TABLE avro_data
  AS SELECT * FROM STREAM read_files('gs://my-bucket/avroData', includeExistingFiles => false);