sqoop eval以运行多个查询?

6fe3ivhb  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(531)

我们可以使用sqoop eval函数运行多个sql查询吗?
例如:
sqoop eval-d mapreduce.job.queuename=nonp.x--“连接”jdbc:sqlserver用法:/ee dev/cloud。net:1433;database=sqlserver1”--用户名x--密码--查询“drop table if exists table1;”从town中选择townid、stateid、countryid;'
有人能建议在一个sqoop评估中运行多个查询的解决方案吗?
如果一个sqoop eval中不可能有多个查询,那么我必须编写多个sqoop eval作业。

wtlkbnrh

wtlkbnrh1#

SQLServer客户机通常可以发送一批多个语句,而不是单个查询。您需要将语句串联在一个字符串中,并用空格分隔它们。在多语句批处理中抑制行计数消息也是一种很好的做法。比如:

--query 'set nocount on; drop table if exists table1; select townid,stateid,countryid from town;'

对可以在单个批处理中出现的语句有一些限制。某些ddl语句必须是批处理中的第一条或唯一一条语句,并且分析批处理所需的所有对象必须存在于批处理的开头。如果需要,可以在批处理中使用动态sql来解决这两个问题。

相关问题