Hive 如何在配置单元中分解映射数据类型或如何在配置单元中提供多个别名

Hive 如何在配置单元中分解映射数据类型或如何在配置单元中提供多个别名,hive,hiveql,Hive,Hiveql,假设我问: select explode(map_column_name) as exploded from table_name 我得到这个错误: AS子句中的别名数与别名数不匹配 UDTF输出的列,应为2个别名,但得到1个别名 我在谷歌上搜索了错误,了解到要给出多个别名,我们使用堆栈函数。。 如何将stack函数与explode函数一起使用,以便最终分解映射数据类型并同时给出2个别名 请原谅我,因为我是一名初学者,正在学习蜂巢。默认列名称 select explode(map) from

假设我问:

select explode(map_column_name) as exploded from table_name 
我得到这个错误:

AS子句中的别名数与别名数不匹配 UDTF输出的列,应为2个别名,但得到1个别名

我在谷歌上搜索了错误,了解到要给出多个别名,我们使用堆栈函数。。 如何将stack函数与explode函数一起使用,以便最终分解映射数据类型并同时给出2个别名


请原谅我,因为我是一名初学者,正在学习蜂巢。

默认列名称

select explode(map) from table_name
select explode (map('A',1,'B',2,'C',3))
;
化名

select explode(map) as (mykey,myval) from table_name
select explode (map('A',1,'B',2,'C',3)) as (mykey,myvalue)
;
演示


使用默认列名称

select explode(map) from table_name
select explode (map('A',1,'B',2,'C',3))
;
化名

select explode(map) as (mykey,myval) from table_name
select explode (map('A',1,'B',2,'C',3)) as (mykey,myvalue)
;

使用默认列名称

select explode(map) from table_name
select explode (map('A',1,'B',2,'C',3))
;
化名

select explode(map) as (mykey,myval) from table_name
select explode (map('A',1,'B',2,'C',3)) as (mykey,myvalue)
;
演示


使用默认列名称

select explode(map) from table_name
select explode (map('A',1,'B',2,'C',3))
;
化名

select explode(map) as (mykey,myval) from table_name
select explode (map('A',1,'B',2,'C',3)) as (mykey,myvalue)
;

感谢都都的帮助。。但是你的第一个问题给了我一个错误。。我已经提到了错误。还有什么方法可以同时使用分解函数和堆栈函数。。如果没有,那为什么我们不能呢。当我们使用explode时,我们必须使用别名。在第一个查询中,没有别名。。因此,它无论如何都不会在没有别名的情况下执行,尽管这次的错误与我提到的不同,因为我现在也不使用计算机。因此,请不要介意我明天早上执行第一个查询时告诉您确切的错误。我使用的是Hive 0.10,当我使用explode with alias时,我得到的错误是->失败:SemanticException 1:7 UDTF的require AS子句。当我使用你的第一个查询时,我得到了相同的错误。。然而,您的第二个查询工作得非常好,我得到了期望的结果。。感谢DuduHive 0.10于4.5年前的2013年1月发布!感谢都都的帮助。。但是你的第一个问题给了我一个错误。。我已经提到了错误。还有什么方法可以同时使用分解函数和堆栈函数。。如果没有,那为什么我们不能呢。当我们使用explode时,我们必须使用别名。在第一个查询中,没有别名。。因此,它无论如何都不会在没有别名的情况下执行,尽管这次的错误与我提到的不同,因为我现在也不使用计算机。因此,请不要介意我明天早上执行第一个查询时告诉您确切的错误。我使用的是Hive 0.10,当我使用explode with alias时,我得到的错误是->失败:SemanticException 1:7 UDTF的require AS子句。当我使用你的第一个查询时,我得到了相同的错误。。然而,您的第二个查询工作得非常好,我得到了期望的结果。。感谢DuduHive 0.10于4.5年前的2013年1月发布!