read_files
tablo değerli işlev
Şunlar için geçerlidir: Databricks SQL Databricks Runtime 13.3 LTS ve üzeri
Sağlanan bir konum altındaki dosyaları okur ve verileri tablo biçiminde döndürür.
, , , CSV
XML
, , TEXT
, BINARYFILE
, PARQUET
, AVRO
ve ORC
dosya biçimlerini okumayı JSON
destekler.
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 ASTRING
. Azure Data Lake Storage 2. Nesil (), S3 ('abfss://'
) ve Google Cloud Storage'dans3://
('gs://'
) 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 path
altı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_files
belirli 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_files
dosyalar 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 schema
sağ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_files
kullanmanı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
- Genel seçenekler
JSON
SeçeneklerCSV
SeçeneklerXML
SeçeneklerPARQUET
SeçeneklerAVRO
SeçeneklerBINARYFILE
SeçeneklerTEXT
SeçeneklerORC
Seçenekler- Akış seçenekleri
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- json : JSON dosyası- orc : ORC dosyası- parquet : Azure Databricks kullanarak Parquet dosyalarını okuma- text : Metin dosyaları- xml : XML dosyalarını okuma ve yazmaVarsayı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ı , b ve 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ülecekyear=2022 için file1.csv , ancak month ve day sütunları olacaktır null .month ve day ve için file2.csv file3.csv doğ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özlemlenebiliroperationMetrics 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 PATTERN içinde .COPY INTO fileNamePattern içinde read_files kullanı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 DROPMALFORMED ayarlanı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 multiline true kullanamazsı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ığındatrue , ş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\n ve'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 gerekirinferSchema 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ılabilir13.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 |
singleVariantColumn Tür: String JSON belgesinin tamamının alınıp alınmayacağı, sütunun adı olarak verilen dizeyle tek bir Variant sütununa ayrıştırılır. Devre dışı bırakılırsa, JSON alanları kendi sütunlarına alınır. 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 INTO desteklenmez.Tür: String Hatalı biçimlendirilmiş ve ayrıştırılamayan kayıtları depolama sütunu. mode ayrıştırma için olarak DROPMALFORMED ayarlanı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 multiline true kullanı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 StringType olduğu varsayılıp varsayılmayacağı. olarak ayarlanırsa true veriler ü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\n ve'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 -1 değ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 FloatType DoubleType 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ışı readerCaseSensitive bırakılmıştır.Varsayılan değer: false |
positiveInf Tür: String Veya sütunları ayrıştırırken FloatType DoubleType 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 gerekircloudFiles.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 sep tanı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. |
okundu |
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 . |
okundu |
excludeAttribute |
Öğelerdeki özniteliklerin dışlanıp dışlanmaymayacağı. Varsayılan: false . |
okundu |
mode |
Ayrıştırma sırasında bozuk kayıtlarla ilgilenme modu.PERMISSIVE : Bozuk kayıtlar için, hatalı biçimlendirilmiş dizeyi tarafından columnNameOfCorruptRecord yapılandırılan bir alana yerleştirir ve hatalı biçimlendirilmiş alanları olarak null 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 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. |
okundu |
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. |
okundu |
columnNameOfCorruptRecord |
Tarafından oluşturulan hatalı biçimlendirilmiş bir dize içeren yeni alanın yeniden adlandırılmasına izin verirPERMISSIVE mod. Varsayılan: spark.sql.columnNameOfCorruptRecord . |
okundu |
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. |
okundu |
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. | okundu |
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 false bile ad alanı tanımaz. Varsayılan: false . |
okundu |
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 . |
okundu |
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 rootTag iç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 duyarsız kısaltılmış adlardan biri olabilir (none , bzip2 , gzip ,lz4 , snappy vedeflate ). 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 . |
okundu |
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. | okundu |
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 , LEGACY veCORRECTED .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 , LEGACY veCORRECTED .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 , LEGACY veCORRECTED .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 maxFilesPerTrigger birlikte kullanıldığında, Azure Databricks veya alt sınırına maxFilesPerTrigger maxBytesPerTrigger kadar 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 maxBytesPerTrigger birlikte kullanıldığında, Azure Databricks veya alt sınırına maxFilesPerTrigger maxBytesPerTrigger kadar 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" yoksa. |
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);