Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применимо к: хранилище✅ в Microsoft Fabric
Функция OPENROWSET позволяет считывать содержимое файлов Parquet или CSV и возвращать данные в виде набора строк. Файлы можно хранить в хранилище BLOB-объектов Azure, Azure Data Lake Storage или Fabric OneLake.
Important
Чтение файлов из хранилища Fabric OneLake с помощью функции OPENROWSET в настоящее время находится в предварительной версии.
Эту функцию можно использовать для проверки содержимого файла перед загрузкой их в таблицу хранилища данных. С помощью OPENROWSET вы можете легко изучить файлы, которые загружаете в ваше хранилище Fabric, понять столбцы, которые вы загружаете, и определить их типы.
Когда вы поймете свои данные, вы сможете создать таблицы, которые будут использоваться для хранения содержимого загруженных файлов.
Просмотр файлов Parquet с помощью функции OPENROWSET
В первом примере мы анализируем данные из источника Parquet.
Используйте следующий код для чтения выборочных данных из файла с помощью функции OPENROWSET(BULK) с источником 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
Так как эти данные общедоступны и не требуют проверки подлинности, вы можете легко скопировать этот запрос в хранилище Fabric и выполнить его без каких-либо изменений.
Никаких сведений о проверке подлинности не требуется.
Вам не нужно указывать параметр FORMAT
, так как функция OPENROWSET
предполагает, что вы читаете формат Parquet на основе расширения файла .parquet
в URI.
Просмотр CSV-файлов с помощью функции OPENROWSET
Во втором примере мы проверяем данные из CSV-файла. Используйте следующий код для чтения примеров данных из CSV-файла с помощью функции 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
Так как эти данные общедоступны и не требуют проверки подлинности, вы можете легко скопировать этот запрос в хранилище Fabric и выполнить его без каких-либо изменений. Никаких сведений о проверке подлинности не требуется.
Вам не нужно указывать FORMAT
параметр, так как функция OPENROWSET
считает, что вы читаете CSV
формат на основе .csv
расширения файла в URI.
Note
В результатах можно заметить, что первая строка в этом файле содержит имена столбцов вместо данных. В этом случае необходимо изменить запрос, используя параметр HEADER_ROW, чтобы пропустить строку и использовать её только для имен столбцов. Это часть процесса изучения данных, так как файл постепенно настраивается до тех пор, пока он не соответствует базовым данным.
Просмотр JSONL-файлов с помощью функции OPENROWSET
Функция OPENROWSET(BULK)
позволяет просматривать JSON-файлы в формате с разделителями строк:
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
Если файл содержит текст с разделителями строк, где каждая строка представляет допустимый документ JSON, OPENROWSET
функция может использоваться для непосредственного чтения.
Не нужно явно указывать FORMAT
параметр. Автоматически OPENROWSET
выводит формат JSONL на основе распространенных расширений файлов, таких как .jsonl
, .ldjson
или .ndjson
в URI. Однако если для этого формата используется другое расширение файла, необходимо указать FORMAT = 'jsonl'
, чтобы обеспечить правильный анализ.
Note
JSONL
Формат в настоящее время находится в предварительной версии.
Чтение файлов в Fabric OneLake
Функция OPENROWSET(BULK)
позволяет считывать файлы, хранящиеся в Fabric OneLake. Если ваш файл хранится в разделе "Файлы" хранилища озера данных, вы можете прочитать этот файл, используя следующий синтаксис:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://onelake.dfs.fabric.microsoft.com/<workspaceId>/<lakehouseId>/Files/latest/bing_covid-19_data.jsonl') AS data
Замените <workspaceId>
и <lakehouseId>
на GUIDы рабочей области и lakehouse, которые можно найти в URI Fabric. Убедитесь, что вы ссылаетесь на файлы в /Files
разделе озера.
Important
Чтение файлов из хранилища Fabric OneLake с помощью функции OPENROWSET в настоящее время находится в предварительной версии. Ознакомьтесь с ограничениями , применимыми как к COPY INTO
, так и OPENROWSET(BULK)
.
Чтение пользовательских текстовых файлов
Функция OPENROWSET(BULK)
позволяет определить различные параметры чтения пользовательских текстовых файлов.
Например, можно указать значения для ROWTERMINATOR
и FIELDTERMINATOR
, чтобы указать базовый формат файла.
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
В этом примере мы явно указываем, что мы считываем файл в формате CSV, где каждая строка разделена новой строкой, и каждое поле отделяется запятой. Первая строка содержит заголовок, который будет использоваться для имен столбцов.
Изучение метаданных столбца
С помощью функции OPENROWSET
можно легко просматривать столбцы файлов и их типы, сочетая запрос, который считывает образцы данных, с процедурой 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';
В этом примере sp_describe_first_result_set
процедура выполняет запрос с OPENROWSET
функцией, которая не возвращает ни одну строку.
Затем он принимает схему столбцов из этого внутреннего запроса и возвращает схему столбца в результате процедуры.
Эту схему столбца можно использовать для определения структуры целевой таблицы в операторе CREATE TABLE
, в который загружаются данные.
В качестве альтернативы эти результаты можно использовать для указания более точных типов результатов OPENROWSET
функции, как показано в следующем примере.
Определите схему функции OPENROWSET
Функция OPENROWSET(BULK)
возвращает предполагаемые типы столбцов на основе образца данных.
Если пример не является репрезентативным, вы можете получить непредвиденные типы или их размеры.
Если вы знаете типы столбцов в файлах, можно явно определить схему столбцов с помощью предложения 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;
Вместо того чтобы угадать типы столбцов, функция OPENROWSET(BULK)
явно назначает типы, указанные в предложении WITH
.
Таким образом можно определить более точные типы, которые могут повысить производительность запросов.
Next steps
Завершив изучение файлов и создание целевых таблиц, можно перейти к загрузке данных, выбрав один из следующих методов: