我正在使用Hive。我已经在其中实现了一些任务,并希望使用SQOOP将表从Hive导出到SQL Server中。
当从Hive导出表时,我想在SQL Server中触发该触发器。是否可以触发扳机?
请尽快回复我。
感谢。
答案 0 :(得分:1)
通常,避免像瘟疫这样的触发器。它们是万不得已的工具。任何可以在触发器中完成的事情都可以在存储过程中更好,更快地完成一千倍,这是业务逻辑应该是可见的,可以优化的,并且在源代码控制下更容易理解。触发器是数据库世界的全局变量,除非没有其他技术解决方案,否则请避免使用。
如果您希望从SQL Server获得更好的性能,并且您正在使用Hive来获取它,那么您将采用错误的方式 - 您最好将业务逻辑转移到存储过程中调整,而不是将其嵌入触发器中。
使用Hive解决问题是一个真正的大锤来破解核桃 - 你最好不要看你的编码实践来获得更好的SQL Server性能,除非你的数据集如此庞大(100Tb +),你真的需要转向基于Hadoop和Hive的分布式扩展解决方案。问问自己为什么要这样做。要对任何较小的数据集执行此操作,实际上是为了忽略关系引擎在相对适中的硬件上的能力。我们都喜欢用新技术来修饰我们的简历,或者想要新的东西,但在技术架构方面,你应该问自己是否有必要。我不是反SQL Server,也不是反Hive / Hadoop。两者都有自己的位置,马匹用于课程。但我绝对是反触发的。
答案 1 :(得分:0)
我只是通过创建触发器来尝试这个,它工作正常! 这使我的工作变得如此简单。
我创建了Trigger AFTER INSERT。