Navegar pelo conteúdo do arquivo 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 dos 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á-los na tabela do data warehouse. Com o OPENROWSET, você pode explorar facilmente os arquivos que irá ingerir no Fabric Warehouse, entender as colunas que está ingerindo e determinar seus tipos.
Depois de entender seus dados, você poderá criar as tabelas que serão usadas para armazenar o conteúdo do arquivo ingerido.
Navegar arquivos Parquet usando a função OPENROWSET
No primeiro exemplo, inspecionaremos dados de uma fonte Parquet.
Use o código a seguir para ler dados de amostra de um arquivo usando 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 o seu armazém do Fabric e executá-la sem alterações.
Nenhum detalhe de autenticação é necessário.
Você não precisa especificar a opção FORMAT
, pois a função OPENROWSET
pressupõe que você esteja 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 seguinte código 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 o seu armazém do Fabric e executá-la sem alterações. Nenhum detalhe de autenticação é necessário.
Você não precisa especificar a opção FORMAT
, pois a função OPENROWSET
pressupõe que você esteja lendo o formato CSV
com base na extensão de arquivo .csv
no URI.
Nota
Nos resultados, você pode notar que a primeira linha neste arquivo contém os nomes de coluna 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 de coluna. Isso faz parte do processo de exploração de dados, pois você ajusta gradualmente o arquivo até que ele corresponda aos dados subjacentes.
Lendo arquivos de texto personalizados
A função OPENROWSET(BULK) permite que você defina 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 em que 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 de coluna.
Explorar metadados de coluna
Com a função OPENROWSET
, você pode exibir 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 usa 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 em que você ingerir 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 um exemplo dos dados.
Se o exemplo não for representativo, você poderá 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óximas etapas
Depois de concluir a exploração de arquivos e criar tabelas de destino, você pode continuar com a ingestão usando um dos seguintes métodos: