Sdílet prostřednictvím


Modul plug-in infer_storage_schema

Platí pro: ✅Microsoft FabricAzure 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

evaluateinfer_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, lastall. 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'
)