如何在 shell 脚本中触发 sqoop import 命令时检查 teradata 中是否存在数据库?

如何在 shell 脚本中触发 sqoop import 命令时检查 teradata 中是否存在数据库?

我正在尝试从 shell 脚本触发 sqoop import 命令。它按预期工作正常。

但是,如果假设 Teradata 中缺少数据库,那么它需要抛出错误,并且不应继续处理脚本中的进一步命令。

由于语法正确,sqoop import 命令返回“0”,并且假设 sqoop import 命令成功。

即使 Teradata 中缺少数据库,如何处理 shell 脚本中的此类错误?

答案1

这可以帮助您检查数据库是否存在和/或表,以及 bteq 是否以 1 退出而不继续加载。

bteq << eof 

select 1 from DBC.TablesV
where databasename = 'YOUR_DB';
--and TableName = 'YOUR_TABLE'; --Could add and table here.

.if activitycount = 0 then .quit 1
.quit 0

eof

相关内容