gpt4 book ai didi

hadoop - 如何实现HiveQL错误处理

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

我在一个 hql 文件中有多个查询(比如 10 个,每个查询都以 ; 结尾),我从 shell 脚本运行这些查询。

当中间的查询失败时(比如查询 #5),5 之后的查询不会执行,并且 Hive 作业完成。

即使查询 5 失败,我如何进行错误处理以确保从 6 到 10 的查询运行?

最佳答案

演示

myscript.sql

select 1;
select assert_true(false);
select 2;

选项1

hive --hiveconf hive.cli.errors.ignore=true -f myscript.sql 

OK
1
Time taken: 3.742 seconds, Fetched: 1 row(s)
OK
Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed.
Time taken: 0.264 seconds
OK
2
Time taken: 0.284 seconds, Fetched: 1 row(s)

选项 2

hive<myscript.sql 

hive> select 1;
OK
1
Time taken: 3.181 seconds, Fetched: 1 row(s)
hive> select assert_true(false);
OK
Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed.
Time taken: 0.335 seconds
hive> select 2;
OK
2
Time taken: 0.225 seconds, Fetched: 1 row(s)

关于hadoop - 如何实现HiveQL错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44227777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com