Table is
Para archivos Excel, XML, Parquet o JSON, puede especificar la tabla desde la que está cargando los datos en el especificador de formato de tabla.
Sintaxis:
Table is table name
Argumentos:
Argumentos
table name |
Especifica el nombre de la tabla.El valor depende del formato de la tabla:
-
Excel: el nombre de la hoja.
-
XML: la ruta que especifica la parte del XML que se ha de cargar.
-
Parquet: la ruta que especifica la tabla, con el formato <nodo>.<nodo>.<nodo>.
Use Table is cuando se especifique una tabla dentro de una estructura anidada.
Por ejemplo, tiene datos Parquet en el siguiente esquema:
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)
Podría cargar Phone y sus campos anidados como una tabla con el argumento Table is [Schema:Phone.Item]. Esto generará el campo clave %Key_Phone con la tabla.
-
JSON: en archivos JSON con arrays, la ruta al iterador para la subtabla.
Puede hacer una carga de todas las tablas especificando all tables en lugar de Table is. Por ejemplo:
LOAD * FROM [lib://DataFiles/Sales.json] (json, all tables);
Si sus datos contienen varias matrices (arrays) con idéntico contenido, utilice la palabra clave DISTINCT en las sentencias Load de las subtablas. Por ejemplo:
LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);
|
Ejemplo: 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]);
Ejemplo: XML
LOAD
city%Table,
%Key_row_7FAC1F878EC01ECB
FROM [lib://DataFiles/cities.xml]
(XmlSimple, table is [root/row/country/city]);
Ejemplo: Parquet
El archivo company.parquet contiene el siguiente esquema:
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)
La siguiente secuencia cargaría el contenido del archivo en tablas. La primera sentencia load carga el grupo raíz. La segunda sentencia load carga el contenido del grupo salesrep como una tabla. La tercera carga el grupo headquarter como una tabla. La cuarta carga el grupo region como una tabla.
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]
Ejemplo: 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]);
Limitaciones:
El especificador Table is solo es relevante para archivos Excel, XML, Parquet y JSON.