sqoop - 解释并举例说明为什么我们在 sqoop 中使用 $CONDITIONS
问题描述
sqoop import --connect jdbc:mysql://localhost/retail_db --username root --password cloudera --query 'select * from table name where $CONDITIONS'
解决方案
如果要并行导入查询的结果,则每个映射任务都需要执行查询的副本,结果按 Sqoop 推断的边界条件进行分区。您的查询必须包含标记 $CONDITIONS,每个 Sqoop 进程将用唯一的条件表达式替换该标记。您还必须使用 --split-by 选择拆分列。
$ sqoop import \
--query 'SELECT a.*, b.* FROM a JOIN b on (a.id == b.id) WHERE $CONDITIONS' \
--split-by a.id
--target-dir /user/foo/joinresults
推荐阅读
- python - 如何从列表中提取相等元素的索引?
- java - 什么spring注解需要放在控制器中的commandlinerunner接口方法上
- node.js - google calendar watch api的ttl参数有限制吗?
- microsoft-graph-api - 从 Microsoft Graph API 流式传输附件到 SOAP WebService
- r - 根据其他列但不同行中的值计算第三列中的值
- wordpress - 如何添加一个
wordpress 网站上使用约会主题的链接? - flutter - 如何在飞镖中以秒为单位添加纪元时间
- reactjs - 没有 JSX 的 ReactJS onClick
- php - 具有活动类的 PHP 菜单功能
- mysql - 消息:“方法 Illuminate\Validation\Validator::validateTazker 不存在。”