SnowConvert AI - BigQuery - CREATE TABLE¶
Sintaxe gramatical¶
Amostra de padrões da origem¶
DEFAULT COLLATE¶
BigQuery¶
Snowflake¶
Opção de tabela de rótulos¶
BigQuery¶
Snowflake¶
Opção de tabela de descrição¶
BigQuery¶
Snowflake¶
Opção de tabela de descrição¶
BigQuery¶
Snowflake¶
Problemas conhecidos¶
1. Opções de tabela não suportadas
Nem todas as opções de tabela são suportadas no Snowflake, quando uma opção de tabela sem suporte é encontrada na cláusula OPTIONS, um EWI é gerado para alertar sobre isso.
BigQuery¶
Snowflake¶
2. O microparticionamento é gerenciado automaticamente pelo Snowflake
O Snowflake realiza o particionamento automático dos dados. O particionamento definido pelo usuário não é suportado.
BigQuery¶
Snowflake¶
COLUMN DEFINITION¶
Sintaxe gramatical¶
Amostra de padrões da origem¶
Opção de descrição¶
BigQuery¶
Snowflake¶
COLLATE¶
BigQuery¶
Snowflake¶
Problemas conhecidos¶
1. Modo de arredondamento incompatível
O Snowflake não oferece suporte à especificação de um modo de arredondamento padrão nas colunas.
BigQuery¶
Snowflake¶
EWIs relacionados¶
SSC-EWI-BQ0001: O Snowflake não oferece suporte à cláusula de opções.
CREATE EXTERNAL TABLE¶
Descrição¶
Tabelas externas permitem dados de consulta BigQuery que estão armazenados fora do armazenamento BigQuery. ([Referência de linguagem BigQuery SQL CREATE EXTERNAL TABLE](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition- language#create_external_table_Statement))
Sintaxe
A instrução CREATE EXTERNAL TABLE de BigQuery será transformada em uma instrução CREATE EXTERNAL TABLE do Snowflake, no entanto, essa transformação requer a intervenção do usuário.
To complete the transformation performed by SnowConvert AI, it is necessary to define a Storage Integration, a External Stage and (optional) Notification Integration that have access to the external source were files are located. Please refer to the following guides on how to set up the connection for each provider:
Para tabelas externas que fazem referência ao Google Cloud Storage
Para tabelas externas que fazem referência ao Armazenamento de blobs Azure
Considerações importantes para as transformações mostradas nesta página:
O espaço reservado @EXTERNAL_STAGE deve ser substituído pelo estágio externo criado após seguir o guia anterior.
Supõe-se que o estágio externo apontará para a raiz do bucket. Isso é importante, porque a cláusula PATTERN gerada para cada tabela especifica os caminhos do arquivo/pasta começando pela base do bucket. Definir um estágio externo que aponta para um local diferente no bucket pode causar um comportamento indesejado.
A cláusula
AUTO_REFRESH = FALSEé gerada para evitar erros; observe que a atualização automática de metadados de tabela externa só é válida se o provedor de nuvem de sua conta Snowflake e o provedor de bucket forem o mesmo e uma integração de notificação tiver sido criada.
Amostra de padrões da origem¶
CREATE EXTERNAL TABLE com lista de colunas explícita¶
When the column list is provided, SnowConvert AI will automatically generate the AS expression column options for each column to extract the file values.
BigQuery¶
Snowflake¶
CREATE EXTERNAL TABLE sem lista de colunas explícita¶
Quando a lista de colunas não é fornecida, o BigQuery detecta automaticamente o esquema de colunas da estrutura do arquivo. Para replicar esse comportamento, o SnowConvert AI vai gerar uma cláusula USING TEMPLATE que usa INFER_SCHEMA para gerar as definições das colunas.
Como a função INFER_SCHEMA requer um formato de arquivo para funcionar, o SnowConvert AI vai gerar um formato de arquivo temporário para este fim; este formato de arquivo só é necessário ao executar a instrução CREATE EXTERNAL TABLE e ela será automaticamente descartada quando a sessão terminar.
BigQuery¶
Snowflake¶
CREATE EXTERNAL TABLE com vários URIs¶
Quando URIs de origem múltipla são especificados, eles são unidos na regex da cláusula PATTERN no Snowflake; os caracteres curinga * usados serão transformados em seu .* equivalentes no Snowflake.
BigQuery¶
Snowflake¶
Cláusula WITH CONNECTION¶
A cláusula WITH CONNECTION é removida porque as informações de conexão já foram fornecidas ao Snowflake usando a integração de armazenamento.
BigQuery¶
Snowflake¶
Opções de tabela compatíveis¶
As seguintes opções de tabela externa são suportadas no Snowflake e transformadas por SnowConvert AI:
FORMAT
ENCODING
SKIP_LEADING_ROWS
FIELD_DELIMITER
COMPRESSION
BigQuery¶
Snowflake¶
Problemas conhecidos¶
1. CREATE EXTERNAL TABLE sem lista de colunas explícita e formato de arquivo CSV
Currently, Snowflake external tables do not support parsing the header of CSV files. When an external table with no explicit column list and CSV file format is found, SnowConvert AI will produce the SKIP_HEADER file format option to avoid runtime errors, however, this will cause the table column names to have the autogenerated names c1, c2, …, cN.
Um FDM é gerado para notificar que o cabeçalho não pode ser analisado e que é necessário renomear manualmente as colunas para preservar os nomes.
BigQuery¶
Snowflake¶
2. Tabelas externas que fazem referência a fontes do Google Drive
O Snowflake não oferece suporte à leitura de dados de arquivos hospedados no Google Drive. Um FDM será gerado para notificar sobre isso e solicitar que os arquivos sejam carregados no bucket e acessados por meio do estágio externo.
A cláusula PATTERN conterá espaços reservados FILE_PATH0, FILE_PATH1, …, FILE_PATHN gerados automaticamente que devem ser substituídos pelo caminho do arquivo/pasta após os arquivos serem movidos para a localização externa.
BigQuery¶
Snowflake¶
3. Tabelas externas com o formato do arquivo GOOGLE_SHEETS
O Snowflake não é compatível com o Planilhas Google como formato de arquivo; no entanto, a estrutura dele é semelhante aos arquivos CSV, que são compatíveis com o Snowflake.
When SnowConvert AI detects an external table using the GOOGLE_SHEETS format, it will produce an external table with the CSV file format instead.
Como o Google Sheets é armazenado no Google Drive, seria necessário carregar os arquivos como CSV para o local externo e especificar os caminhos do arquivo na cláusula PATTERN, conforme mencionado na questão anterior.
BigQuery¶
Snowflake¶
4. Tabelas externas com formatos de arquivo não suportados
O Snowflake é compatível com os seguintes formatos do BigQuery:
BigQuery |
Snowflake |
|---|---|
AVRO |
AVRO |
CSV |
CSV |
NEWLINE_DELIMITED_JSON |
JSON |
ORC |
ORC |
PARQUET |
PARQUET |
Outros formatos serão marcados como não suportados.
BigQuery¶
Snowflake¶
5. Tabelas externas particionadas do Hive
O Snowflake não oferece suporte a tabelas externas particionadas do Hive. A cláusula WITH PARTITION COLUMNS será marcada como não suportada.
BigQuery¶
Snowflake¶
6. Tabela externa sem lista de colunas e nenhum URI de arquivo válido para a função INFER_SCHEMA
A função INFER_SCHEMA requer um LOCATION que especifica o caminho para um arquivo ou pasta que será usado para construir as colunas da tabela; no entanto, esse caminho não oferece suporte a regex, o que significa que o caractere curinga * não é suportado.
When the table has no columns, SnowConvert AI will check all URIS to find one that does not use wildcards and use it in the INFER_SCHEMA function, when no URI meets such criteria an FDM and FILE_PATH placeholder will be generated, the placeholder has to be replaced with the path of one of the files referenced by the external table to generate the table columns.
BigQuery¶
Snowflake¶
7. Opções de tabela não suportadas
Qualquer outra opção de tabela não mencionada no padrão Opções de tabela compatíveis será marcada como não compatível.
BigQuery¶
Snowflake¶
EWIs relacionados¶
SSC-EWI-BQ0013: Formato de dados da tabela externa não suportado no Snowflake
SSC-EWI-BQ0014: As tabelas externas particionadas do Hive não são suportadas no Snowflake
SSC-EWI-BQ0015: External table requires an external stage to access an external location, define and replace the EXTERNAL_STAGE placeholder
SSC-FDM-BQ0004: A função INFER_SCHEMA requer um caminho de arquivo sem curingas para gerar o modelo de tabela; substitua o espaço reservado FILE_PATH por ele
SSC-FDM-BQ0005: A análise do cabeçalho CSV não é compatível em tabelas externas; as colunas devem ser renomeadas para corresponder aos nomes originais.
SSC-FDM-BQ0006: A leitura do Google Drive não é compatível com o Snowflake; carregue os arquivos para o local externo e substitua os espaços reservados FILE_PATH
SSC-FDM-BQ0007: The GOOGLE_SHEETS format is not supported in Snowflake. CSV file type is used as a workaround.
CREATE TABLE CLONE¶
Sintaxe gramatical¶
Amostra de padrões da origem¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
::{note} A opção LABELS em instruções CREATE TABLE CLONE não é transformada em TAGs porque so TAGs da tabela de origem são copiados; eles não podem ser alterados durante a cópia da tabela. A transformação de outras opções de tabela é a mesma especificada para a instruçãoCREATE TABLE.
CREATE TABLE COPY
Grammar syntax
Sample Source Patterns
Caso geral
CREATE TABLE CLONE em Snowflake é funcionalmente equivalente a CREATE TABLE COPY.
Código de entrada
BigQuery
Snowflake
Nota
A opção LABELS em instruções CREATE TABLE COPY não é transformada em TAGs porque as TAGs da tabela de origem são copiadas. Elas não podem ser alteradas durante a cópia da tabela. A transformação de outras opções de tabela é a mesma especificada para a instrução CREATE TABLE statement.
CREATE TABLE LIKE¶
Sintaxe gramatical¶
Sucesso
CREATE TABLE LIKE é totalmente compatível com o Snowflake.
Nota
A opção LABELS em instruções CREATE TABLE LIKE não é transformada em TAGs porque as TAGs da tabela de origem são copiadas. Elas não podem ser alteradas durante a cópia da tabela. A transformação de outras opções de tabela é a mesma especificada para a instrução CREATE TABLE statement.
CREATE TABLE SNAPSHOT¶
Sintaxe gramatical¶
Amostra de padrões da origem¶
Caso geral¶
A palavra-chave Snapshot é removida no Snowflake, transformando a tabela em um CREATE TABLE CLONE.
As duas diferenças entre instantâneos e clones são que os instantâneos não são editáveis e geralmente têm uma data de expiração. Datas de expiração não são suportadas; isso é tratado conforme especificado para Opções de instrução CREATE TABLE não são suportadas.
BigQuery¶
Snowflake¶
FOR SYSTEM TIME AS OF¶
BigQuery¶
Snowflake¶
Nota
A opção LABELS em instruções CREATE TABLE COPY não é transformada em TAGs porque as TAGs da tabela de origem são copiadas. Elas não podem ser alteradas durante a cópia da tabela.
A transformação de outras opções de tabela é a mesma especificada para a instrução CREATE TABLE statement.