#databricks #serverless #azure-synapse #delta-lake #azure-data-studio
#базы данных #без сервера #лазурный-синапс #дельта-озеро #azure-data-студия
Вопрос:
Когда я запрашиваю свою дельта-таблицу из synpase studio, я вижу, что все данные в порядке.
Но когда я подключаюсь через data studio через логин sql (или ссылки на данные), кажется, что я не могу запросить его :
CREATE or alter view stock as SELECT * FROM OPENROWSET( BULK 'https://tesdvsrc18732.dfs.core.windows.net/adlse-fr/be_stock/', FORMAT = 'DELTA' ) AS [result]
Начал выполнение запроса в Строке 1 Msg 15151, Уровень 16, Состояние 1, Строка 1 Не удается найти УЧЕТНЫЕ ДАННЫЕ ‘https://tesdvsrc18732.dfs.core.windows.net/adlse-fr/be_stock/’, потому что его не существует или у вас нет разрешения. Общее время выполнения: 00:00:00.025
Я также не могу видеть представление в пользовательском интерфейсе :
Однако я вижу это при подключении через Azure Active Directory.
Любые предложения, замечания или экспертные знания будут высоко оценены. Я получаю такое же сообщение об ошибке от azure databricks
Ответ №1:
Я нашел способ делать то, что хотел. Поэтому я размещаю это здесь.
На синапсе
CREATE MASTER KEY CREATE DATABASE SCOPED CREDENTIAL [SasToken_MyStorage] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '?sv=2020-08-04amp;ss=bfq****************************************************************************************************************************************************PA='; GO CREATE EXTERNAL DATA SOURCE [MyDataSource] WITH ( LOCATION = 'https://tesdvsrc18732.dfs.core.windows.net', CREDENTIAL = [SasToken_MyStorage] )
Я думаю, что это тоже необходимо, но не уверен :
GRANT CONTROL ON DATABASE SCOPED CREDENTIAL :: [SasToken_MyStorage] TO userDatabricks
На базах данных/data studio
query = """ CREATE or alter view dbo.stock as SELECT * FROM OPENROWSET( BULK '/adlse-fr/be_stock/', FORMAT = 'DELTA', DATA_SOURCE = 'MyDataSource' ) AS [result] """ stmt = sql_con.createStatement() stmt.executeUpdate(query) stmt.close()
Комментарии:
1. Рад узнать, что ваша проблема решена. Через 48 часов вы можете принять его в качестве ответа( нажмите на галочку рядом с ответом, чтобы переключить его с серого на заполненный). Это может быть полезно для других членов сообщества. Спасибо.