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.
Sürüm açılan listesini kullanarak hizmetler arasında geçiş yapın. Gezinti hakkında daha fazla bilgi edinin.
Şunlar için geçerlidir: ✅ Microsoft Fabric ✅ Azure Veri Gezgini
Bir sorgu yürütür ve ilk sonuç kümesini bir depolama bağlantı dizesi tarafından belirtilen bir dış bulut depolama alanına yazar.
İzinler
Bu komutu çalıştırmak için en az Veritabanı Görüntüleyicisi izinlerine sahip olmanız gerekir.
Sözdizimi
.export[] [asynccompressed] toOutputDataFormat( StorageConnectionString [, ...] ) [with(PropertyName=PropertyValue [, ...] ] )<|Sorgu
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| Asenkron |
string |
Belirtilirse, komut zaman uyumsuz modda çalışır. Bkz. zaman uyumsuz mod. | |
| sıkıştırılmış | bool |
Belirtilirse, çıktı depolama yapıtlarıdesteklenen compressionTypeözelliği tarafından belirtilen biçimde sıkıştırılır. |
|
| OutputDataFormat | string |
✔️ | komutu tarafından yazılan depolama yapıtlarının veri biçimi. Desteklenen değerler şunlardır: csv, tsv, jsonve parquet. |
| StorageConnectionString | string |
Verilerin hangi depolama alanına yazılacağını belirten bir veya daha fazla depolama bağlantı dizesi. Ölçeklenebilir yazma işlemleri için birden fazla depolama bağlantısı dizesi belirtilebilir. Bu tür her bağlantı dizesi, depolama alanına yazarken kullanılacak kimlik bilgilerini belirtmelidir. Örneğin, Azure Blob Depolama yazarken kimlik bilgileri depolama hesabı anahtarı veya blobları okuma, yazma ve listeleme izinlerine sahip bir paylaşılan erişim anahtarı (SAS) olabilir. DFS uç noktasını kullanarak verileri CSV dosyalarına aktardığınızda, veriler DFS tarafından yönetilen özel uç nokta üzerinden gider. Verileri parquet dosyalarına aktardığınızda, veriler blob tarafından yönetilen özel uç nokta üzerinden gider. |
|
| PropertyName, PropertyValue | string |
Anahtar-değer özellik çiftlerinin virgülle ayrılmış listesi. Desteklenen özelliklere bakın. |
Not
Verileri, veritabanıyla aynı bölgede bulunan depolama alanına dışarı aktarmanızı kesinlikle öneririz. Bu, başka bölgelerdeki başka bir bulut hizmetine aktarılabilmesi için dışarı aktarılan verileri içerir. Yazma işlemleri yerel olarak yapılırken, okumalar uzaktan gerçekleşebilir.
Desteklenen özellikler
| Özellik | Tür | Açıklama |
|---|---|---|
includeHeaders |
string |
Çıkış için csv/tsv sütun üst bilgilerinin oluşturulmasını denetler. Bunlardan biri none (varsayılan; üst bilgi satırı belirtilmemiş), all (her depolama yapıtına bir üst bilgi satırı yayma) veya firstFile (yalnızca ilk depolama yapıtına üst bilgi satırı yayma) olabilir. |
fileExtension |
string |
Depolama yapıtının "uzantı" bölümü (örneğin, .csv veya .tsv). Sıkıştırma kullanılıyorsa, .gz bu da eklenir. |
namePrefix |
string |
Oluşturulan her depolama yapıtı adına eklenecek ön ek. Belirtilmezse rastgele bir ön ek kullanılır. |
encoding |
string |
Metin kodlaması. Olası değerler şunlardır: UTF8NoBOM (varsayılan) veya UTF8BOM. |
compressionType |
string |
Kullanılacak sıkıştırma türü. Parquet olmayan dosyalar için yalnızca gzip izin verilir. Parquet dosyaları için olası değerler gzip, snappy, lz4_raw, brotlive zstdiçerir. Varsayılan gzip değeridir. |
distribution |
string |
Dağıtım ipucu (single, per_node, per_shard). Değer eşitse single, depolamaya tek bir iş parçacığı yazar. Aksi takdirde, sorguyu paralel olarak yürüten tüm düğümlerden yazmaları dışarı aktarın. Bkz . eklenti işlecini değerlendirme. varsayılan değeridir per_shard. |
persistDetails |
bool |
truekomutu sonuçlarını kalıcı hale döndürür (bkz. async bayrağı). Zaman uyumsuz çalıştırmalarda true varsayılan değerdir, ancak çağıranın sonuçları gerektirmemesi durumunda kapatılabilir.
false Zaman uyumlu yürütmelerde varsayılan olarak varsayılandır, ancak açılabilir. |
sizeLimit |
long |
Sıkıştırmadan önce yazılmış tek bir depolama yapıtı bayt cinsinden boyut sınırı. Geçerli aralık: 100 MB (varsayılan) - 4 GB. |
parquetRowGroupSize |
int |
Yalnızca veri biçimi Parquet olduğunda geçerlidir. Dışarı aktarılan dosyalardaki satır grubu boyutunu denetler. Varsayılan satır grubu boyutu 100.000 kayıttır. |
distributed |
bool |
Dağıtılmış dışarı aktarmayı devre dışı bırakın veya etkinleştirin. false ayarı, dağıtım ipucuna single eşdeğerdir. Varsayılanı doğrudur |
parquetDatetimePrecision |
string |
datetime değerleri Parquet'e aktarırken kullanılacak duyarlık. Olası değerler milisaniye ve mikrosaniyedir. Varsayılan değer milisaniyedir. |
Kimlik doğrulaması ve yetkilendirme
Kimlik doğrulama yöntemi sağlanan bağlantı dizesi temel alır ve gerekli izinler kimlik doğrulama yöntemine bağlı olarak değişir.
Aşağıdaki tabloda desteklenen kimlik doğrulama yöntemleri ve verileri depolama türüne göre dış depolama alanına aktarmak için gereken izinler listelenmektedir.
| Kimlik doğrulama yöntemi | Azure Blob Depolama / Data Lake Storage 2. Nesil | Data Lake Storage 1. Nesil |
|---|---|---|
| Kim -liğe bürünme | Depolama Blobu Veri Katılımcısı | Katılımcı |
| Paylaşılan Erişim (SAS) belirteci | Write | Write |
| Microsoft Entra erişim belirteci | Ek izin gerekmez | Ek izin gerekmez |
| Depolama hesabı erişim anahtarı | Ek izin gerekmez | Ek izin gerekmez |
| Kimlik doğrulama yöntemi | Azure Blob Depolama / Data Lake Storage 2. Nesil | Data Lake Storage 1. Nesil |
|---|---|---|
| Kim -liğe bürünme | Depolama Blobu Veri Katılımcısı | Katılımcı |
| Yönetilen Kimlik | Depolama Blobu Veri Katılımcısı | Katılımcı |
| Paylaşılan Erişim (SAS) belirteci | Write | Write |
| Microsoft Entra erişim belirteci | Ek izin gerekmez | Ek izin gerekmez |
| Depolama hesabı erişim anahtarı | Ek izin gerekmez | Ek izin gerekmez |
Döndürülenler
Komutlar, oluşturulan depolama yapıtlarını açıklayan bir tablo döndürür. Her kayıt tek bir yapıtı açıklar ve yapıtın depolama yolunu ve kaç kaydı barındırdığı içerir.
| Yol | NumRecords |
|---|---|
| http://storage1.blob.core.windows.net/containerName/export_1_d08afcae2f044c1092b279412dcb571b.csv | 10 |
| http://storage1.blob.core.windows.net/containerName/export_2_454c0f1359e24795b6529da8a0101330.csv | 15 |
Zaman uyumsuz mod
async Bayrak belirtilirse, komut zaman uyumsuz modda yürütülür.
Bu modda, komut bir işlem kimliğiyle hemen döndürür ve veri dışarı aktarma işlemi tamamlanıncaya kadar arka planda devam eder. Komut tarafından döndürülen işlem kimliği, ilerleme durumunu ve sonuç olarak sonuçlarını aşağıdaki komutlar aracılığıyla izlemek için kullanılabilir:
-
.show operations: İlerleme durumunu izleyin. -
.show operation details: Tamamlama sonuçlarını alın.
Örneğin, başarıyla tamamlandıktan sonra aşağıdakini kullanarak sonuçları alabilirsiniz:
.show operation f008dc1e-2710-47d8-8d34-0d562f5f8615 details
Örnekler
Bu örnekte Kusto sorguyu çalıştırır ve ardından sorgu tarafından üretilen ilk kayıt kümesini sıkıştırmadan önce 1 GB'a kadar sıkıştırılmış bir veya daha fazla CSV bloba aktarır. Sütun adı etiketleri her blob için ilk satır olarak eklenir.
.export
async compressed
to csv (
h@"https://storage1.blob.core.windows.net/containerName;secretKey",
h@"https://storage1.blob.core.windows.net/containerName2;secretKey"
) with (
sizeLimit=1000000000,
namePrefix="export",
includeHeaders="all",
encoding="UTF8NoBOM"
)
<|
Logs | where id == "1234"
Dışarı aktarma komutları sırasında hatalar
Dışarı aktarma komutları yürütme sırasında geçici olarak başarısız olabilir. Sürekli dışarı aktarma komutu otomatik olarak yeniden denenir. Normal dışarı aktarma komutları (depolama alanına aktar, dış tabloya aktar) hiçbir yeniden deneme gerçekleştirmez.
- Dışarı aktarma komutu başarısız olduğunda, depolama alanına önceden yazılmış yapıtlar silinmez. Bu yapıtlar depolamada kalır. Komut başarısız olursa, bazı yapıtlar yazılmış olsa bile dışarı aktarma işleminin tamamlanmamış olduğunu varsayalım.
- Hem komutun tamamlanmasını hem de başarıyla tamamlandıktan sonra dışarı aktarılan yapıtları izlemenin en iyi yolu ve
.show operationskomutlarını.show operation detailskullanmaktır.
Depolama hataları
Varsayılan olarak, dışarı aktarma komutları, depolama alanında çok sayıda eşzamanlı yazma olacak şekilde dağıtılır. Dağıtım düzeyi dışarı aktarma komutunun türüne bağlıdır:
Normal
.exportkomutun varsayılan dağıtımı olan değeri,per_shardyazma işlemini eşzamanlı olarak depolama alanına aktaracak verileri içeren tüm kapsamlar anlamına gelir.Dış tablo komutlarına dışarı aktarma için varsayılan dağıtım,
per_nodeeşzamanlılığın düğüm sayısı olduğu anlamına gelir.
Kapsam/düğüm sayısı büyük olduğunda, bu durum depolamada yüksek yüke neden olabilir ve bu da depolama alanı azaltma veya geçici depolama hataları ile sonuçlanabilir. Aşağıdaki öneriler bu hataların üstesinden gelebilir (öncelik sırasına göre):
dışarı aktarma komutuna veya
dış tablo tanımına sağlanan depolama hesaplarının sayısını artırın. Yük hesaplar arasında eşit olarak dağıtılır. Dağıtım ipucunu
per_nodeolarak ayarlayarak eşzamanlılığı azaltın (bkz. komut özellikleri).İstemci isteği özelliğinidışarı aktaran düğüm sayısının eşzamanlılığını azaltın. özelliği dışarı aktarma sorgusunun bir parçası olarak ayarlanabilir. Örneğin, aşağıdaki komut eşzamanlı olarak depolamaya yazan düğüm sayısını düğümlerin %50'sine sınırlar:
.export async to csv ( h@"https://storage1.blob.core.windows.net/containerName;secretKey" ) with ( distribution="per_node" ) <| set query_fanout_nodes_percent = 50; ExportQueryİstemci isteği özelliğini, parça dışarı aktarma başına kullanılırken her düğümde dışarı aktarılan iş parçacığı sayısının eşzamanlılığını azaltın. özelliği dışarı aktarma sorgusunun bir parçası olarak ayarlanabilir. Örneğin, aşağıdaki komut eşzamanlı olarak depolamaya yazılan iş parçacığı sayısını düğümlerin her birinde %50 ile sınırlar:
.export async to csv ( h@"https://storage1.blob.core.windows.net/containerName;secretKey" ) with ( distribution="per_shard" ) <| set query_fanout_threads_percent = 50; ExportQueryBölümlenmiş bir dış tabloya aktarıyorsanız, özelliklerin
spread/concurrencyayarlanması eşzamanlılığı azaltabilir (komut özelliklerindeki ayrıntılara bakın).Önceki önerilerden hiçbiri işe yaramazsa,
distributedözelliğini false olarak ayarlayarak dağıtımı tamamen devre dışı bırakabilirsiniz. Ancak, komut performansını önemli ölçüde etkileyebileceği için bunu yapmanızı önermiyoruz.
Yetkilendirme hataları
Depolama bağlantı dizesi sağlanan kimlik bilgilerinin depolama alanına yazmasına izin verilmediğinde dışarı aktarma komutları sırasında kimlik doğrulaması veya yetkilendirme hataları oluşabilir. Dışarı aktarma komutu için veya kullanıcı tarafından atanan bir SAS belirteci kullanıyorsanız impersonate depolama hesabına yazmak için Depolama Blobu Veri Katkıda Bulunanı rolü gereklidir. Daha fazla bilgi için bkz. Depolama bağlantı dizesi.
Veri türleri eşlemesi
Parquet veri türleri eşlemesi
Dışarı aktarmada Kusto veri türleri, aşağıdaki kurallar kullanılarak Parquet veri türleriyle eşlenir:
| Kusto Veri Türü | Parquet Veri Türü | Parquet Ek Açıklaması | Açıklamalar |
|---|---|---|---|
bool |
BOOLEAN |
||
datetime |
INT64 |
TIMESTAMP_MICROS | |
dynamic |
BYTE_ARRAY |
UTF-8 | JSON dizesi olarak seri hale getirilmiş |
guid |
BYTE_ARRAY |
UTF-8 | |
int |
INT32 |
||
long |
INT64 |
||
real |
DOUBLE |
||
string |
BYTE_ARRAY |
UTF-8 | |
timespan |
INT64 |
Keneler olarak depolanır (100 nanosaniye birim) sayısı | |
decimal |
FIXED_LENGTH_BYTE_ARRAY |
ON -DA -LIK |
İlgili içerik
- Yönetimi komutlara genel bakış
- .continuous data export
- 'a .ingest
- Tablo .export
- SQL'a .export