Я пытаюсь создать внешнюю таблицу в Azure DataWarehouse из таблицы в Azure Databricks. Мне не удается преобразовать несколько типов столбцов, таких как дата и dcimal.
Пример структуры моей таблицы в блоках данных:
Схема таблицы в хранилище данных Azure:
CREATE EXTERNAL TABLE table.NAME (
aBooleanFlag BIT NULL
,bIntID int NULL
,cStringColumn VARCHAR(50)
,dDateColumns DATETIME null
,eMoneyAmount DECIMAL(13,3) null
)
WITH(DATA_SOURCE=[DS_DTS_LAKE], LOCATION=N'//Folder/Table/', FILE_FORMAT=[ParquetFileFormat], REJECT_TYPE=VALUE, REJECT_VALUE=0) ;
GO
Что я пытался сделать так:
- Я расположил столбец в алфавитном порядке, как я заметил, иногда внешняя таблица неправильно отображает столбцы
- Я преобразовал все столбцы в строку и таблицу был создан успешно
- Я попытался привести к разным типам столбцов, таким как DoubleType () или float, но безуспешно Вместо этого я получаю сообщение об ошибке ниже:
Сообщение об ошибке:
Msg 106000, уровень 16, состояние 1, строка 38
HdfsBridge :: recordReaderFillBuffer - обнаружена непредвиденная ошибка при заполнении буфера считывателя записей: ClassCastException:
- Я подумываю снова создать внешнюю таблицу со всеми столбцами в виде строки, а затем создать представление поверх нее с правильным преобразованием.
Посоветуйте, пожалуйста, как правильно выбрать тип данных карты или вариант просмотра.