Hive 在后台执行配置单元查询
当查询如下所示时,如何在后台执行配置单元查询Hive 在后台执行配置单元查询,hive,Hive,当查询如下所示时,如何在后台执行配置单元查询 从表1中选择count(1),其中column1='value1'我可以用双引号替换单引号来解决此问题。现在修改后的语句看起来像 ./hive-e'从表1中选择COUNT(1),其中Column1=“Value1”;'True@Koushik!很高兴你发现了这个问题。 在查询中,由于单引号不明确,bash无法形成配置单元查询 hive -e 'SELECT COUNT(1) FROM Table1 WHERE Column1 = "'"Value1
从表1中选择count(1),其中column1='value1'代码>我可以用双引号替换单引号来解决此问题。现在修改后的语句看起来像
./hive-e'从表1中选择COUNT(1),其中Column1=“Value1”;'代码>True@Koushik!很高兴你发现了这个问题。
在查询中,由于单引号不明确,bash无法形成配置单元查询
hive -e 'SELECT COUNT(1) FROM Table1 WHERE Column1 = "'"Value1"'";'
虽然从表1中选择COUNT(1),其中Column1='Value1'
在配置单元中有效
$hive-e'从表1中选择COUNT(1),其中Column1='Value1';'代码>无效
最好的解决方案是对Value1使用双引号
hive -e 'SELECT COUNT(1) FROM Table1 WHERE Column1 = "Value1";'
或者通过在双引号中包含单引号,使用快速且脏的解决方案
hive -e 'SELECT COUNT(1) FROM Table1 WHERE Column1 = "'"Value1"'";'
这将确保配置单元查询的格式正确,然后相应地执行。我不会建议采用这种方法,除非您迫切需要一个报价;) 创建一个名为example的文档
vi example
在文档中输入查询并保存
create table sample as
Select count(1) from table1 where column1='value1';
现在使用以下命令运行文档:
hive -f example 1>example.error 2>example.output &
你会得到结果的
[1]
现在,否认这个过程:
否认
现在,进程将在后台运行。如果您想知道输出的状态,可以使用
tail -f example.output
我认为1>example.error是保存示例中编写的查询的输出。