Hive 是否可以使用impala查询包含日期类型列的配置单元表?
每次我试图在IMPALA中从配置单元中创建的表中选择日期类型字段时,我都会得到AnalysisException:不支持的类型“DATE” 有什么解决办法吗 更新这是一个从配置单元和impala查询创建表架构的示例 模式: 创建表myschema.mytable(Hive 是否可以使用impala查询包含日期类型列的配置单元表?,hive,impala,Hive,Impala,每次我试图在IMPALA中从配置单元中创建的表中选择日期类型字段时,我都会得到AnalysisException:不支持的类型“DATE” 有什么解决办法吗 更新这是一个从配置单元和impala查询创建表架构的示例 模式: 创建表myschema.mytable(day\u dtdate, 事件字符串) 分区依据(day\u idint) 以输入格式存储 'org.apache.hadoop.mapred.TextInputFormat' 输出格式 'org.apache.hadoop.hive
day\u dt
date,
事件
字符串)
分区依据(day\u id
int)
以输入格式存储
'org.apache.hadoop.mapred.TextInputFormat'
输出格式
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
黑斑羚查询
选择b.day\u dt
来自myschema.mytable b Impala没有
DATE
数据类型,而Hive有。当您从Impala访问时,您将获得AnalysisException:Unsupported类型“DATE”
。快速修复方法是在配置单元中创建一个字符串列,该列包含日期值,并从Impala以任何方式访问该列。如果您以字符串形式存储,则可以创建一个新的外部配置单元表,该表指向与现有表相同的HDFS位置,但是,对于模式,day_dt的数据类型为STRING,而不是DATE
这是一个真正的解决方法,它可能只适合某些用例,并且每当添加新分区时,您至少需要在外部配置单元表上执行“MSCK修复”。考虑使用时间戳
数据类型以提高互操作性我试图查询的配置单元表已经创建,无法更改。在impala中使用当前模式有什么解决方案吗?