gpt4 book ai didi

bash - 如何在配置单元中使用 Posexplode 函数

转载 作者:可可西里 更新时间:2023-11-01 14:58:42 24 4
gpt4 key购买 nike

我正在使用 posexplode 将配置单元中的单个记录拆分为多个记录。除了作为输出的多条记录外,我还需要为每一行生成序列号。

col1col2col3col4 被定义为字符串,因为我们很少同时获得 alpha 数据.

col1 | col2| col3 | col4 
---------------------------
7 | 9 | A | 3
5 | 6 | 9

Seq | Col
----------
1 | 7
2 | 9
3 | A
4 | 3
1 | 5
2 | 6
3 | 9

我正在使用下面提到的查询,但出现错误

-bash: syntax error near unexpected token (

我的查询是:

SELECT  
seq, col
FROM
(SELECT array( col1, col2 , col3,col4) as arr_r FROM srctable ) arrayrec
LATERAL VIEW posexplode(arrayrec) EXPLODED_rec as seq, col

如何解决

我能够成功运行此查询:

SELECT  col  FROM 
(SELECT array( col1, col2 , col3,col4)
as arr_r FROM srctable ) arrayrec
LATERAL VIEW explode(arrayrec) EXPLODED_rec as col

产生以下输出

  Col
-----
7
9
A
3
5
6
9

我已经检查了链接:How to get first n elements in an array in Hive

最佳答案

尝试

SELECT  Seq, col  FROM 
(SELECT array( col1, col2 , col3,col4)
as arr_r FROM srctable ) arrayrec
LATERAL VIEW posexplode(arrayrec.arr_r) EXPLODED_rec as Seq, col;

同时检查您的配置单元版本。 posexplode() 从 Hive 0.13.0 开始可用。

关于bash - 如何在配置单元中使用 Posexplode 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26405104/

24 4 0
文章推荐: hadoop - 如何在没有 hdp 的情况下为我自己的 hadoop 集群集成 Ambari
文章推荐: html - 如何将 libtidy 与 tidyParseBuffer() 一起使用?
文章推荐: c++ - std::bind 类成员函数
文章推荐: html - 当使用 父元素以百分比定义宽度和高度时,图像不会呈现