Table is
Para arquivos Excel, XML ou Parquet, você pode especificar a tabela da qual está carregando dados no especificador de formato de tabela.
Sintaxe:
Table is table name
Argumentos:
Argumentos
table name |
Especifica o nome da tabela. O valor depende do formato da tabela:
-
Excel: o nome da pasta.
-
XML: o caminho que especifica a parte do XML a ser carregada.
-
Parquet: o caminho que especifica a tabela, com o formato <node>.<node>.<node>.
Use Table is ao especificar uma tabela dentro de uma estrutura aninhada.
Por exemplo, você tem dados do Parquet no seguinte 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)
Você poderia carregar Phone e seus campos aninhados como uma tabela com o argumento Table is [Schema:Phone.Item]. Isso gerará o campo chave %Key_Phone com a tabela.
|
Exemplo: Excel
LOAD
"Item Number",
"Product Group",
"Product Line",
"Product Sub Group",
"Product Type"
FROM [lib://AttachedFiles/Item master.xlsx]
(ooxml, embedded labels, table is [Item master]);
Exemplo: XML
LOAD
city%Table,
%Key_row_7FAC1F878EC01ECB
FROM [lib://AttachedFiles/cities.xml]
(XmlSimple, table is [root/row/country/city]);
Exemplo: Parquet
O arquivo company.parquet contém o seguinte 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)
O seguinte carregaria o conteúdo do arquivo em tabelas. A primeira instrução de LOAD carrega o grupo raiz. A segunda instrução de LOAD carrega o conteúdo do grupo salesrep como uma tabela. A terceira carrega o grupo headquarter como uma tabela. A quarta carrega o grupo region como uma tabela.
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]
Limitações:
O especificador Table is é relevante apenas para arquivos Excel, XML ou Parquet.