Table is
Per i file Excel, XML, Parquet o JSON, è possibile specificare la tabella da cui si desidera caricare i dati nell'identificatore di formato della tabella.
Sintassi:
Table is table name
Argomenti:
Argomenti
table name |
Specifica il nome della tabella. Il valore dipende dal formato della tabella:
-
Excel: il nome del foglio.
-
XML: il percorso che specifica le parti del file XML da caricare.
-
Parquet: il percorso che specifica la tabella, con il formato <nodo>.<nodo>.<nodo>.
Utilizzare Table is quando si specifica una tabella con struttura annidata.
Ad esempio, se si dispone di dati nel formato Parquet con il seguente schema:
Schema:
Field(name: "Name", datatype: String),
Field(name: "Age", datatype: Float),
Field(name: "Phone", datatype: List(
Field(name: "Item", datatype: Struct[
Field(name: "Number", datatype: String)
È possibile caricare Phone e i relativi campi annidati come una tabella con l'argomento Table is [Schema:Phone.Item]. Questa operazione genera il campo chiave %Key_Phone con la tabella.
-
JSON: nei file JSON con matrici, il percorso dell'iteratore per la sottotabella.
È possibile completare il caricamento di tutte le tabelle specificando tutte le tabelle anziché Table is. Ad esempio:
LOAD * FROM [lib://DataFiles/Sales.json] (json, all tables);
Se i dati contengono più matrici con contenuto identico, utilizzare la parola chiave DISTINCT nelle istruzioni di caricamento nella sottotabella. Ad esempio:
LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);
|
Esempio: Excel
LOAD
"Item Number",
"Product Group",
"Product Line",
"Product Sub Group",
"Product Type"
FROM [lib://DataFiles/Item master.xlsx]
(ooxml, embedded labels, table is [Item master]);
Esempio: XML
LOAD
city%Table,
%Key_row_7FAC1F878EC01ECB
FROM [lib://DataFiles/cities.xml]
(XmlSimple, table is [root/row/country/city]);
Esempio: Parquet
Il file company.parquet contiene il seguente schema:
company (String)
contact (String)
company:salesrep (List)
salesrep (Group)
salesrep (String)
company:headquarter (List)
headquarter (Group)
country (String)
city (String)
city:region (List)
region (Group)
region (String)
Le istruzioni riportate sotto consentono di caricare o contenuti del file nelle tabelle. La prima istruzione LOAD carica il gruppo root. La seconda istruzione LOAD carica i contenuti del gruppo salesrep come una tabella. La terza carica il gruppo headquarter come una tabella. Infine, la quarta carica il gruppo region come una tabella.
LOAD * FROM […] (parquet);
LOAD * FROM […] (parquet, table is [company:salesrep.salesrep]);
LOAD * FROM […] (parquet, table is [company:headquarter.headquarter]
LOAD * FROM […] (parquet, table is [company:headquarter.headquarter.city:region.region]
Esempio: JSON
LOAD
customers.customerid,
customers.companyname,
customers.contactname,
customers.contacttitle,
customers.address,
customers.city,
customers.postalcode,
customers.country,
customers.phone,
customers.fax,
%Key_customers,
customers.region
FROM [lib://DataFiles/example.json]
(json, table is [/*/customers]);
Limiti:
L'identificatore Table is è rilevante solo per i file Excel, XML, Parquet o JSON.