Файл Parquet, написанный с помощью Azure Time Series Insights Preview, не читается

У нас есть экземпляр предварительной версии Azure Time Series Insights, подключенный к концентратору событий. Входящие события записываются в соответствующую учетную запись данных холодного хранилища в виде паркетных файлов. Когда я пытаюсь открыть файл parquet с помощью различных программ чтения (таких как инструменты parquet- [head | cat | etc] cmd), я получаю ошибки.

Вывод parquet-head

org.apache.parquet.io.ParquetDecodingException: не удается прочитать значение 0 в блоке -1 в файле file: 20200123140854700_c8876d10_01.parquet

Вот образец вопроса более подробно. Это результат parquet-dump

$ parquet-dump 20200123140854700_c8876d10_01.parquet
группа строк 0 ------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - отметка времени: INT64 SNAPPY DO: 0 FPO: 4 SZ: 100/850 / 8,50 VC: 100 ENC: PLAIN, RLE ST: [min: 2020-01-23T14: 08: 52.583 + 0000, max: 2020-01-23T14 : 08: 52.583 + 0000, num_nulls: 0] id_string: BINARY SNAPPY DO: 167 FPO: 194 SZ: 80/76 / 0.95 VC: 100 ENC: PLAIN_DICTIONARY, PLAIN, RLE ST: [min: dabas96, max: dabas96, num_nulls : 0] dabasuploader_time_string: BINARY SNAPPY DO: 313 FPO: 855 SZ: 705/2177 / 3.09 VC: 100 ENC: PLAIN_DICTIONARY, PLAIN, RLE ST: [num_nulls: 0, min / max не определено] dabasuploader_prod_k DOwh_string: 11 FPO: 1139 SZ: 62/58 / 0,94 VC: 100 ENC: PLAIN_DICTIONARY, PLAIN, RLE ST: [min: 0, max: 0, num_nulls: 0] dabasuploader_pred_nxd_kwh_string: BINARY SNAPPY DO: 1252 FPO: 1488 SZ: 319/390 / 1.22 VC: 100 ENC: PLAIN_DICTIONARY, PLAIN_DICTIONARY, PLAIN, RLE ST: [num_nulls: 0, min / max SNAPPY DO: FPO_TOWNLOAD_INDO: 1903_APO_INDO: 1903_APO_Pred: SZ: 336/404 / 1.20 VC: 100 ENC: PLAIN_DICTIONARY, PLAIN, RLE ST: [num_nulls: 0, min / max не определено] java.lang.IllegalArgumentException: [solpos_altitude_double] необязательный двойной solpos_altitude_double отсутствует в магазине: [[ dabasuploader_time_string] необязательно бинарной dabasuploader_time_string (СТРОКА), [dabasuploader_pred_nxd_kwh_string] необязательно бинарной dabasuploader_pred_nxd_kwh_string (СТРОКА), [id_string] необязательно бинарной id_string (СТРОКА), [временная метка] опционально int64 метка времени (ТШЕЗТАМР (Миллис, правда)), [dabasuploader_pred_today_kwh_string] необязательно бинарной dabasuploader_pred_today_kwh_string (STRING), [dabasuploader_prod_kwh_string] необязательный двоичный dabasuploader_prod_kwh_string (STRING)] 100

solpos_altitude_double поступает из событий, которые мы загружаем в концентратор событий. Я имею в виду, мы называем это solpos_altitude. Согласно документации, постфикс _double исходит от TSI.

Согласно всей документации MS Azure, которую я смог найти, чтение файла паркета должно быть возможным без проблем.

Кто-нибудь знает, что пошло не так? Если потребуется дополнительная информация, я буду более чем счастлив предоставить ее.


person tamassoltesz    schedule 24.01.2020    source источник
comment
Тот же вопрос задается в MSDN и связывает два: social.msdn.microsoft.com/Forums/en-US/   -  person Mike Ubezzi MSFT    schedule 28.01.2020


Ответы (1)


Я считаю, что это известная проблема, вызванная изменением схемы данных (дрейфующей схемы). В настоящее время мы работаем над ее исправлением.

person Shreya Sharma    schedule 24.02.2020