Partilhar via


Navegar no conteúdo do ficheiro usando a função OPENROWSET (Pré-visualização)

Aplica-se a:✅ Armazém no Microsoft Fabric

A função OPENROWSET permite que você leia o conteúdo de arquivos Parquet ou CSV e retorne os dados como um conjunto de linhas.

Você pode usar esse recurso para inspecionar o conteúdo do arquivo antes de carregá-lo na tabela do data warehouse. Com OPENROWSET, pode facilmente explorar os arquivos que irá carregar no seu Fabric Warehouse, compreender as colunas que está a importar e determinar os seus tipos.

Depois de entender seus dados, você pode criar as tabelas que serão usadas para armazenar o conteúdo do arquivo ingerido.

Procurar ficheiros Parquet usando a função OPENROWSET

No primeiro exemplo, vamos inspecionar dados de uma fonte Parquet.

Use o código seguinte para ler dados de exemplo de um ficheiro utilizando a função OPENROWSET(BULK) com uma fonte Parquet:

SELECT TOP 10 * 
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet') AS data

Como esses dados estão disponíveis publicamente e não exigem autenticação, você pode copiar facilmente essa consulta para seu armazém do Fabric e executá-la sem alterações.

Não são necessários detalhes de autenticação.

Você não precisa especificar a opção FORMAT, pois a função OPENROWSET pressupõe que você está lendo o formato Parquet com base na extensão de arquivo .parquet no URI.

Procurar arquivos CSV usando a função OPENROWSET

No segundo exemplo, inspecionamos dados de um arquivo CSV. Use o código a seguir para ler dados de exemplo de um arquivo CSV usando a função OPENROWSET(BULK):

SELECT TOP 10 * 
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data

Como esses dados estão disponíveis publicamente e não exigem autenticação, você pode copiar facilmente essa consulta para seu armazém do Fabric e executá-la sem alterações. Não são necessários detalhes de autenticação.

Você não precisa especificar a opção FORMAT, pois a função OPENROWSET assumirá que você está lendo o formato CSV com base na extensão de arquivo .csv no URI.

Observação

Nos resultados, você pode notar que a primeira linha desse arquivo contém os nomes das colunas em vez de dados. Nesse caso, você precisará modificar a consulta usando a opção HEADER_ROW para ignorar a linha e usá-la apenas para os nomes das colunas. Isso faz parte do processo de exploração de dados, à medida que você ajusta gradualmente o arquivo até que ele corresponda aos dados subjacentes.

Leitura de arquivos de texto personalizados

A função OPENROWSET(BULK) permite definir várias opções para ler arquivos de texto personalizados. Por exemplo, você pode especificar valores para ROWTERMINATOR e FIELDTERMINATOR para indicar o formato de arquivo subjacente.

select *
from OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv',
                FORMAT='CSV',
                HEADER_ROW=True,
                ROW_TERMINATOR='\n',
                FIELD_TERMINATOR=','
) AS data

Neste exemplo, especificamos explicitamente que estamos lendo um arquivo no formato CSV, onde cada linha é separada por uma nova linha e cada campo é separado por uma vírgula. A primeira linha contém o cabeçalho, que será usado para os nomes das colunas.

Explorar metadados de coluna

Com a função OPENROWSET, você pode visualizar facilmente as colunas de arquivo e seus tipos combinando a consulta que lê dados de exemplo com o procedimento sp_describe_first_result_set:

EXEC sp_describe_first_result_set 
N'SELECT TOP 0 * 
FROM OPENROWSET(BULK ''https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet'') AS data';

Neste exemplo, o procedimento sp_describe_first_result_set executa a consulta com a função OPENROWSET, que retorna 0 linhas. Em seguida, ele pega o esquema de coluna dessa consulta interna e retorna o esquema de coluna como resultado do procedimento.

Você pode usar esse esquema de coluna para definir a estrutura da tabela de destino na instrução CREATE TABLE onde você ingere seus dados. Como alternativa, você pode usar esses resultados para especificar tipos mais precisos para os resultados da função OPENROWSET, conforme mostrado no exemplo a seguir.

Especifique o esquema da função OPENROWSET

A função OPENROWSET(BULK) retorna tipos de coluna estimados com base em uma amostra dos dados.

Se a amostra não for representativa, você pode obter tipos inesperados ou seus tamanhos.

Se você souber os tipos de coluna em seus arquivos, poderá definir explicitamente o esquema das colunas usando a cláusula WITH:

SELECT TOP 10 * 
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data
WITH (updated date,
      load_time datetime2,
      deaths_change smallint,
      id int,
      confirmed int,
      confirmed_change int,
      deaths int,
      recovered int,
      recovered_change int,
      latitude float,
      longitude float,
      iso2 varchar(8000),
      iso3 varchar(8000),
      country_region varchar(8000),
      admin_region_1 varchar(8000),
      iso_subdivision varchar(8000),
      admin_region_2 varchar(8000)
) AS data;

Em vez de adivinhar os tipos de coluna, a função OPENROWSET(BULK) atribuirá explicitamente os tipos fornecidos na cláusula WITH.

Dessa forma, você pode definir tipos mais precisos, o que pode melhorar o desempenho de suas consultas.

Próximos passos

Depois de concluir a exploração de arquivos e criar tabelas de destino, você pode prosseguir com a ingestão usando um dos seguintes métodos: