首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Sqoop自由格式查询中使用MySQL函数

在Sqoop自由格式查询中使用MySQL函数
EN

Stack Overflow用户
提问于 2016-09-29 17:53:45
回答 1查看 174关注 0票数 0

我正在尝试执行这样的查询

代码语言:javascript
复制
SELECT replace(name, '\0', '') FROM example

在sqoop中使用参数--查询

代码语言:javascript
复制
--query "select replace(name, '\\0', '')" from example e

但是这种方法正在返回错误。

代码语言:javascript
复制
ERROR tool.ImportTool: Imported Failed: No column by the name namefound while importing data; expecting one of [id, REPLACE_name___0_____]

知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-30 08:07:08

首先,您需要正确地封装SQL语句。然后,您需要用"/“来转义"\”字符。

请检查以下为我工作过的:

代码语言:javascript
复制
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 1

eval还开展了以下工作:

代码语言:javascript
复制
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"

不过我没明白你的错误。希望能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39776953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档