modul plug-in infer_storage_schema_with_suggestions
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Tento infer_storage_schema_with_suggestions
modul plug-in odvodí schéma externích dat a vrátí objekt JSON. Pro každý sloupec objekt poskytuje odvozený typ, doporučený typ a doporučenou transformaci mapování. Doporučený typ a mapování poskytuje logika návrhu, která určuje optimální typ pomocí následující logiky:
- Sloupce identity: Pokud je
long
odvozený typ sloupce a název sloupce končíid
, navrhovaný typ jestring
, protože poskytuje optimalizované indexování pro sloupce identity, kde jsou běžné filtry rovnosti. - Sloupce datetime systému Unix: Pokud je
long
odvozený typ sloupce a jedna z transformací mapování data a času unix-time vytvoří platnou hodnotu datetime, navrhovaný typ jedatetime
a navrhovanéApplicableTransformationMapping
mapování je typ, který vytvořil platnou hodnotu datetime.
Modul plug-in se vyvolá pomocí operátoru evaluate
. Pokud chcete získat schéma tabulky, které používá odvozené schéma pro vytvoření a změnu externích tabulek Azure Storage bez návrhů, použijte modul plug-in infer_storage_schema .
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_with_suggestions(
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 podporovaných pro příjem 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_with_suggestions
plug-in vrátí jednu výslednou tabulku obsahující jeden řádek nebo sloupec obsahující řetězec JSON.
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 použitím výsledků pečlivě zkontrolovat výsledek.
Příklad
let options = dynamic({
'StorageContainers': [
h@'https://storageaccount.blob.core.windows.net/MobileEvents;secretKey'
],
'FileExtension': '.json',
'FileNamePrefix': 'js-',
'DataFormat': 'json'
});
evaluate infer_storage_schema_with_suggestions(options)
Příklad vstupních dat
{
"source": "DataExplorer",
"created_at": "2022-04-10 15:47:57",
"author_id": 739144091473215488,
"time_millisec":1547083647000
}
Výstup
{
"Columns": [
{
"OriginalColumn": {
"Name": "source",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"RecommendedColumn": {
"Name": "source",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "created_at",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "created_at",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "author_id",
"CslType": {
"type": "long",
"IsNumeric": true,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "author_id",
"CslType": {
"type": "string",
"IsNumeric": false,
"IsSummable": false
}
},
"ApplicableTransformationMapping": "None"
},
{
"OriginalColumn": {
"Name": "time_millisec",
"CslType": {
"type": "long",
"IsNumeric": true,
"IsSummable": true
}
},
"RecommendedColumn": {
"Name": "time_millisec",
"CslType": {
"type": "datetime",
"IsNumeric": false,
"IsSummable": true
}
},
"ApplicableTransformationMapping": "DateTimeFromUnixMilliseconds"
}
]
}