#apache-spark #pyspark #hive #hiveql
#apache-spark #pyspark #улей #hiveql
Вопрос:
У меня есть таблица spark parquet на диске со следующей схемой :
id1 : STRING
weight: array (nullable = true)
|-- element: struct (containsNull = true)
Используя HIVE SQL, я хочу вставить это в таблицу улья.
Однако при подключении в качестве внешней таблицы происходит сбой.
CREATE EXTERNAL TABLE IF NOT EXISTS nn.mytable1 (
id1 STRING,
weight ARRAY <STRING>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY 't'
STORED AS PARQUET
location "/user/xxxx/myfile/";
Связано ли это с преобразованием массива struct в массив STRING ?
Комментарии:
1. Не могли бы вы также поделиться примерами данных.
2. СОЗДАЙТЕ ВНЕШНЮЮ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ nn.mytable1 (СТРОКА id1, МАССИВ весов <СТРОКА> ), СОХРАНЕННУЮ КАК расположение ПАРКЕТА «/user/xxxx/myfile/»;
3. Я имею в виду удалить «ФОРМАТ СТРОКИ С РАЗДЕЛИТЕЛЯМИ, ПОЛЯ ЗАКАНЧИВАЮТСЯ НА ‘ t’ «, поскольку вы сохраняете таблицу spark parquet как таблицу hive parquet.
4. Как литейный массив Struct -> Массив СТРОК выполняется в УЛЬЕ? это автоматически и сглаживается?