#ssms #azure-blob-storage #databricks #azure-synapse #delta-lake
Вопрос:
Я хотел бы знать, есть ли какой-либо способ запросить формат Дельта таблицы из контейнера больших двоичных объектов, который был создан с помощью ссылок данных с SSMS или Azure Data Studio, которая является SSMS, подключенной к Azure Synapse, я попытался выполнить запрос с помощью этого запроса
SELECT TOP(10) * FROM OPENROWSET(BULK 'https://blob_container_storage.blob.core.windows.net/delta-lake/test/', FORMAT = 'DELTA') as rows
Из приведенного выше запроса я получил такую ошибку
Msg 103010, Level 16, State 1, Line 188
Parse error at line: 1, column: 22: Incorrect syntax near 'OPENROWSET'.
Итак, я хочу спросить, можно ли запросить delta lake из synapse с помощью SSMS или Azure Data Studio ?
Ответ №1:
Да, это возможно. Ознакомьтесь с этой статьей для получения подробной информации: Запрос файлов Delta Lake (предварительный просмотр) с использованием бессерверного пула SQL в Azure Synapse Analytics
Пожалуйста, убедитесь, что вы подключаетесь к встроенному бессерверному пулу, так как это еще не поддерживается в выделенных пулах.
Комментарии:
1. Тогда что не так с моим запросом ? почему я получил такую ошибку ? Потому что, если он ссылается на вашу ссылку, он использовал запрос в Synapse Analytics
2. Пожалуйста, убедитесь, что вы подключаетесь к встроенному пулу без сервера, так как это еще не поддерживается в выделенных пулах. Смотрите вторую ссылку, объясняющую, где получить строку подключения…
3. То есть, по сути, выделенный пул не может запрашивать какие-либо внешние ресурсы ? или только формат Дельта, к которому нельзя получить доступ ?
4. Здесь есть две вещи… Выделенный пул не поддерживает запросы к файлам напрямую, используя оператор OPENROWSET, отсюда синтаксическая ошибка. Он также не поддерживает дельта-формат. Он поддерживает запросы к внешним ресурсам с помощью внешних таблиц. Смотрите подробности здесь: docs.microsoft.com/en-us/sql/t-sql/statements/…