Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
tablo değerli fonksiyon
Ş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.
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 ASTRING
. 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 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
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ı schema
iç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_files
kullanmanı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
- Genel seçenekler
-
JSON
Seçenekler -
CSV
Seçenekler -
XML
Seçenekler -
PARQUET
Seçenekler -
AVRO
Seçenekler -
BINARYFILE
Seçenekler -
TEXT
Seçenekler -
ORC
Seçenekler - Akış seçenekleri
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ı 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 , b ve 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ülecekyear=2022 için file1.csv , ama month ve day sütunları null olacak.month ve day file2.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özlemlenebilirDelta 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_files kullanı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:
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 mode DROPMALFORMED olarak 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-32 multiline true 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ığındatrue , ş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 , 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 float veya double türleri yerine dizeler olarak DecimalType çıkarsamaya çalışır. Şema çıkarımı yapmanız da gerekir, ya etkinleştirerekinferSchema 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ı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. Daha fazla ayrıntı için Kurtarılan veri sütunu nedir? konusuna bakın.. COPY INTO (eski), COPY INTO kullanarak ş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 ]
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 mode DROPMALFORMED olarak 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 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 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 StringType olduğu varsayımı yapılması.
true olarak 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 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. 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 INTO kullanarak ş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:
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.
false olursa, 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 verirPERMISSIVE 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 , vedeflate . ) 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 INTO kullanarak ş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 , LEGACY veCORRECTED .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 , LEGACY veCORRECTED .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 INTO kullanarak ş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 , LEGACY veCORRECTED .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 INTO kullanarak ş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, maxFilesPerTrigger ile birlikte kullanıldığında, maxFilesPerTrigger veya maxBytesPerTrigger alt 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, maxBytesPerTrigger ile birlikte kullanıldığında, maxFilesPerTrigger veya maxBytesPerTrigger alt 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 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ı 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);