sqoop导入中的AND \ $ CONDITIONS要澄清,没有导入,为什么?

时间:2016-10-01 21:42:05

标签: import sqoop

我只做m=1,这意味着这将迫使非平行导入,对吧? 我的表有500000行,我只想在免费查询中使用where条件导入一部分,这是我的命令:

sqoop import --connect jdbc:mysql://localhost/employees --username root -P --query 'select emp_no, title from titles where "emp_no < 10020 AND \$CONDITIONS"' --target-dir /title_set --m 1;

当我检查结果时,它显示为空但有一个_SUCCESS文件: Directory listing with _SUCCESS file 我的导入脚本出了什么问题?

1 个答案:

答案 0 :(得分:0)

使用sqoop import编写查询有两种方法,请按以下方式更新查询。

1)在单引号中包含查询。

'select emp_no, title from titles where emp_no < 10020 AND $CONDITIONS

2)用双引号括起查询。

"select emp_no, title from titles where emp_no < 10020 AND \$CONDITIONS"

以下内容来自Sqoop关于此的文档。

如果要发出用双引号(“)包装的查询,则必须使用\ $ CONDITIONS而不是$ CONDITIONS来禁止shell将其视为shell变量。例如,双引号查询可能看起来像:“SELECT * FROM x WHERE a ='foo'AND \ $ CONDITIONS”