Hive是否有与DUAL相同的东西?

jbr*_*eed 18 hadoop hive amazon-emr

我想运行像这样的陈述

SELECT date_add('2008-12-31', 1) FROM DUAL

Hive(在Amazon EMR上运行)有类似的东西吗?

Har*_* Ck 22

最好的解决方案更不用说表名了.

select 1+1;
Run Code Online (Sandbox Code Playgroud)

给出结果2.但是可怜的Hive需要产生map reduce才能找到这个!

  • 旧帖但值得一提的是至少在0.13版本中支持这一点 (2认同)

inv*_*ell 6

要在配置单元中创建双列表,其中有一列和一行,您可以执行以下操作:

create table dual (x int);
insert into table dual select count(*)+1 as x from dual;
Run Code Online (Sandbox Code Playgroud)

测试表达式:

select split('3,2,1','\\,') as my_new_array from dual;
Run Code Online (Sandbox Code Playgroud)

输出:

["3","2","1"]
Run Code Online (Sandbox Code Playgroud)


ciu*_*can 5

链接中有一个很好的工作解决方案(好的,解决方法),但它可能很慢.

这个想法是你创建一个带有虚拟字段的表,创建一个内容只是'X'的文本文件,将该文本加载到该表中.中提琴.

CREATE TABLE dual (dummy STRING);

load data local inpath '/path/to/textfile/dual.txt' overwrite into table dual;

SELECT date_add('2008-12-31', 1) from dual;
Run Code Online (Sandbox Code Playgroud)