我正在尝试执行这样的查询
SELECT replace(name, '\0', '') FROM example在sqoop中使用参数--查询
--query "select replace(name, '\\0', '')" from example e但是这种方法正在返回错误。
ERROR tool.ImportTool: Imported Failed: No column by the name namefound while importing data; expecting one of [id, REPLACE_name___0_____]知道怎么解决这个问题吗?
发布于 2016-09-30 08:07:08
首先,您需要正确地封装SQL语句。然后,您需要用"/“来转义"\”字符。
请检查以下为我工作过的:
sqoop import \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username=retail_dba \
--password=cloudera \
--query "select replace(department_name, '/\0', '*') from departments where 1=1 and \$CONDITIONS" \
--split-by "department_name" \
--target-dir "/km/op_sqoop/dept_names" \
-m 1eval还开展了以下工作:
sqoop eval \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username retail_dba \
--password cloudera \
--query "select department_id, department_name, replace(department_name, '/\0', '*') from departments"不过我没明白你的错误。希望能帮上忙。
https://stackoverflow.com/questions/39776953
复制相似问题