Hive org.apache.avro.AvroRuntimeException:记录2中的重复字段状态:状态类型:UNION pos:4和状态类型:UNION pos:1

Hive org.apache.avro.AvroRuntimeException:记录2中的重复字段状态:状态类型:UNION pos:4和状态类型:UNION pos:1,hive,hdfs,avro,Hive,Hdfs,Avro,我第一次发布了一个问题。我试图通过连接两个现有表来创建一个表,其中一个列是结构的集合。我是在蜂箱上做的。我想以AVRO格式存储表 我用来创建表的查询是: create table emp_dtls_2_avro stored as AVRO as select 'a.pk_dept' , 'a.dept_id', 'a.dept_name', Collect_list(Named_struct ("emp_fname", b.emp_fnam

我第一次发布了一个问题。我试图通过连接两个现有表来创建一个表,其中一个列是结构的集合。我是在蜂箱上做的。我想以AVRO格式存储表

我用来创建表的查询是:

    create table emp_dtls_2_avro stored as AVRO as 
select
   'a.pk_dept' ,
   'a.dept_id',
   'a.dept_name',
   Collect_list(Named_struct ("emp_fname", b.emp_fname, "emp_lname", b.emp_lname, "emp_id", b.emp_id, "emp_ssn", b.emp_ssn, "emp_title", b.emp_title, "emp_accnt_dts", b.acc_loc_dts_arr, "emp_add_dtls", b.emp_add_arr)) as emp_dtls 
from
   dept a 
   inner join
      emp_dtls_1 b 
      on 'a.pk_dept' = 'b.fk_dept' 
group by
   'a.pk_dept',
   'a.dept_id',
   'a.dept_name';
我面临着一个我无法理解和解决的错误。如有任何帮助,将不胜感激:

FAILED: SemanticException org.apache.avro.AvroRuntimeException: Duplicate field state in record record_2: state type:UNION pos:4 and state type:UNION pos:1.

可能不相关,但最有可能的是:
在a.pk\u dept='b.fk\u dept'
应该是:
在a.pk\u dept=b.fk\u dept
(不应该有单引号)。在
选择
分组依据
子句中也是如此。您好,感谢您的回复。。。如果删除所有单引号,我将收到一个新错误-“SemanticException org.apache.avro.SchemaParseException:a.pk_dept中的非法字符”。单引号删除了此错误,但带来了上面的错误,现在我无法解决。我添加了我错过的单引号-在“a.pk_dept”=“b.fk_dept”上运行select查询并查看结果时,它显示了什么?你能把样品照片贴出来吗?试图了解
select
生成的列是否有重复项。此外,如果没有任何关键字,则不需要将列括起来。