如何在配置单元sql脚本中获得更多的可组合性/可重用性?

5lwkijsr  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(324)

我正在开发几个基于hive的etl,严重违反了dry(不要重复)原则。
如何在配置单元sql脚本中获得更多的可组合性/可重用性?
基本上我在找一个 INCLUDE 或者 IMPORT 命令。
有什么建议吗?对于那些编写大量hiveql脚本的人来说,如何不重复自己的工作呢?
提前谢谢。

t9eec4r0

t9eec4r01#

您只需要将可重用的配置单元脚本转换为小型脚本 .HQL 文件夹。为命令执行创建shell脚本 .HQL 文件夹。
您只需确保当前正在执行的脚本已完成其前提条件。i、 e.它应该具有预期的表/模式。
有两件事可以帮助你。
1) 那个 hive -f d.hql command:在shell脚本中使用一系列此命令来有序执行脚本。例如

hive -f specific.hql
wait $! 
hive -f reusable1.hql
wait $! 
hive -f specific2.hql
wait $! 
hive -f specific3.hql
wait $! 
hive -f reusable2.hql

你可能会注意到 wait 命令,基本上是告诉shell等待最后一个命令完成。当最后一个脚本的输出表被输入到下一个脚本时,这一点非常重要。
2) 使用 hiveconf 在运行时自定义表、模式(甚至where条件或列名)。例如 create table '${hiveconf:schema.name}.my_table ...

相关问题