infer_storage_schema eklentisi
Bu eklenti dış verilerin şemasını çıkarsar ve CSL şema dizesi olarak döndürür. Dize , dış tablolar oluşturulurken kullanılabilir. Eklenti işleciyle birlikte çağrılır evaluate
.
Kimlik doğrulaması ve yetkilendirme
İsteğin özelliklerinde, erişilmesi gereken depolama bağlantı dizelerini belirtirsiniz. Her depolama bağlantı dizesi, depolamaya erişim için kullanılacak yetkilendirme yöntemini belirtir. Yetkilendirme yöntemine bağlı olarak, şema çıkarımını gerçekleştirmek için sorumluya dış depolama üzerinde izin verilmesi gerekebilir.
Aşağıdaki tabloda desteklenen kimlik doğrulama yöntemleri ve depolama türüne göre gerekli izinler listelenmektedir.
Kimlik doğrulama yöntemi | Azure Blob Depolama / Data Lake Storage 2. Nesil | Data Lake Storage 1. Nesil |
---|---|---|
Kimliğe bürünme | Depolama Blob Verileri Okuyucusu | Okuyucu |
Paylaşılan Erişim (SAS) belirteci | Liste + Okuma | Bu kimlik doğrulama yöntemi 1. Nesil'de desteklenmez. |
erişim belirtecini Microsoft Entra | ||
Depolama hesabı erişim anahtarı | Bu kimlik doğrulama yöntemi 1. Nesil'de desteklenmez. |
Syntax
evaluate
infer_storage_schema(
Seçenekler)
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
Seçenekler | dynamic |
✔️ | İsteğin özelliklerini belirten bir özellik paketi. |
İsteğin desteklenen özellikleri
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
StorageContainers | dynamic |
✔️ | Depolanan veri yapıtları için ön ek URI'sini temsil eden bir depolama bağlantı dizeleri dizisi. |
Dataformat | string |
✔️ | Desteklenen veri biçimlerinden biri. |
Dosyauzantısı | string |
Belirtilirse işlev yalnızca bu dosya uzantısıyla biten dosyaları tarar. Uzantının belirtilmesi işlemi hızlandırabilir veya veri okuma sorunlarını ortadan kaldırabilir. | |
FileNamePrefix | string |
Belirtilirse işlev yalnızca bu ön ekle başlayan dosyaları tarar. Ön ekin belirtilmesi işlemi hızlandırabilir. | |
Mode | string |
Şema çıkarımı stratejisi. Değeri: any , last , all . işlevi, veri şemasını ilk bulunan dosyadan, son yazılan dosyadan veya sırasıyla tüm dosyalardan çıkarsar. last varsayılan değerdir. |
Döndürülenler
Eklenti, infer_storage_schema
CSL şema dizesini içeren tek bir satır/sütun içeren tek bir sonuç tablosu döndürür.
Not
- Depolama kapsayıcısı URI gizli dizi anahtarları, Okuma'ya ek olarak Liste izinlerine sahip olmalıdır.
- Şema çıkarım stratejisi 'all' çok "pahalı" bir işlemdir, çünkü bulunan tüm yapıtlardan okuma ve şemalarını birleştirme anlamına gelir.
- Bazı döndürülen türler, yanlış tür tahmininin (veya şema birleştirme işleminin sonucu olarak) sonucu olarak gerçek türler olmayabilir. Bu nedenle, dış tablo oluşturmadan önce sonucu dikkatle gözden geçirmeniz gerekir.
Örnek
let options = dynamic({
'StorageContainers': [
h@'https://storageaccount.blob.core.windows.net/MobileEvents;secretKey'
],
'FileExtension': '.parquet',
'FileNamePrefix': 'part-',
'DataFormat': 'parquet'
});
evaluate infer_storage_schema(options)
Çıkış
CslSchema |
---|
app_id:string, user_id:long, event_time:datetime, country:string, city:string, device_type:string, device_vendor:string, ad_network:string, campaign:string, site_id:string, event_type:string, event_name:string, organic:string, days_from_install:int, revenue:real |
Döndürülen şemayı dış tablo tanımında kullanın:
.create external table MobileEvents(
app_id:string, user_id:long, event_time:datetime, country:string, city:string, device_type:string, device_vendor:string, ad_network:string, campaign:string, site_id:string, event_type:string, event_name:string, organic:string, days_from_install:int, revenue:real
)
kind=blob
partition by (dt:datetime = bin(event_time, 1d), app:string = app_id)
pathformat = ('app=' app '/dt=' datetime_pattern('yyyyMMdd', dt))
dataformat = parquet
(
h@'https://storageaccount.blob.core.windows.net/MovileEvents;secretKey'
)
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin