Внешняя таблица в ADX для данных ADLS: нет записей - PullRequest
0 голосов
/ 15 апреля 2020

Данные журнала хранятся в хранилище ADLS gen 2. Я пытаюсь запросить его в ADX, поэтому я создал внешнюю таблицу в ADX, но записи не заполняются здесь. Я не получаю записей во внешней таблице ADX.

Создана внешняя таблица:

.create external table extable1 (AppId:string) 
kind=blob
dataformat=json
( 
   h@'https://clickstreamstorelake2.blob.core.windows.net/streamout/0_56da70eca49745f8b830da45ff6aba57_1.json;secret_key_here'
)
with 
(
   docstring = "Docs",
   folder = "ExternalTables",
   namePrefix="Prefix"
)

Json Отображение

.create external table extable1 json mapping "map1" '[{ "column" : "AppId", "datatype" : "string", "path" : "$.AppId"}]'

Файл ADLS gen 2 Json File in ADLS gen 2

1 Ответ

0 голосов
/ 21 апреля 2020

Неправильный параметр "nameprefix" был передан, что привело к отсутствию записей.

namePrefix: string Если установлено, указывает префикс больших двоичных объектов. При операциях записи все BLOB-объекты будут записываться с этим префиксом. При операциях чтения читаются только двоичные объекты с этим префиксом.

Это должно соответствовать блобам, присутствующим в ADLS.

Приведенный ниже код хорошо работает, если в префиксе имени не задано Контейнер ADLS.

.create external table extable1 (AppId:string) 
kind=blob
dataformat=json
( 
   h@'https://clickstreamstorelake2.blob.core.windows.net/streamout/0_56da70eca49745f8b830da45ff6aba57_1.json;secret_key_here'
)
with 
(
   folder = "ExternalTables"
)
...