Partilhar via


CRIAR FORMATO DE FICHEIRO EXTERNO (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL database in Microsoft Fabric

Cria um objeto de formato de ficheiro externo que define dados externos armazenados em Hadoop, Azure Blob Storage, Azure Data Lake Store, OneLake no Microsoft Fabric, ou para os fluxos de entrada e saída associados a fluxos externos. Criar um formato de arquivo externo é um pré-requisito para criar uma tabela externa. Ao criar um formato de arquivo externo, você especifica o layout real dos dados referenciados por uma tabela externa. Para criar uma tabela externa, consulte CREATE EXTERNAL TABLE (Transact-SQL).

Os seguintes formatos de ficheiro são suportados:

Transact-SQL convenções de sintaxe

Sintaxe

-- Create an external file format for DELIMITED (CSV/TSV) files.
CREATE EXTERNAL FILE FORMAT file_format_name
WITH (
        FORMAT_TYPE = DELIMITEDTEXT
    [ , FORMAT_OPTIONS ( <format_options> [ ,...n  ] ) ]
    [ , DATA_COMPRESSION = {
           'org.apache.hadoop.io.compress.GzipCodec'
        }
     ]);

<format_options> ::=
{
    FIELD_TERMINATOR = field_terminator
    | STRING_DELIMITER = string_delimiter
    | FIRST_ROW = integer -- Applies to: Azure Synapse Analytics and SQL Server 2022 and later versions
    | DATE_FORMAT = datetime_format
    | USE_TYPE_DEFAULT = { TRUE | FALSE }
    | ENCODING = {'UTF8' | 'UTF16'}
    | PARSER_VERSION = {'parser_version'}

}

Argumentos

file_format_name

Especifica um nome para o formato de arquivo externo.

TIPO_DE_FORMATO

Especifica o formato dos dados externos.

  • FORMAT_TYPE = PARQUET

    Especifica um formato Parquet.

  • FORMAT_TYPE = ORC

    Especifica um formato ORC (Optimized Row Columnar). Essa opção requer o Hive versão 0.11 ou superior no cluster Hadoop externo. No Hadoop, o formato de arquivo ORC oferece melhor compactação e desempenho do que o formato de arquivo RCFILE.

  • FORMAT_TYPE = RCFILE, SERDE_METHOD = SERDE_method

    Especifica um formato de arquivo Record Columnar (RcFile). Esta opção requer que você especifique um método Hive Serializer and Deserializer (SerDe). Esse requisito é o mesmo se você usar o Hive/HiveQL no Hadoop para consultar arquivos RC. Observe que o método SerDe diferencia maiúsculas de minúsculas.

    Exemplos de especificação do RCFile com os dois métodos SerDe suportados pelo PolyBase.

    • FORMAT_TYPE = RCFILE, SERDE_METHOD = 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe'
    • FORMAT_TYPE = RCFILE, SERDE_METHOD = 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe'
  • FORMAT_TYPE = TEXTO DELIMITADO

    Especifica um formato de texto com delimitadores de coluna, também conhecidos como terminadores de campo.

  • FORMAT_TYPE = JSON

    Especifica um formato JSON. Aplica-se apenas ao Azure SQL Edge.

  • FORMAT_TYPE = DELTA

    Especifica um formato Delta Lake. Aplica-se a pools SQL sem servidor no Azure Synapse Analytics e no SQL Server 2022 (16.x).

FORMAT_OPTIONS

Opcional. Apenas para tipos de dados de texto delimitados.

Apenas pools SQL sem servidor no Azure Synapse Analytics suportam PARSER_VERSION.

Os pools SQL sem servidor não oferecem suporte à DATE_FORMAT opção.

DATA_COMPRESSION = data_compression_method

Especifica o método de compactação de dados para os dados externos. Quando DATA_COMPRESSION não é especificado, o padrão é dados não compactados.

Para funcionar corretamente, os arquivos compactados Gzip devem ter a extensão de .gz arquivo.

O DELIMITEDTEXT tipo de formato suporta este método de compressão: DATA_COMPRESSION = org.apache.hadoop.io.compress.GzipCodec

Opções de formato de texto delimitado

As opções de formato descritas nesta seção são opcionais e só se aplicam a arquivos de texto delimitados.

FIELD_TERMINATOR = field_terminator

Aplica-se apenas a ficheiros de texto delimitados. O terminador de campo especifica um ou mais caracteres que marcam o final de cada campo (coluna) no arquivo delimitado por texto. O padrão é o caractere |pipe . Para suporte garantido, recomendamos o uso de um ou mais caracteres ASCII.

Exemplos:

  • FIELD_TERMINATOR = '|'
  • FIELD_TERMINATOR = ' '
  • FIELD_TERMINATOR = ꞌ\tꞌ
  • FIELD_TERMINATOR = '~|~'

STRING_DELIMITER

STRING_DELIMITER = *string_delimiter*

Especifica um caractere que inclui os valores textuais no arquivo delimitado por texto. O padrão é a cadeia de caracteres vazia "". O valor de STRING_DELIMITER é funcionalmente equivalente à opção FIELDQUOTE na OPENROWSET BULK função.

Observação

As tabelas Hadoop em pools SQL dedicados Synapse permitem especificar um ou mais caracteres em STRING_DELIMITER. No pool SQL sem servidor, você pode usar apenas um caractere.

Exemplos:

  • STRING_DELIMITER = '"'

  • STRING_DELIMITER = '0x22' (Aspas duplas hex)

  • STRING_DELIMITER = '*'

  • STRING_DELIMITER = ꞌ,ꞌ

  • STRING_DELIMITER = '0x7E0x7E' (Dois tils, por exemplo, ~~) - suportado em pool SQL dedicado.

FIRST_ROW = first_row_int

Aplica-se a: Azure Synapse Analytics, SQL Server 2022 e versões posteriores

Especifica o número da linha que é lido primeiro em todos os arquivos durante um carregamento do PolyBase. Este parâmetro pode ter valores de 1 a 15. Se o valor for definido como dois, a primeira linha em cada arquivo (linha de cabeçalho) será ignorada quando os dados forem carregados. As linhas são ignoradas com base na existência de terminadores de linha (/r/n, /r, /n). Quando essa opção é usada para exportação, linhas são adicionadas aos dados para garantir que o arquivo possa ser lido sem perda de dados. Se o valor for definido como >2, a primeira linha exportada será os nomes de coluna da tabela externa.

DATE_FORMAT = datetime_format

Especifica um formato personalizado para todos os dados de data e hora que podem aparecer em um arquivo de texto delimitado. Se o arquivo de origem usar formatos de data/hora padrão, essa opção não será necessária. Apenas um formato datetime personalizado é permitido por arquivo. Não é possível especificar mais de um formato datetime personalizado por arquivo. No entanto, você pode usar mais de um formato datetime se cada um for o formato padrão para seu respetivo tipo de dados na definição de tabela externa.

Importante

O PolyBase usa apenas o formato de data personalizado para importar os dados. Ele não usa o formato personalizado para gravar dados em um arquivo externo.

Quando DATE_FORMAT não é especificado ou é a cadeia de caracteres vazia, o PolyBase usa os seguintes formatos padrão:

  • Data:'yyyy-MM-dd HH:mm:ss'

  • SmallDateTime: 'yyyy-MM-dd HH:mm'

  • data: 'yyyy-MM-dd'

  • datahora2: 'yyyy-MM-dd HH:mm:ss'

  • DataTempoOffset: 'yyyy-MM-dd HH:mm:ss'

  • tempo: 'HH:mm:ss'

Importante

A especificação personalizada DATE_FORMAT substitui todos os formatos de tipo padrão. Isso significa que você precisará ter os mesmos formatos de data em todas as células de data/hora, data e hora em seus arquivos. Com o substituído DATE_FORMAT, você não pode ter valores de data e hora em formato diferente.

Exemplos de formatos de data estão na tabela a seguir:

Notas sobre a tabela:

  • Ano, mês e dia podem ter vários formatos e pedidos. A tabela mostra apenas o formato ymd . Mês pode ter um ou dois dígitos, ou três caracteres. Dia pode ter um ou dois dígitos. Ano pode ter dois ou quatro dígitos.

  • Milissegundos (fffffff) não são necessários.

  • am ou pm (tt) não é obrigatório. A predefinição é AM.

Tipo de data Exemplo Descrição
datetime DATE_FORMAT = yyyy-MM-dd HH:mm:ss.fff Além do ano, mês e dia, este formato de data inclui 00-24 horas, 00-59 minutos, 00-59 segundos e três dígitos por milissegundos.
datetime DATE_FORMAT = yyyy-MM-dd hh:mm:ss.ffftt Além do ano, mês e dia, este formato de data inclui 00-12 horas, 00-59 minutos, 00-59 segundos, três dígitos por milissegundos e AM, am, PM, ou pm.
PequenoDateTime DATE_FORMAT = yyyy-MM-dd HH:mm Além do ano, mês e dia, este formato de data inclui 00-23 horas, 00-59 minutos.
PequenoDateTime DATE_FORMAT = yyyy-MM-dd hh:mmtt Além do ano, mês e dia, este formato de data inclui 00-11 horas, 00-59 minutos, sem segundos, e AM, am, PM, ou pm.
data DATE_FORMAT = yyyy-MM-dd Ano, mês e dia. Nenhum elemento de tempo está incluído.
data DATE_FORMAT = yyyy-MMM-dd Ano, mês e dia. Quando mês é especificado com MMM, o valor de entrada é um ou as cadeias de caracteres, Jan, Feb, Mar, Apr, MayJun, Jul, AugSepOctNovou .Dec
datetime2 DATE_FORMAT = yyyy-MM-dd HH:mm:ss.fffffff Além de ano, mês e dia, esse formato de data inclui 00-23 horas, 00-59 minutos, 00-59 segundos e sete dígitos por milissegundos.
datetime2 DATE_FORMAT = yyyy-MM-dd hh:mm:ss.ffffffftt Além de ano, mês e dia, este formato de data inclui 00-11 horas, 00-59 minutos, 00-59 segundos, sete dígitos para milissegundos e AM, am, PM, ou pm.
datetimeoffset DATE_FORMAT = yyyy-MM-dd HH:mm:ss.fffffff zzz Além de ano, mês e dia, esse formato de data inclui 00-23 horas, 00-59 minutos, 00-59 segundos e 7 dígitos por milissegundos, e o deslocamento de fuso horário que você coloca no arquivo de entrada como {+&#124;-}HH:ss. Por exemplo, como o horário de Los Angeles sem horário de verão está 8 horas atrás do UTC, um valor de -08:00 no arquivo de entrada especifica o fuso horário para Los Angeles.
datetimeoffset DATE_FORMAT = yyyy-MM-dd hh:mm:ss.ffffffftt zzz Além de ano, mês e dia, esse formato de data inclui 00-11 horas, 00-59 minutos, 00-59 segundos, sete dígitos para milissegundos, (AM, am, PM, ou pm), e o deslocamento de fuso horário. Veja a descrição na linha anterior.
Tempo DATE_FORMAT = HH:mm:ss Não há valor de data, apenas 00-23 horas, 00-59 minutos e 00-59 segundos.

Formatos de data e hora suportados

O formato de arquivo externo pode descrever um grande número de formatos de data e hora:

datetime PequenoDateTime data datetime2 datetimeoffset
[M[M]]M-[d]d-[yy]yy HH:mm:ss[.fff] [M[M]]M-[d]d-[yy]yy HH:mm[:00] [M[M]]M-[d]d-[yy]yy [M[M]]M-[d]d-[yy]yy HH:mm:ss[.fffffff] [M[M]]M-[d]d-[yy]yy HH:mm:ss[.fffffff] zzz
[M[M]]M-[d]d-[yy]yy hh:mm:ss[.fff][tt] [M[M]]M-[d]d-[yy]yy hh:mm[:00][tt] [M[M]]M-[d]d-[yy]yy hh:mm:ss[.fffffff][tt] [M[M]]M-[d]d-[yy]yy hh:mm:ss[.fffffff][tt] zzz
[M[M]]M-[yy]yy-[d]d HH:mm:ss[.fff] [M[M]]M-[yy]yy-[d]d HH:mm[:00] [M[M]]M-[yy]yy-[d]d [M[M]]M-[yy]yy-[d]d HH:mm:ss[.fffffff] [M[M]]M-[yy]yy-[d]d HH:mm:ss[.fffffff] zzz
[M[M]]M-[yy]yy-[d]d hh:mm:ss[.fff][tt] [M[M]]M-[yy]yy-[d]d hh:mm[:00][tt] [M[M]]M-[yy]yy-[d]d hh:mm:ss[.fffffff][tt] [M[M]]M-[yy]yy-[d]d hh:mm:ss[.fffffff][tt] zzz
[yy]yy-[M[M]]M-[d]d HH:mm:ss[.fff] [yy]yy-[M[M]]M-[d]d HH:mm[:00] [yy]yy-[M[M]]M-[d]d [yy]yy-[M[M]]M-[d]d HH:mm:ss[.fffffff] [yy]yy-[M[M]]M-[d]d HH:mm:ss[.fffffff] zzz
[yy]yy-[M[M]]M-[d]d hh:mm:ss[.fff][tt] [yy]yy-[M[M]]M-[d]d hh:mm[:00][tt] [yy]yy-[M[M]]M-[d]d hh:mm:ss[.fffffff][tt] [yy]yy-[M[M]]M-[d]d hh:mm:ss[.fffffff][tt] zzz
[yy]yy-[d]d-[M[M]]M HH:mm:ss[.fff] [yy]yy-[d]d-[M[M]]M HH:mm[:00] [yy]yy-[d]d-[M[M]]M [yy]yy-[d]d-[M[M]]M HH:mm:ss[.fffffff] [yy]yy-[d]d-[M[M]]M HH:mm:ss[.fffffff] zzz
[yy]yy-[d]d-[M[M]]M hh:mm:ss[.fff][tt] [yy]yy-[d]d-[M[M]]M hh:mm[:00][tt] [yy]yy-[d]d-[M[M]]M hh:mm:ss[.fffffff][tt] [yy]yy-[d]d-[M[M]]M hh:mm:ss[.fffffff][tt] zzz
[d]d-[M[M]]M-[yy]yy HH:mm:ss[.fff] [d]d-[M[M]]M-[yy]yy HH:mm[:00] [d]d-[M[M]]M-[yy]yy [d]d-[M[M]]M-[yy]yy HH:mm:ss[.fffffff] [d]d-[M[M]]M-[yy]yy HH:mm:ss[.fffffff] zzz
[d]d-[M[M]]M-[yy]yy hh:mm:ss[.fff][tt] [d]d-[M[M]]M-[yy]yy hh:mm[:00][tt] [d]d-[M[M]]M-[yy]yy hh:mm:ss[.fffffff][tt] [d]d-[M[M]]M-[yy]yy hh:mm:ss[.fffffff][tt] zzz
[d]d-[yy]yy-[M[M]]M HH:mm:ss[.fff] [d]d-[yy]yy-[M[M]]M HH:mm[:00] [d]d-[yy]yy-[M[M]]M [d]d-[yy]yy-[M[M]]M HH:mm:ss[.fffffff] [d]d-[yy]yy-[M[M]]M HH:mm:ss[.fffffff] zzz
[d]d-[yy]yy-[M[M]]M hh:mm:ss[.fff][tt] [d]d-[yy]yy-[M[M]]M hh:mm[:00][tt] [d]d-[yy]yy-[M[M]]M hh:mm:ss[.fffffff][tt] [d]d-[yy]yy-[M[M]]M hh:mm:ss[.fffffff][tt] zzz

Detalhes:

  • Para separar valores de mês, dia e ano, você deve usar um dos seguintes separadores: -, /, ou .. Para simplificar, a tabela usa apenas o - separador.

  • Para especificar o mês como texto, use três ou mais caracteres. Os meses com um ou dois caracteres são interpretados como um número.

  • Para separar valores de tempo, use o : símbolo.

  • As letras entre parênteses retos são opcionais.

  • As letras tt designam [AM|PM|am|pm]. AM é o padrão. Quando tt é especificado, o valor da hora (hh) deve estar no intervalo de 0 a 12.

  • As letras zzz designam o deslocamento de fuso horário para o fuso horário atual do sistema no formato {+|-}HH:ss].

USE_TYPE_DEFAULT = { VERDADEIRO | FALSO }

Especifica como lidar com valores ausentes em arquivos de texto delimitados quando o PolyBase recupera dados do arquivo de texto. O valor padrão é FALSE.

  • VERDADEIRO

    Ao recuperar dados do arquivo de texto, armazene cada valor ausente usando o valor padrão para o tipo de dados da coluna correspondente na definição de tabela externa. Por exemplo, substitua um valor ausente por:

    • 0 se a coluna for definida como uma coluna numérica. As colunas decimais não são suportadas e apresentam erros.

    • Cadeia de caracteres vazia "" se a coluna for uma coluna de cadeia de caracteres.

    • 1900-01-01 se a coluna for uma coluna de data.

    • No Azure Synapse Analytics, USE_TYPE_DEFAULT=true não há suporte para FORMAT_TYPE = DELIMITEDTEXT, PARSER_VERSION = '2.0'.

  • FALSO

    Armazene todos os valores ausentes como NULL. Todos os NULL valores armazenados usando a palavra NULL no arquivo de texto delimitado são importados como a cadeia de caracteres NULL.

CODIFICAÇÃO = {'UTF8' | 'UTF16'}

No Azure Synapse Analytics and Analytics Platform System (PDW) (APS CU7.4), o PolyBase pode ler UTF8 e UTF16-LE arquivos de texto delimitados codificados.

No SQL Server, o PolyBase não oferece suporte à leitura de arquivos codificados UTF16.

Permissões

Requer a permissão ALTER ANY EXTERNAL FILE FORMAT.

Observações

O formato de arquivo externo tem escopo de banco de dados no SQL Server e no Azure Synapse Analytics. Ele tem escopo de servidor no Analytics Platform System (PDW).

O formato Hadoop é apenas suportado no SQL Server 2016, 2017 e 2019.

As opções de formato são todas opcionais e aplicam-se apenas a ficheiros de texto delimitados.

Quando os dados são armazenados em um dos formatos compactados, o PolyBase primeiro descompacta os dados antes de retornar os registros de dados.

A base de dados SQL no Microsoft Fabric suporta apenas formato CSV de texto delimitado e formatos de ficheiro Parquet. A base de dados SQL do Fabric só suporta o OneLake no Microsoft Fabric como fonte de dados.

Limitações

O delimitador de linha em arquivos de texto delimitado deve ser suportado pelo LineRecordReader do Hadoop. Ou seja, deve ser ou \r, \nou \r\n. Esses delimitadores não são configuráveis pelo usuário.

As combinações de métodos SerDe suportados com RCFiles e os métodos de compressão de dados suportados estão listados anteriormente neste artigo. Nem todas as combinações são suportadas.

O número máximo de consultas PolyBase simultâneas é 32. Quando 32 consultas simultâneas estão em execução, cada consulta pode ler um máximo de 33.000 arquivos do local do arquivo externo. A pasta raiz e cada subpasta também contam como um arquivo. Se o grau de simultaneidade for menor que 32, o local do arquivo externo pode conter mais de 33.000 arquivos.

Devido à limitação do número de arquivos na tabela externa, recomendamos armazenar menos de 30.000 arquivos na raiz e nas subpastas do local do arquivo externo. Além disso, recomendamos manter o número de subpastas sob o diretório raiz para um número pequeno. Quando muitos arquivos são referenciados, uma exceção de falta de memória da Java Virtual Machine pode ocorrer.

Ao exportar dados para Hadoop ou Armazenamento de Blobs do Azure via PolyBase, somente os dados são exportados, não os nomes das colunas (metadados), conforme definido no comando CREATE EXTERNAL TABLE.

Bloqueio

Usa um bloqueio compartilhado no objeto EXTERNAL FILE FORMAT.

Desempenho

O uso de arquivos compactados sempre vem com a compensação entre transferir menos dados entre a fonte de dados externa e o SQL Server e, ao mesmo tempo, aumentar o uso da CPU para compactar e descompactar os dados.

Os ficheiros de texto comprimido Gzip não são divididos. Para melhorar o desempenho de arquivos de texto compactados Gzip, recomendamos gerar vários arquivos que são todos armazenados no mesmo diretório dentro da fonte de dados externa. Essa estrutura de arquivos permite que o PolyBase leia e descompacte os dados mais rapidamente usando vários leitores e processos de descompressão. O número ideal de arquivos compactados é o número máximo de processos de leitor de dados por nó de computação. No SQL Server

No Analytics Platform System (PDW), o número máximo de processos de leitura de dados é 8 por nó. No Azure Synapse Analytics, o número máximo de processos de leitor de dados é de 20 leitores por nó.

Exemplos

Um. Criar um formato de arquivo externo DELIMITEDTEXT

Este exemplo cria um formato de arquivo externo chamado textdelimited1 para um arquivo delimitado por texto. As opções listadas para FORMAT_OPTIONS especificam que os campos no arquivo devem ser separados usando um caractere |pipe . O arquivo de texto também é compactado com o codec Gzip. Se DATA_COMPRESSION não for especificado, o arquivo de texto será descompactado.

Para um arquivo de texto delimitado, o método de compactação de dados pode ser o Codec padrão, org.apache.hadoop.io.compress.DefaultCodec, ou o Codec Gzip, org.apache.hadoop.io.compress.GzipCodec.

CREATE EXTERNAL FILE FORMAT textdelimited1
WITH (
    FORMAT_TYPE = DELIMITEDTEXT,
    FORMAT_OPTIONS (
        FIELD_TERMINATOR = '|',
        DATE_FORMAT = 'MM/dd/yyyy' ),
    DATA_COMPRESSION = 'org.apache.hadoop.io.compress.GzipCodec'
);

B. Criar um formato de ficheiro externo RCFile

Este exemplo cria um formato de arquivo externo para um RCFile que usa o serialization/deserialization método org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe. Ele também especifica para usar o Codec padrão para o método de compactação de dados. Se DATA_COMPRESSION não for especificado, o padrão será sem compactação.

CREATE EXTERNAL FILE FORMAT rcfile1
WITH (
    FORMAT_TYPE = RCFILE,
    SERDE_METHOD = 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe',
    DATA_COMPRESSION = 'org.apache.hadoop.io.compress.DefaultCodec'
);

C. Criar um formato de arquivo externo ORC

Este exemplo cria um formato de arquivo externo para um arquivo ORC que compacta os dados com o método de compactação de org.apache.io.compress.SnappyCodec dados. Se DATA_COMPRESSION não for especificado, o padrão será sem compactação.

CREATE EXTERNAL FILE FORMAT orcfile1
WITH (
    FORMAT_TYPE = ORC,
    DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);

D. Criar um formato de arquivo externo PARQUET

Este exemplo cria um formato de arquivo externo para um arquivo Parquet que compacta os dados com o método de compactação de org.apache.io.compress.SnappyCodec dados. Se DATA_COMPRESSION não for especificado, o padrão será sem compactação.

CREATE EXTERNAL FILE FORMAT parquetfile1
WITH (
    FORMAT_TYPE = PARQUET,
    DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);

E. Criar um arquivo de texto delimitado ignorando a linha de cabeçalho

Aplica-se a: Azure Synapse Analytics e SQL Server 2022 (16.x) e posterior.

Este exemplo cria um formato de arquivo externo para o arquivo CSV com uma única linha de cabeçalho. Para obter mais informações, consulte Virtualizar arquivo CSV com PolyBase.

CREATE EXTERNAL FILE FORMAT skipHeader_CSV
WITH (FORMAT_TYPE = DELIMITEDTEXT,
      FORMAT_OPTIONS(
          FIELD_TERMINATOR = ',',
          STRING_DELIMITER = '"',
          FIRST_ROW = 2,
          USE_TYPE_DEFAULT = True)
);

F. Criar um formato de arquivo externo JSON

Aplica-se a: Azure SQL Edge.

Este exemplo cria um formato de arquivo externo para um arquivo JSON que compacta os dados com o método de compactação de org.apache.io.compress.SnappyCodec dados. Se DATA_COMPRESSION não for especificado, o padrão será sem compactação. Este exemplo aplica-se ao Azure SQL Edge e atualmente não tem suporte para outros produtos SQL.

CREATE EXTERNAL FILE FORMAT jsonFileFormat
WITH (
    FORMAT_TYPE = JSON,
    DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);

G. Criar um formato de arquivo externo de tabela delta

Este exemplo cria um formato de arquivo externo para o formato de arquivo do tipo tabela Delta. Este exemplo se aplica ao SQL Server 2022 (16.x). Para obter mais informações, consulte Virtualizar tabela delta com PolyBase.

CREATE EXTERNAL FILE FORMAT DeltaFileFormat
WITH (
    FORMAT_TYPE = DELTA
);