Sqoop中条件的重要性

时间:2017-07-19 09:34:41

标签: sqoop

sqoop import命令中$ conditions子句的意义是什么?

select col1, col2 from test_table where \$CONDITIONS

1 个答案:

答案 0 :(得分:2)

Sqoop通过继承Hadoop的并行性来执行高效的数据传输。

  • 帮助Sqoop将您的查询分成多个可以的块 和平转移,你    需要在查询的where子句中包含$ CONDITIONS占位符。

  • Sqoop       将自动用生成的条件指定替换此占位符       每个单独的任务应该传输哪一片数据。

  • 虽然你可以跳过       $ CONDITIONS通过强制Sqoop使用--num-mappers 1 param-只运行一个作业       但是,这种限制会对性能造成严重影响。

例如: -

  

如果您运行并行导入,则地图任务将执行您的查询   在$ CONDITIONS中替换了不同的值。一个映射器   可以执行"从foo WHERE(id> = 0 AND id< 10000)"中选择bla,并且   下一个映射器可以执行"从foo WHERE中选择bla(id> = 10000   AND id< 20000)"等等。