- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 posexplode
将配置单元中的单个记录拆分为多个记录。除了作为输出的多条记录外,我还需要为每一行生成序列号。
col1
、col2
、col3
和 col4
被定义为字符串,因为我们很少同时获得 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
最佳答案
尝试
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/
我是一名优秀的程序员,十分优秀!