Подключение Azure-Data-Explorer к Azure-Data-Lake-Gen2

Я пытаюсь использовать Azure-Data-Explorer для создания временных рядов данных IoT, которые хранятся в Azure-Data-Lake-Gen2. Структура папок в Azure-Data-Lake — «архив/гггг/мм/дд/чч/*.json».

Идея такова:

  1. Создайте внешнюю таблицу и сопоставление json (https://docs.microsoft.com/en-us/azure/data-explorer/data-lake-query-data)
  2. Сделать временной ряд (https://docs.microsoft.com/en-us/azure/data-explorer/time-series-analysis)
  3. Используйте аналитику, чтобы получить интересные идеи ;-)

Я попытался сделать первый шаг (в запросе Azure-Data-Explorer):

.create external table ExternalAdlGen2 (timestamp:datetime, timestamp2:datetime, deviceId:string, telemetry:dynamic)
kind=adl
partition format_datetime = "'year='yyyy/'month='MM/'day='dd/'hour='HH" by bin(timestamp, 1h)
dataformat=json
( 
   @h'abfss://filesystem@<storage acount name>.dfs.core.windows.net/archive/path;sharedkey=<access key>'
)

а также:

.create external table ExternalAdlGen2 (timestamp:datetime, timestamp2:datetime, deviceId:string, telemetry:dynamic)
kind=adl
partition format_datetime = "'year='yyyy/'month='MM/'day='dd/'hour='HH" by bin(timestamp, 1h)
dataformat=json
( 
   @h'abfss://filesystem@<storage acount name>.dfs.core.windows.net/archive/path;sharedkey=<access key>'
)
with 
(
   docstring = "Docs",
   folder = "ExternalTables",
   namePrefix = "Prefix"
) 

Результатом является следующее сообщение об ошибке: "Ошибка. Я не смог проанализировать это, извините. clientRequestId: KustoWebV2; some_guid"

Есть ли у вас какие-либо предложения, как это сделать правильно?

Заранее спасибо.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
2
0
478
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

в документации была ошибка, которая будет исправлена ​​в ближайшее время.

в спецификации URL - замените @h'abfss://... на h@'abfss://...

Привет Йони, спасибо за ваш ответ. В документации нет двоеточия перед abfss. Просто для моего понимания: двоеточие нужно или нет? Пробовал уже без двоеточия... Заранее спасибо.

Christian Pfisterer 25.07.2019 12:35

Правильно - двоеточие было опечаткой (исправлено в моем ответе) и не требуется. Если это все еще не работает для вас, поделитесь обновленной командой, которую вы пытались запустить.

Yoni L. 25.07.2019 16:06

Пробовал с самого начала без двоеточия. Я также попробовал это с демонстрационными утверждениями из сообщения в блоге связь. До сих пор не работает. Вот пример кода из упомянутого поста:

Christian Pfisterer 25.07.2019 16:26
.create external table ExternalAdlGen2 (Timestamp:datetime, x:long, s:string) kind=adl partition by bin(Timestamp, 1d) dataformat=csv ( @h'abfss://[email protected]/pa‌​th;secretKey' ) with ( docstring = "Docs", folder = "ExternalTables", namePrefix = "Prefix" )
Christian Pfisterer 25.07.2019 16:27

в вашем примере все еще используется @h' вместо h@' - в моем первоначальном ответе я предложил вам использовать последний

Yoni L. 25.07.2019 16:56

Спасибо @Yoni. Я был так сосредоточен на двоеточии, что не узнал положение @. Теперь это работает. Большое спасибо!

Christian Pfisterer 26.07.2019 16:03

Теперь я столкнулся со следующей проблемой: я не могу создать сопоставление json, как описано в документации. Èrror Syntax error: Query could not be parsed Я использую следующее сопоставление: .create external table ExternalTableJson json mapping "mappingName" '[{"column":"rownumber","datatype":"int","path":"$.rownumber‌​"},{"column":"rowgui‌​d","path":"$.rowguid‌​"}]'

Christian Pfisterer 26.07.2019 16:20
на момент написания этого комментария, документ немного опередил свое время, и ваш кластер все еще не работает с версией, поддерживающей эту команду. ожидается, что он будет доступен в течение недели или 2
Yoni L. 26.07.2019 16:41

Другие вопросы по теме