2017-07-19 36 views
0

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

select col1, col2 from test_table where \$CONDITIONS 
+0

参考:HTTPS://sqoop.apache.org/docs/1.4.1-incubating/SqoopUserGuide.html#_selecting_the_data_to_import – skr

+1

已经回答:https://stackoverflow.com/a/42331952/3929393让我知道如果你有任何后续问题 –

回答

2

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

  • 为了帮助Sqoop分裂您查询到,可以并行 转移多块,你 需要包括$条件占位您的查询的where子句。

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

  • 虽然你可以跳过 $迫使Sqoop使用--num映射器1 param- ETER只运行一个作业条件,这样的限制将有严重影响性能。

例如: -

如果你运行一个平行进口,地图任务将与$条件代入不同的值执行查询 。一个映射器 可以执行“从foo WHERE(id> = 0和id < 10000)”选择bla,并且 下一个映射器可以执行“从foo WHERE(id> = 10000 AND id < 20000)上。