Sqoop之数据迁移

Sqoop—数据迁移

一、Sqoop概述

1.定义
Soop是一个用于在Hadoop和关系数据库之间传输数据的工具
将数据从RDBMS导入到Hadoop( HDFS、HIve、HBase)
从Hadoop导出数据到RDBMS
将导入或导出命令翻译成MapReduce程序来并行操作和容错
2.目标用户
系统管理员、数据库管理员
大数据分析师、大数据开发工程师等

二、导数据

2.1 从RDB导入数据到HDFS

2.1.1 导入表到HDFS
sqoop-import --connect jdbc:mysql://主机名:3306/retail_db \
//sqoop-import是sqoop import的别名
--driver com.mysql.jdbc.Driver \
//配置数据库连接为MySQL中数据库,具体到哪个数据库
--table customers \
// 表名
--username root \
--password root\
//用户名密码
--target-dir /data/retail_db/customers \
//指定目录(hdfs)
--m 3
//m表示Mapper数量

ps:导入会报错,缺少java-json的包,需要下载后放到sqoop的lib目录下
报错信息如下

报错
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
	at org.apache.sqoop.util.SqoopJsonUtil.getJsonStringforMap(SqoopJsonUtil.java:43)
	at org.apache.sqoop.SqoopOptions.writeProperties(SqoopOptions.java:784)
	at org.apache.sqoop.mapreduce.JobBase.putSqoopOptionsToConfiguration(JobBase.java:392)
	at org.apache.sqoop.mapreduce.JobBase.createJob(JobBase.java:378)
	at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:256)
	at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:692)
	at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:513)
	at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:621)
	at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
	at org.apache.sqoop.<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值