Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
se aplica a:✅ Warehouse en Microsoft Fabric
La función OPENROWSET permite leer el contenido de los archivos Parquet o CSV y devolver los datos como un conjunto de filas. Los archivos se pueden almacenar en Azure Blob Storage, Azure Data Lake Storage o Fabric OneLake.
Important
La lectura de archivos de Fabric OneLake Storage mediante la función OPENROWSET se encuentra actualmente en versión preliminar.
Puede usar esta característica para inspeccionar el contenido del archivo antes de cargarlos en la tabla de almacenamiento de datos. Con OPENROWSET, puede explorar fácilmente los archivos que ingiere en Fabric Warehouse, comprender las columnas que está ingeriendo y determinar sus tipos.
Para obtener más información y ejemplos sobre la consulta de datos externos, consulte Consulta archivos de un lago de datos externos utilizando Fabric Data Warehouse o el punto de acceso de SQL Analytics.
Una vez que comprenda los datos, puede crear las tablas que se usarán para almacenar el contenido del archivo ingerido.
Examinar archivos Parquet mediante la función OPENROWSET
En el primer ejemplo, inspeccionamos los datos de una fuente de datos en formato Parquet.
Use el código siguiente para leer datos de ejemplo de un archivo mediante la función OPENROWSET(BULK) con un origen 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
Dado que estos datos están disponibles públicamente y no requieren autenticación, puede copiar fácilmente esta consulta en el almacenamiento de Fabric y ejecutarla sin cambios.
No se necesitan detalles de autenticación.
No es necesario especificar la opción FORMAT, ya que la función OPENROWSET supone que está leyendo el formato Parquet en función de la extensión de archivo .parquet en el URI.
Examinar archivos CSV mediante la función OPENROWSET
En el segundo ejemplo, inspeccionamos los datos de un archivo CSV. Use el código siguiente para leer datos de ejemplo de un archivo CSV mediante la función 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
Dado que estos datos están disponibles públicamente y no requieren autenticación, puede copiar fácilmente esta consulta en el almacenamiento de Fabric y ejecutarla sin cambios. No se necesitan detalles de autenticación.
No es necesario especificar la FORMAT opción, ya que la OPENROWSET función supone que está leyendo el CSV formato en función de la extensión de .csv archivo en el URI.
Note
En los resultados, es posible que observe que la primera fila de este archivo contiene los nombres de columna en lugar de los datos. En este caso, deberá modificar la consulta mediante la opción HEADER_ROW para omitir la fila y usarla solo para los nombres de columna. Esto forma parte del proceso de exploración de datos, ya que ajusta gradualmente el archivo hasta que coincide con los datos subyacentes.
Examinar archivos JSONL mediante la función OPENROWSET
La OPENROWSET(BULK) función permite examinar los archivos JSON en formato delimitado por líneas:
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.jsonl') AS data
Si el archivo contiene texto delimitado por líneas donde cada línea representa un documento JSON válido, la OPENROWSET función se puede usar para leerlo directamente.
No es necesario especificar la FORMAT opción explícitamente. El OPENROWSET inferirá automáticamente el formato JSONL en función de extensiones de archivo comunes como .jsonl, .ldjson, o .ndjson en el URI. Sin embargo, si usa una extensión de archivo diferente para este formato, debe especificar FORMAT = 'jsonl' para garantizar el análisis correcto.
Leer archivos en Fabric OneLake
La OPENROWSET(BULK) función le permite leer los archivos almacenados en Fabric OneLake. Si tu archivo está almacenado en la sección Archivos de un lakehouse, puedes leer este archivo con la sintaxis siguiente:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://onelake.dfs.fabric.microsoft.com/<workspaceId>/<lakehouseId>/Files/latest/bing_covid-19_data.jsonl') AS data
Reemplaza <workspaceId> y <lakehouseId> por los GUID del área de trabajo y lakehouse que puedes encontrar en el URI del área de trabajo de Fabric. Asegúrese de que está haciendo referencia a los archivos en la sección /Files de un lakehouse.
Leer archivos de texto personalizados
La OPENROWSET(BULK) función permite definir varias opciones para leer archivos de texto personalizados.
Por ejemplo, puede especificar valores para ROWTERMINATOR y FIELDTERMINATOR para indicar el formato de archivo subyacente.
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,
ROWTERMINATOR='\n',
FIELDTERMINATOR=','
) AS data
En este ejemplo, especificamos explícitamente que estamos leyendo un archivo en formato CSV donde cada fila está separada por una nueva línea y cada campo está separado por una coma. La primera fila contiene el encabezado , que se usará para los nombres de columna.
Exploración de metadatos de columna
Con la función OPENROWSET, puede ver fácilmente las columnas de archivo y sus tipos combinando la consulta que lee datos de ejemplo con el procedimiento 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';
En este ejemplo, el sp_describe_first_result_set procedimiento ejecuta la consulta con la OPENROWSET función , que no devuelve ninguna fila.
A continuación, toma el esquema de columna de esta consulta interna y devuelve el esquema de columna como resultado del procedimiento.
Puede usar este esquema de columna para definir la estructura de la tabla de destino en la CREATE TABLE instrucción donde ingiere los datos.
Como alternativa, puede usar estos resultados para especificar tipos más precisos para los resultados de la OPENROWSET función, como se muestra en el ejemplo siguiente.
Especificar el esquema de la función OPENROWSET
La función OPENROWSET(BULK) devuelve tipos de columna estimados en función de una muestra de los datos.
Si la muestra no es representativa, es posible que obtenga tipos inesperados o sus tamaños.
Si conoce los tipos de columna de los archivos, puede definir explícitamente el esquema de las columnas mediante la 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;
En lugar de adivinar los tipos de columna, la función OPENROWSET(BULK) asignará explícitamente los tipos proporcionados en la cláusula WITH.
De este modo, puede definir tipos más precisos, lo que puede mejorar el rendimiento de las consultas.
Pasos siguientes
Después de completar la exploración de archivos y la creación de tablas de destino, puede continuar con la ingesta mediante uno de los métodos siguientes: