Modul plug-in infer_storage_schema
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Tento modul plug-in odvodí schéma externích dat a vrátí ho jako řetězec schématu CSL. Řetězec lze použít při vytváření externích tabulek. Modul plug-in se vyvolá pomocí operátoru evaluate
.
Ověřování a autorizace
Ve vlastnostech požadavku zadáte připojovací řetězec úložiště pro přístup. Každá připojovací řetězec úložiště určuje metodu autorizace, která se má použít pro přístup k úložišti. V závislosti na metodě autorizace může být potřeba objektu zabezpečení udělit oprávnění k externímu úložišti, aby bylo možné provést odvozování schématu.
Následující tabulka uvádí podporované metody ověřování a všechna požadovaná oprávnění podle typu úložiště.
Metoda ověřování | Azure Blob Storage / Data Lake Storage Gen2 | Data Lake Storage Gen1 |
---|---|---|
Zosobnění | Čtenář dat v objektech blob služby Storage | Čtenář |
Token sdíleného přístupu (SAS) | Seznam + čtení | Tato metoda ověřování není v Gen1 podporovaná. |
Přístupový token Microsoft Entra | ||
Přístupový klíč účtu úložiště | Tato metoda ověřování není v Gen1 podporovaná. |
Syntaxe
evaluate
infer_storage_schema(
Volby )
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
Možnosti | dynamic |
✔️ | Taška vlastností určující vlastnosti požadavku. |
Podporované vlastnosti požadavku
Name | Type | Požadováno | Popis |
---|---|---|---|
StorageContainers | dynamic |
✔️ | Pole připojovací řetězec úložiště, které představují identifikátor URI předpony pro uložené artefakty dat. |
Datový formát | string |
✔️ | Jeden z podporovaných formátů dat |
FileExtension | string |
Pokud je zadáno, funkce prohledá pouze soubory končící touto příponou souboru. Určení rozšíření může proces urychlit nebo eliminovat problémy se čtením dat. | |
FileNamePrefix | string |
Pokud je zadána, funkce prohledává pouze soubory začínající touto předponou. Zadání předpony může proces urychlit. | |
Režim | string |
Strategie odvození schématu. Hodnota: any , last all . Funkce odvodí schéma dat z prvního nalezeného souboru, z posledního zapsaného souboru nebo ze všech souborů. Výchozí hodnota je last . |
|
OdvozováníOptions | dynamic |
Další možnosti odvození Platné možnosti: UseFirstRowAsHeader pro formáty souborů s oddělovači. Například 'InferenceOptions': {'UseFirstRowAsHeader': true} . |
Návraty
Modul infer_storage_schema
plug-in vrátí jednu výslednou tabulku obsahující jeden řádek nebo sloupec obsahující řetězec schématu CSL.
Poznámka:
- Kromě čtení musí mít tajné klíče identifikátoru URI kontejneru úložiště oprávnění pro seznam.
- Strategie odvozování schématu "all" je velmi "nákladná" operace, protože to znamená čtení ze všech nalezených artefaktů a sloučení jejich schématu.
- Některé vrácené typy nemusí být skutečnými typy v důsledku nesprávného odhadu typu (nebo v důsledku procesu sloučení schématu). Proto byste měli před vytvořením externí tabulky pečlivě zkontrolovat výsledek.
Příklad
let options = dynamic({
'StorageContainers': [
h@'https://storageaccount.blob.core.windows.net/MobileEvents;secretKey'
],
'FileExtension': '.parquet',
'FileNamePrefix': 'part-',
'DataFormat': 'parquet'
});
evaluate infer_storage_schema(options)
Výstup
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 |
Použijte vrácené schéma v definici externí tabulky:
.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'
)