infer_storage_schema eklentisi
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini
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ı dizesi 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ı 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 |
---|---|---|
Kim -liğ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. |
Microsoft Entra erişim belirteci | ||
Depolama hesabı erişim anahtarı | Bu kimlik doğrulama yöntemi 1. Nesil'de desteklenmez. |
Sözdizimi
evaluate
infer_storage_schema(
Seçenekler )
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
Seçenekler | dynamic |
✔️ | İsteğin özelliklerini belirten bir özellik paketi. |
İsteğin desteklenen özellikleri
Adı | Tür | Zorunlu | Açıklama |
---|---|---|---|
StorageContainers | dynamic |
✔️ | Depolanan veri yapıtları için ön ek URI'sini temsil eden bir depolama bağlantı dizesi dizisi. |
Veri Biçimi | string |
✔️ | Desteklenen veri biçimlerinden biri. |
FileExtension | 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 ek ile başlayan dosyaları tarar. Ön ekin belirtilmesi işlemi hızlandırabilir. | |
Mod | string |
Şema çıkarımı stratejisi. Değeri: any , last , all . İşlev, veri şemasını bulunan ilk dosyadan, son yazılan dosyadan veya sırasıyla tüm dosyalardan çıkartır. Varsayılan değer şudur: last . |
|
InferenceOptions | dynamic |
Diğer çıkarım seçenekleri. Geçerli seçenekler: UseFirstRowAsHeader sınırlandırılmış dosya biçimleri için. Örneğin, 'InferenceOptions': {'UseFirstRowAsHeader': true} . |
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 'tümü', bulunan tüm yapıtlardan okuma ve şemalarını birleştirme anlamına gelen çok "pahalı" bir işlemdir.
- Döndürülen bazı türler yanlış tür tahmininin sonucu olarak (veya şema birleştirme işleminin bir 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)
Çıktı
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ış tablo tanımında döndürülen şemayı 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'
)