我对大数据技术有了新的认识。我用列数据类型数组创建了一个表。
CREATE TABLE movies (
movie_id int,
title string,
genres ARRAY<STRING>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ':'
COLLECTION ITEMS TERMINATED BY '|'
MAP KEYS TERMINATED BY '#'
LINES TERMINATED BY '\n';
并将一些数据加载到表中。现在我运行一个select查询,然后它在impala中显示下面的错误。
SELECT COUNT(*) AS total_movies FROM movies;
ERROR: NotImplementedException: Scan of table 'assignment_hive_impala.movies' in format 'TEXT' is not supported because the table has a column 'genres' with a complex type 'ARRAY<STRING>'.
Complex types are supported for these file formats: PARQUET.
我不知道它为什么显示这个错误。有人能解释一下错误并帮我解决吗?
谢谢您
1条答案
按热度按时间ifsvaxew1#
看起来您正在从文本文件加载(或源文件/数据)数据。如错误中所述,您不能使用复杂类型的文本文件。
如果确实需要使用复杂类型进行测试,请将源数据转换为parquet并加载数据
您可以按照此链接将文件(这里是csv)转换为parquet。