刚接触到hive的时候想测试有些函数的功能,习惯性的用dual却报错,例如:
hive> select 1+1 from dual;
FAILED: SemanticException [Error 10001]: Line 1:16 Table not found 'dual'
但是我们可以自己构造一个类似于oracle的dual虚表。
1.首先创建一个lijie.txt,将X重定向到文件中
echo 'X' > lijie.txt
2.创建dual表在hive中
hive> create table lijie.dual (dummy string);
OK
Time taken: 0.341 seconds
3.将lijie.txt数据load到dual表中
hive> load data local inpath'/home/hadoop/lijie.txt' overwrite into table lijie.dual;
Loading data to table lijie.dual
Table lijie.dual stats: [numFiles=1, numRows=0, totalSize=2, rawDataSize=0]
OK
Time taken: 0.648 seconds
4.构建好dual虚表后测试
hive> select 1+1 from dual;
OK
2
Time taken: 0.156 seconds, Fetched: 1 row(s)
hive> select 'hello world' from dual;
OK
hello world
Time taken: 0.05 seconds, Fetched: 1 row(s
Hive中构建Dual表
本文介绍如何在Hive中创建一个类似Oracle Dual的虚拟表,用于进行简单的函数测试。通过具体的步骤说明如何创建和使用这个虚拟表。
2440

被折叠的 条评论
为什么被折叠?



