我正在尝试填充复杂的数据结构 - 在Impala表中的数组数据类型,目前我正在使用CDH 5.5,真的不确定如何用一些数据填充列。例如:
create table arrstructex(
name string,
array<
struct<
id:string,
passcode:string,
isprevileged:boolean
>
>
)
答案 0 :(得分:1)
我将你的问题格式化了一点,以便我可以阅读它。我认为存在语法错误:数组需要有一个名称。 SQL解析器也可能在字符之前需要一个空格。
我建议您养成使用大写SQL关键字和缩进的习惯。所以遵循example here
CREATE TABLE array_struct_example
(
name STRING
, credentials ARRAY < STRUCT <
id: STRING
, passcode: STRING
, is_privileged: BOOLEAN
>>
)
我添加了名称credentials
并更正了拼写错误。
答案 1 :(得分:0)
INSERT语句当前不支持写入包含复杂类型(ARRAY,STRUCT和MAP)的数据文件。要为此类表准备Parquet数据,请在Impala外部生成数据文件,然后使用LOAD DATA或CREATE EXTERNAL TABLE将这些数据文件与表关联。当前,此类表必须使用Parquet文件格式。
请参阅文档以了解插入语句:cloudera_5.15_insert