Сбой таблицы HdInsight Azure DW для таблицы Polybase to Hive (ORC) с разделом даты
Я пытаюсь создать внешнюю таблицу polybase в хранилище данных Azure для таблицы Hive, которая хранится как ORC (озеро данных HD insight) и разбивается по дате, когда я запрашиваю внешнюю таблицу на предмет ее сбоя на сервере SQL без какого-либо надлежащего сообщения об ошибке.
Когда я не использую раздел, я могу получить доступ к таблице ORC улья, используя внешнюю таблицу, но с разделом я получаю ошибку ниже без какого-либо надлежащего сообщения об ошибке.
Ошибка:
Msg 106000, Уровень 16, Состояние 1, Строка 33 Указатель: 23, Размер: 23
Деталь:
Таблица улья:
CREATE EXTERNAL TABLE DL_ClickStream_fnl (
,
.) PARTITIONED BY(TIME_STAMP Date) хранится в виде ORC;
Внешняя таблица Azure DW:
CREATE EXTERNAL TABLE [stg]. [Dl_clickstream_procd] (
,
,
) WITH (DATA_SOURCE = [AzureDataLakeStore_clusters],LOCATION = N'clusters/BLMSpark/hive/warehouse/coremetrics.db/dl_clickstream_procd',FILE_FORMAT = [ORCFileFormat_DL],REJECT_TYPE = VALUE,REJECT)
Формат файла:
СОЗДАТЬ ФОРМАТ ВНЕШНЕГО ФАЙЛА [ORCFileFormat_DL] WITH (FORMAT_TYPE = ORC)
1 ответ
В Hive многораздельный столбец - это виртуальный столбец, полученный из метаданных каталога. PolyBase читает файлы напрямую, не может заполнить разделенный столбец. В вашей внешней таблице SQL DW DDL удалите секционированный по столбцу, и ваша загрузка должна работать.