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.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
Bir dosya konumundaki verileri Delta tablosuna yükler. Bu yeniden denenebilir ve bir kez etkili bir işlemdir. Zaten yüklenmiş olan kaynak konumdaki dosyalar atlanır. Dosyalar yüklendikten sonra değiştirilmiş olsa bile bu durum geçerlidir.
Örnekler için bkz. COPY INTOkullanarak yaygın veri yükleme desenleri.
Sözdizimi
COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
FROM { source_clause |
( SELECT expression_list FROM source_clause ) }
FILEFORMAT = data_source
[ VALIDATE [ ALL | num_rows ROWS ] ]
[ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
[ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
[ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]
source_clause
source [ WITH ( [ CREDENTIAL { credential_name |
(temporary_credential_options) } ]
[ ENCRYPTION (encryption_options) ] ) ]
Parametreler
target_tableVar olan bir Delta tablosunu tanımlar. target_table zamansal belirtim veya seçenek belirtimi içermemelidir.
Tablo adı aşağıdaki gibi
delta.`/path/to/table`bir konum biçiminde sağlanmışsa Unity Kataloğu, yazılmakta olan konumlara erişimi yönetebilir. Dış konuma şu şekilde yazabilirsiniz:- Konumu dış konum olarak tanımlamak ve o dış konum üzerinde
WRITE FILESizinlerine sahip olmak. - Adlandırılmış depolama kimlik bilgileri üzerinde,
WRITE FILESkullanarak bir konuma yazma yetkisi sağlayan izinlere sahip olma:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Diğer ayrıntılar için bkz. Unity Kataloğu'nu kullanarak bulut nesne depolamasına bağlanma .
- Konumu dış konum olarak tanımlamak ve o dış konum üzerinde
BY POSITION| ( col_name [ , <col_name> ... ] )Kaynak sütunları sıralı konuma göre hedef tablo sütunlarıyla eşleştirir. Eşleşen sütunların tür ataması otomatik olarak yapılır.
Bu parametre yalnızca üst bilgisiz CSV dosya biçimi için desteklenir.
FILEFORMAT = CSVbelirtmek zorundasınız.FORMAT_OPTIONSayrıca("headers" = "false")olarak ayarlanmalıdır (FORMAT_OPTIONS ("headers" = "false")varsayılandır).Söz dizimi seçeneği 1:
BY POSITION- Kaynak sütunları hedef tablo sütunlarıyla sıralı konuma göre otomatik olarak eşleştirir.
- Varsayılan isim eşleştirme, eşleştirme için kullanılmaz.
-
IDENTITYveGENERATEDhedef tablonun sütunları, kaynak sütunlarla eşleştirilirken yoksayılır. - Kaynak sütunların sayısı filtrelenen hedef tablo sütunlarına eşit değilse hata
COPY INTOverir.
Söz dizimi seçeneği 2:
( col_name [ , <col_name> ... ] )- Kaynak sütunları, virgülle ayrılmış parantez içinde bir hedef tablo sütun adı listesi kullanarak göreli konuma göre belirtilen hedef tablo sütunlarıyla eşleştirir.
- Özgün tablo sütun sırası ve sütun adları eşleştirme için kullanılmaz.
-
IDENTITYsütun veGENERATEDsütunlar sütun adı listesinde belirtilemez, aksi takdirdeCOPY INTOhataya neden olur. - Belirtilen sütunlar çoğaltılamaz.
- Kaynak sütun sayısı belirtilen tablo sütunlarına
COPY INTOeşit olmadığında bir hata oluşur. - Sütun adı listesinde belirtilmeyen sütunlar için, eğer mevcutsa, varsayılan değerleri
COPY INTOatar; aksi takdirdeNULLatar. Herhangi bir sütun null olamazsa,COPY INTObir hata oluşturur.
- Kaynak sütunları hedef tablo sütunlarıyla sıralı konuma göre otomatik olarak eşleştirir.
sourceVerilerin yüklenecek dosya konumu. Bu konumdaki dosyaların içinde
FILEFORMATbelirtilen biçime sahip olması gerekir. Konum, URI biçiminde sağlanır.Kaynak konuma erişim şu şekilde sağlanabilir:
credential_nameDepolama konumuna erişmek veya bu konuma yazmak için kullanılan kimlik bilgilerinin isteğe bağlı adı. Bu kimlik bilgilerini yalnızca dosya konumu bir dış konuma dahil değilse kullanırsınız. Bkz. credential_name.
Satır içi geçici kimlik bilgileri.
- Kaynak konumunu dış konum olarak tanımlama ve Unity Kataloğu ile dış konum üzerinde
READ FILESizinlerine sahip olma. - Unity Kataloğu aracılığıyla bir konumdan okuma yetkisi sağlayan izinlere sahip
READ FILESadlandırılmış depolama kimlik bilgilerini kullanma.
Yol, kullanma izniniz olan bir dış konum olarak tanımlanmışsa satır içi veya adlandırılmış kimlik bilgileri sağlamanız gerekmez. Diğer ayrıntılar için bkz. Dış konumlara genel bakış .
Not olarak belirtin
Kaynak dosya yolu bir kök yolsa, lütfen dosya yolunun sonuna eğik çizgi (
/) ekleyin; örneğin,s3://my-bucket/.Kabul edilen kimlik bilgisi seçenekleri şunlardır:
- ADLS ve Azure Blob Depolama için
AZURE_SAS_TOKEN -
AWS_ACCESS_KEY,AWS_SECRET_KEYveAWS_SESSION_TOKENAWS S3 için
Kabul edilen şifreleme seçenekleri şunlardır:
-
TYPE = 'AWS_SSE_C', veMASTER_KEYAWS S3 için
bkz.geçici kimlik bilgileriyle
SELECT expression_listDelta tablosuna kopyalamadan önce kaynak verilerden belirtilen sütunları veya ifadeleri seçer.
SELECTifadelerle kullanabileceğiniz şeyler, pencere işlemleri de dahil olmak üzere her şey olabilir. Toplama ifadelerini yalnızca genel toplamalar için kullanabilirsiniz; bu söz dizimine sahip sütunlarda kullanamazsınızGROUP BY.FILEFORMAT = data_sourceYüklenecek kaynak dosyaların biçimi. Bir tanesi
CSV,JSON,AVRO,ORC,PARQUET,TEXT,BINARYFILE.VALIDATEŞunlar için geçerlidir:
Databricks SQL
Databricks Runtime 10.4 LTS ve üzeriBir tabloya yüklenecek veriler doğrulanır ancak tabloya yazılmaz. Bu doğrulamalar şunlardır:
- Verilerin ayrıştırılabilir olup olmadığı.
- Şemanın tablonunkiyle eşleşip eşleşmediği veya şemanın geliştirilmesi gerekip gerekmediği.
- Tüm boş olabilirlik ve denetim kısıtlamalarının karşılanıp karşılanmadığı.
Varsayılan değer, yüklenecek tüm verileri doğrulamaktır. anahtar sözcüğüyle
ROWSdoğrulanacak bir dizi satır sağlayabilirsiniz, örneğinVALIDATE 15 ROWS.COPY INTOdeyimi,ROWSanahtar sözcüğü ile 50'den az bir sayı kullanıldığında 50 satır veya daha az olan verilerin önizlemesini sağlar.FILESYüklenecek dosya adlarının listesi ve 1000 dosya sınırı.
PATTERNile belirtilemez.PATTERNKaynak dizinden yüklenecek dosyaları tanımlayan bir glob deseni.
FILESile belirtilemez.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} karakter aralığındaki tek bir karakterle eşleşir. [^a]{a} karakter kümesinden veya aralıktan olmayan tek bir karakterle eşleşir. Karakterin ^açılış parantezinin hemen sağı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. FORMAT_OPTIONSBelirtilen biçim için Apache Spark veri kaynağı okuyucusna geçirilecek seçenekler. Bkz. Her dosya biçimi için biçim seçenekleri .
COPY_OPTIONSCOPY INTOkomutunun çalışmasını denetleme seçenekleri.-
force: boolean, varsayılanfalse.trueolarak ayarlandığında, idemponansi devre dışı bırakılır ve dosyalar daha önce yüklenmiş olup olmadıklarına bakılmaksızın yüklenir. -
mergeSchema: boolean, varsayılanfalse. olarak ayarlanırsatrue, şema gelen verilere göre geliştirilebilir.
-
Eşzamanlı olarak COPY INTO çağır
COPY INTO aynı tabloda eşzamanlı çağrıları destekler. Eşzamanlı olarak COPY INTO dosya setleri üzerinde çağrıldığı sürece, her çağrının başarıyla sonuçlanması gerekir, aksi takdirde bir işlem çakışması ile karşılaşabilirsiniz.
COPY INTO performansı geliştirmek için eşzamanlı olarak çağrılmamalıdır; birden çok dosya içeren tek COPY INTO bir komut genellikle her birinde tek bir dosyayla eşzamanlı COPY INTO komutları çalıştırmaktan daha iyi performans gösterir.
COPY INTO şu durumlarda eşzamanlı olarak çağrılabilir:
- Birden çok veri üreticisinin koordine etmek için kolay bir yolu yoktur ve tek bir çağrı yapamaz.
- Çok büyük bir dizin, alt dizinler halinde sırayla işlenebiliyorsa. Çok fazla sayıda dosya içeren dizinleri alırken Databricks mümkün olduğunda Otomatik Yükleyici'nin kullanılmasını önerir.
Dosya meta verilerine erişme
Dosya tabanlı veri kaynaklarının meta verilerine erişmeyi öğrenmek için bkz . Dosya meta verileri sütunu.
Biçim seçenekleri
Her dosya biçimine (JSON, CSV, XML, Parquet, Avro, metin, ORC ve ikili) özgü seçenekler için bkz. DataFrameReader seçenekleri.