Aracılığıyla paylaş


tablo değerli fonksiyon read_files

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

JSON, CSV, XML, TEXT, BINARYFILE, PARQUET, AVRO ve ORC dosya biçimlerini okumayı 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 ] [...])

Argümanlar

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 ('abfss://'), S3 (s3://) ve Google Cloud Storage ('gs://') kaynaklarından 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ı. Backticks () for options that contain dots (.`) kullanmanız gerekir.
  • option_value: Seçeneğin ayarlanacağı sabit ifade. Sabitleri ve skaler işlevleri kabul eder.

İadeler

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_files sağlanan dizin altındaki tüm dosyaları özyinelemeli olarak bulur, ancak eğer bir glob sağlanırsa, read_files belirli bir dizin desenine özyineleme talimatı alır.

Glob desenlerini kullanarak dizinleri veya dosyaları filtreleme

Glob desenleri, yolda yer aldığı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…z} aralığındaki tek bir karakterle eşleşir.
[^a] {a} karakter kümesinden veya aralıktan olmayan tek bir karakterle eşleşir. Karakter ^ açılış ayraçının hemen sağında yer almalıdır, 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, useStrictGlobber seçeneğiyle yapılandırılır. Katı globber devre dışı bırakıldığında, sondaki eğik çizgiler (/) görmezden gelinir ve /*/ gibi bir yıldız deseni birçok dizini keşfetmek için genişleyebilir. Davranış farkını görmek için aşağıdaki örneklere bakın.

Desen Dosya yolu Katı globber devre dışı Sıkı globber modu etkinleştirildi
/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ı, read_files'a schema seçeneği ile açıkça sağlanabilir. Şema sağlanmadığında, read_files bulunan dosyalar arasında birleşik bir şema çıkarsamaya çalışır ve bu da bir LIMIT deyimi kullanılmadığı sürece tüm dosyaların okunmasını gerektirir. LIMIT sorgusu kullanırken 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ğlamıyorsa not defterleri ve SQL düzenleyicisindeki LIMIT sorguları için otomatik olarak bir SELECT deyim ekler.

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

rescuedDataColumn varsayılan olarak, şemayla eşleşmeyen verileri kurtarmak amacıyla sağlanır. Bkz. Kurtarılan veri sütunu nedir? Daha fazla bilgi için. rescuedDataColumn seçeneğini ayarlayarak schemaEvolutionMode => 'none' öğesini bırakabilirsiniz.

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

read_files dosyalar Hive stili bölümlenmiş dizinler altında veya depolanıyorsa, /column_name=column_value/ de çıkarabilir. Eğer bir schema sağlanırsa, tespit edilen bölüm sütunları schemaiçinde sağlanan türleri kullanır. Eğer bölümleme sütunları sağlanan schema'a dahil değilse, çıkarılan bölümleme sütunları göz ardı edilir.

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, partitionColumns seçeneğiyle virgülle ayrılmış bir listedeki bölüm sütunlarının listesini sağlayabilirsiniz.

partitionColumns seçeneği, read_files'e hangi bulunan sütunların son çıkarılan şemaya dahil edileceğini belirtmek için de kullanılabilir. Boş bir dize sağlanması, tüm bölüm sütunlarını göz ardı eder.

schemaHints seçeneği, bir bölüm sütunu için belirlenen şemayı geçersiz kılmak amacıyla da sağlanabilir.

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

Akış tablolarında kullanım

read_files, dosyaları Delta Lake'e almak için akış tablolarında kullanılabilir. read_files 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?

Bir 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 bilgi için Otomatik Yükleyici'de şema çıkarımı ve evrimini yapılandırma hakkında 'a bakın.

Seçenekler

Temel Seçenekler

Seçenek
format
Tür: String
Kaynak yoldaki veri dosyası biçimi. Sağlanmazsa otomatik olarak çıkarım yapılır. İzin verilen değerler şunlardır:

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ımlanır. Daha fazla bilgi 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
Dosya dizin yapısından çıkarımını yapmak istediğiniz Hive tarzı bölüm sütunlarının, virgülle ayrılmış bir listesini belirtiniz. Hive stili bölüm sütunları, anahtar-değer çiftlerinin eşitlik işaretiyle birleştirilmesi şeklindedir.
<base-path>/a=x/b=1/c=y/file.format. Bu örnekte bölüm sütunları a, bve c. Varsayılan olarak, şema çıkarımı kullanıyorsanız ve veri yüklemek için <base-path> sağlıyorsanız bu sütunlar şemanıza otomatik olarak eklenir. Bir şema sağlarsanız, Otomatik Yükleyici bu sütunların şemaya eklenmesini bekler. Bu sütunları şemanızın bir parçası olarak istemiyorsanız, bu sütunları yoksaymak için "" belirtebilirsiniz. Ayrıca, aşağıdaki örnekte olduğu gibi sütunların karmaşık dizin yapılarında dosya yolunun çıkarılmasını istediğinizde bu seçeneği kullanabilirsiniz:
<base-path>/year=2022/week=1/file1.csv
<base-path>/year=2022/month=2/day=3/file2.csv
<base-path>/year=2022/month=2/day=4/file3.csv
cloudFiles.partitionColumns olarak belirtilmesi year,month,day döndürülecek
year=2022için file1.csv, ama month ve day sütunları nullolacak.
month ve dayfile2.csv ve file3.csv için 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 bkz. şema ipuçları .
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ı yoksaymak isteyip istemediğiniz. 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. olarak numSkippedCorruptFiles içinde gözlemlenebilir
Delta Lake geçmişinin operationMetrics numaralı sütunu. Databricks Runtime 11.3 LTS ve üzerinde kullanılabilir.
Varsayılan değer: false
ignoreMissingFiles
Tür: Boolean
Eksik dosyaları yoksayma tercihinde bulunma. 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: Otomatik Yükleyici için false, true için COPY INTO (eski)
modifiedAfter
Tür: Timestamp String, örneğin, 2021-01-01 00:00:00.000000 UTC+0
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ı.
Varsayılan değer: Yok
modifiedBefore
Tür: Timestamp String, örneğin, 2021-01-01 00:00:00.000000 UTC+0
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ı.
Varsayılan değer: Yok
pathGlobFilter veya fileNamePattern
Tür: String
Dosya seçmeye yönelik olası bir glob deseni. Eşdeğer
PATTERN, COPY INTO olarak (eski). fileNamePattern içinde read_fileskullanılabilir.
Varsayılan değer: Yok
recursiveFileLookup
Tür: Boolean
Bu seçenek, adları date=2019-07-01 gibi bir bölüm adlandırma düzenini izlemese bile iç içe geçmiş dizinlerde arama yapar.
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. Etkin hale getirilmediğinde, yalnızca JSON spesifikasyonu tarafından açıkça listelenen karakterler kaçabilir.
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, 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.
Varsayılan değer: false
allowUnquotedFieldNames
Tür: Boolean
Tırnaksız alan adlarının (JavaScript tarafından izin verilen, ancak JSON belirtimi tarafından izin verilmeyen) kullanımına izin verilip verilmeyeceği.
Varsayılan değer: false
badRecordsPath
Tür: String
Hatalı JSON kayıtları hakkındaki bilgileri kaydetmek için dosyaları depolama yolu.
badRecordsPath Dosya tabanlı veri kaynağında seçeneğinin kullanılması aşağıdaki sınırlamalara sahiptir:
  • İşlem dışıdır ve tutarsız sonuçlara yol açabilir.
  • Geçici hatalar hata olarak değerlendirilir.

Varsayılan değer: Yok
columnNameOfCorruptRecord
Tür: String
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.
Varsayılan değer: _corrupt_record
dateFormat
Tür: String
Tarih dizelerini ayrıştırma formatı.
Varsayılan değer: yyyy-MM-dd
dropFieldIfAllNull
Tür: Boolean
Şema çıkarımı sırasında, tümüyle null değerler veya boş diziler ve yapılar içeren sütunların yoksayılıp yoksayılmayacağı konusu.
Varsayılan değer: false
encoding veya charset
Tür: String
JSON dosyalarının kodlama adı. Seçenekler listesi için bkz. java.nio.charset.Charset. UTF-16 ile UTF-32multilinetrue olduğunda kullanamazsınız.
Varsayılan değer: UTF-8
inferTimestamp
Tür: Boolean
Zaman damgası dizelerinin bir TimestampType olarak yorumlanıp yorumlanmayacağı. Bu şekilde ayarlandığında
true, şema çıkarımı önemli ölçüde daha uzun sürebilir. cloudFiles.inferColumnTypes'ı Otomatik Yükleyici ile kullanmak için etkinleştirmeniz 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, \r\n ve \n'yi kapsar
locale
Tür: String
java.util.Locale tanımlayıcısı. 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 konusunda ayrıştırıcı modu. PERMISSIVE, DROPMALFORMEDveya 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 float veya double türleri yerine dizeler olarak DecimalType çıkarsamaya çalışır. Şema çıkarımı yapmanız da gerekir, ya etkinleştirerek
inferSchema kullanarak veya Otomatik Yükleyici ile cloudFiles.inferColumnTypes kullanma.
Varsayılan değer: false
primitivesAsString
Tür: Boolean
Sayılar ve boole'lar 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. Eğer doğruysa, 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 harf duyarlılığı olmadan 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. 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.
Varsayılan değer: Yok
singleVariantColumn
Tür: String
JSON belgesinin tamamının alınıp alınmayacağı, verilen dizeyi sütun adı olarak kullanarak tek bir Variant sütununa ayrıştırılmasına bağlıdır. Devre dışı bırakılırsa, JSON alanları kendi sütunlarına aktarılı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
Alıntı işaretlerini kaçmak için kullanılan karakteri kaçan 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 hata verir.
  • '\' kaçış karakteri '\'olarak tanımlandığında, kayıt iki değerle okunur: [a\] ve [b].

Varsayılan değer: '\0'
columnNameOfCorruptRecord
Otomatik Yükleyici için desteklenir. COPY INTO (eski sistem) için destek sağlanmamaktadır.
Tür: String
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.
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 formatı.
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 başlıkları 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 tanımlanırken dosyaların üst bilgiye sahip olduğunu varsayar.
Varsayılan değer: false
ignoreLeadingWhiteSpace
Tür: Boolean
Ayrıştırılan her bir değer için baştaki boşlukların 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 göz ardı edilip edilmeyeceği.
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ılmaması veya tüm sütunların StringTypeolduğu varsayımı yapılması. trueolarak ayarlanırsa 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, \r\n ve \n'yi kapsar
locale
Tür: String
java.util.Locale tanımlayıcısı. 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 -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
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.
Varsayılan değer: false
mode
Tür: String
Hatalı biçimlendirilmiş kayıtları işleme konusunda ayrıştırıcı modu. Bir 'PERMISSIVE''den biri
'DROPMALFORMED', ve 'FAILFAST'.
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
FloatType ve DoubleType sütunları ayrıştırırken sayı olmayan bir değerin dize gösterimi.
Varsayılan değer: "NaN"
negativeInf
Tür: String
FloatType veya DoubleType sütunları ayrıştırılırken negatif sonsuzluğun dize olarak temsil edilmesi.
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 şemayla büyük/küçük harf duyarlılığına göre hizalanıp hizalanmayacağını belirlemek. 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. readerCaseSensitive, bu seçeneğin yerine kullanıma sunulmuştur.
Varsayılan değer: false
positiveInf
Tür: String
FloatType veya DoubleType sütunları ayrıştırırken pozitif sonsuzluğun string ifadesi.
Varsayılan değer: "Inf"
preferDate
Tür: Boolean
Mümkün olduğunda dizeleri zaman damgası yerine tarih olarak yorumlama girişiminde bulunur. Ayrıca, inferSchema etkinleştirerek 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. Eğer doğruysa, 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 harf duyarlılığı olmadan 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 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.
Varsayılan değer: Yok
sep veya delimiter
Tür: String
Sütunlar arasında kullanılan 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çıklama ve boş satırlar dahil olmak üzere). header doğru ise, üst bilgi ilk atlanmamış ve yorumsuz 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
Kaçış karakteri kullanılmamış tırnak işaretini işleme stratejisi. İzin verilen seçenekler:
  • STOP_AT_CLOSING_QUOTE: Girişte kaçışsız tırnaklar bulunursa, tırnak karakterini toplayın ve kapanış tırnağı bulunana kadar değeri tırnaklı bir değer olarak ayrıştırmaya devam edin.
  • BACK_TO_DELIMITER: Girişte kaçış karakteri kullanılmamış tırnak işaretleri bulunursa, değeri tanımsız bir değer olarak düşünün. Bu, ayrıştırıcının sep sınırlayıcısı bulunana kadar şu anda ayrıştırılmakta olan değerin tüm karakterlerini toplamasını sağlar. Verilen değerde eğer bir sınırlayıcı bulunmazsa, ayrıştırıcı bir sınırlayıcı veya satır sonu bulana kadar girişten karakterleri biriktirmeye devam eder.
  • STOP_AT_DELIMITER: Girişte kaçış karakteri kullanılmamış tırnak işaretleri bulunursa, değeri tanımsız bir değer olarak düşünün. Bu, ayrıştırıcının, tarafından tanımlanan sep sınırlayıcıya kadar veya girişte bir satır sonu bulunana kadar tüm karakterleri biriktirmesini sağlar.
  • SKIP_VALUE: Girişte sıralanmamış tırnak işaretleri bulunursa, verilen değer için ayrıştırılan içerik atlanır (bir sonraki sınırlayıcı bulunana kadar) ve bunun yerine nullValue'de ayarlanan değer oluşturulur.
  • RAISE_ERROR: Girişte kaçmamış tırnak işaretleri bulunursa,
    TextParsingException atılacak.

Varsayılan değer: STOP_AT_DELIMITER

XML Seçenekler

Seçenek Açıklama Kapsam
rowTag Satır olarak işlenecek 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ş alanları columnNameOfCorruptRecord olarak ayarlar ve hatalı biçimlendirilmiş dizeyi null ile yapılandırılan bir alana yerleştirir. Bozuk kayıtları tutmak için, kullanıcı tanımlı şemada string adlı bir columnNameOfCorruptRecord 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ı örtük olarak bir çıkış şemasına 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.
okundu
inferSchema true, elde edilen her DataFrame sütunu için uygun bir tür çıkarsamaya çalışır. falseolursa, sonuç olarak elde edilen tüm sütunlar string türündedir. 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 verir
PERMISSIVE modu. 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 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. 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 etrafındaki boşlukların göz ardı edilip edilmeyeceğini tanımlar. Varsayılan: true. Yalnızca boşluktan oluşan 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 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 öğesinde ad alanları yoksayılamaz, ancak yalnızca okunan alt öğeler yoksayılabilir. XML ayrıştırma, false olsa bile ad alanı farkında değildir. Varsayılan: false. okundu
timestampFormat Datetime deseni formatını 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 Saat dilimi içermeyen zaman damgası için tarih ve saat deseni biçimini izleyen ö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 Datetime pattern biçimini izleyen özel tarih formatı 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, <books> <book><book>...</books> ifadesinde uygun değer books şeklindedir. gibi books foo="bar"bir değer belirterek temel öznitelikler ekleyebilirsiniz. Varsayılan: ROWS. yaz
declaration Her çıktı XML dosyasının başında, `rootTag` etiketinden önce yazılacak olan XML bildiriminin içeriği. Örneğin, bir foo değeri, <?xml foo?> yazılmasına sebep olur. Gizlenecek boş bir dizeye ayarlayın. Varsayılan: version="1.0"
encoding="UTF-8" standalone="yes".
yaz
arrayElementName Dizi değerine sahip bir sütunun her öğesini yazarken saran XML öğesinin adı. Varsayılan: item. yaz
nullValue Null değerin dize gösterimini ayarlar. Varsayılan: string null. null olduğunda, ayrıştırıcı alanlar için öznitelikleri ve öğeleri 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, ve
deflate. ) XML yerleşik işlevleri bu seçeneği yoksayar. Varsayılan: none.
yaz
validateName True ise, XML öğesi adı doğrulaması başarısız olduğunda bir hata verir. Örneğin, SQL alan adlarının boşlukları olabilir, ancak XML öğesi adları olamaz. Varsayılan:
true.
yaz
readerCaseSensitive rescuedDataColumn etkinleştirildiğinde, büyük/küçük harf duyarlılığı davranışını belirler. Eğer doğruysa, 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 harf duyarlılığı olmadan okuyun. Varsayılan: true. okundu
rescuedDataColumn 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.
Varsayılan: Yok.
okundu
singleVariantColumn 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. Varsayılan: none. okuma, yazma

PARQUET Seçenekler

Seçenek
datetimeRebaseMode
Tür: String
Julian ve Proleptik Gregoryen takvimler arasında tarih ve zaman damgası değerlerinin yeniden esas alınması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 ayarlanmasını denetler. İzin verilen değerler: EXCEPTION, LEGACYve
CORRECTED.
Varsayılan değer: LEGACY
mergeSchema
Tür: Boolean
Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceğ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. Eğer doğruysa, 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 harf duyarlılığı olmadan 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 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.
Varsayılan değer: Yok

AVRO Seçenekler

Seçenek
avroSchema
Tür: String
Kullanıcı tarafından Avro formatında sağlanmış 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 tarih ve zaman damgası değerlerinin yeniden esas alınmasını denetler. İzin verilen değerler: EXCEPTION, LEGACYve
CORRECTED.
Varsayılan değer: LEGACY
mergeSchema
Tür: Boolean
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.
Varsayılan değer: false
readerCaseSensitive
Tür: Boolean
Etkinleştirildiğinde rescuedDataColumn büyük/küçük harf duyarlılığı davranışını belirtir. Eğer doğruysa, 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 harf duyarlılığı olmadan 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 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..
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
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.
Varsayılan değer: UTF-8
lineSep
Tür: String
Ardışık iki TEXT kaydı arasındaki bir metin.
Varsayılan değer: Yok, \r, \r\n ve \n'yi kapsar.
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
Birden çok dosyadan şema oluşturulup oluşturulmayacağı ve her dosyanın şemasının birleştirilip birleştirilmeyeceği.
Varsayılan değer: false

Akış seçenekleri

Bu seçenekler, read_files veya akış sorgusu içinde kullanırken 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 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. Azure Databricks, maxFilesPerTriggerile birlikte kullanıldığında, maxFilesPerTrigger veya maxBytesPerTriggeralt sınırına kadar (hangisi önce ulaşılırsa) tüketir.
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ı. Azure Databricks, maxBytesPerTriggerile birlikte kullanıldığında, maxFilesPerTrigger veya maxBytesPerTriggeralt sınırına kadar (hangisi önce ulaşılırsa) tüketir.
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 bilgi için bkz. şema evrimi . Bu seçenek text ve binaryFile dosyaları için geçerli değildir.
Varsayılan değer: Şema sağlanmadığında "addNewColumns".
"none" yoksa.
schemaLocation
Tür: String
Çıkarsanan şemayı ve sonraki değişiklikleri depolama konumu. Daha fazla bilgi 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);