分享

sqoop配置与使用

一、sqoop配置
1.下载 http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz

2.下载 http://archive.cloudera.com/cdh/3/hadoop-0.20.2-CDH3B4.tar.gz

3.解压 2

4.复制3里hadoop-core-0.20.2-CDH3B4.jar到sqoop的lib下

5.在某处复制mysql-connector-java-5.1.10.jar到sqoop的lib下

6.修改configure-sqoop

注释掉hbase zookeeper检查:
#if [ ! -d "${HBASE_HOME}" ]; then
# echo “Error: $HBASE_HOME does not exist!”
# echo ‘Please set $HBASE_HOME to the root of your HBase installation.’
# exit 1
#fi
#if [ ! -d "${ZOOKEEPER_HOME}" ]; then
# echo “Error: $ZOOKEEPER_HOME does not exist!”
# echo ‘Please set $ZOOKEEPER_HOME to the root of your ZooKeeper installation.’
# exit 1
#fi

7.运行:
列出mysql所有的表:

./sqoop list-tables –connect jdbc:mysql://127.0.0.1/operation –username root –password 123
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、sqoop使用

1  导入导出数据库
   1)列出mysql数据库中的所有数据库命令
  #  sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 123456

   2)连接mysql并列出数据库中的表命令
# sqoop list-tables --connect jdbc:mysql://localhost:3306/test --username root --password 123456
   命令中的test为mysql数据库中的test数据库名称  username password分别为mysql数据库的用户密码

  3)将关系型数据的表结构复制到hive中
sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table username --username root --password 123456 --hive-table test
其中 --table username为mysql中的数据库test中的表   --hive-table test 为hive中新建的表名称

   4)从关系数据库导入文件到hive中
sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password mysql-password --table t1 --hive-import
   5)将hive中的表数据导入到mysql中
./sqoop export --connect jdbc:mysql://localhost:3306/test --username root --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=2011-08-03

6)上传数据到hadoop中
sqoop import --connect jdbc:mysql://10.2.136.24:3306/test --username root  --table aa -m 1

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
将mysql中的表导入hive中:
$ sqoop import --connect jdbc:mysql://IP:PORT/DATABASE --username USERNAME --password PASSWORD --table TABLE --hive-import  
如果曾经执行失败过,那再执行的时候,会有错误提示:
ERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory xxx already exists
执行 $HADOOP_HOME/bin/hadoop fs -rmr xxx 即可

已有(10)人评论

跳转到指定楼层
wkf46525 发表于 2014-11-12 12:27:31
C:\Users\王盛涛\Desktop
我用sqoop 的import将mysql整个表导入到hive中,已经成功了,在hive warehouse中可以查看到导入的数据,但是在 hive shell中 show tables查询不到导入的表呀
回复

使用道具 举报

desehawk 发表于 2014-11-12 13:26:01
wkf46525 发表于 2014-11-12 12:27
我用sqoop 的import将mysql整个表导入到hive中,已经成功了,在hive warehouse中可以查看到导入的数据, ...
看下日志,说明导入还没有成功
回复

使用道具 举报

追梦 发表于 2014-11-22 21:19:27
注: /tmpoop-hadoop/compile/9855cb7cce347a7c542ecb2c9b343e9c/hly_temp_normal.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
14/11/22 20:35:25 INFO orm.CompilationManager: Writing jar file: /tmpoop-hadoop/compile/9855cb7cce347a7c542ecb2c9b343e9c/hly_temp_normal.jar
14/11/22 20:35:25 WARN manager.MySQLManager: It looks like you are importing from mysql.
14/11/22 20:35:25 WARN manager.MySQLManager: This transfer can be faster! Use the --direct
14/11/22 20:35:25 WARN manager.MySQLManager: option to exercise a MySQL-specific fast path.
14/11/22 20:35:25 INFO manager.MySQLManager: Setting zero DATETIME behavior to convertToNull (mysql)
14/11/22 20:35:25 ERROR tool.ImportTool: Error during import: HBase jars are not present in classpath, cannot import to HBase!
回复

使用道具 举报

追梦 发表于 2014-11-22 21:20:01
请问这是什么问题呢,环境变量也有设置啊
回复

使用道具 举报

nerversayno 发表于 2014-12-9 11:12:56
请问,sqoop是怎么定时从mysql导入hdfs的?
回复

使用道具 举报

yunmin 发表于 2015-6-8 23:34:25
desehawk 发表于 2014-11-12 13:26
看下日志,说明导入还没有成功

求问看哪里的日志?

回复

使用道具 举报

sstutu 发表于 2015-6-9 00:00:51
yunmin 发表于 2015-6-8 23:34
求问看哪里的日志?

搜索log
例如下面:
sqoop/server/logs
回复

使用道具 举报

yunmin 发表于 2015-6-9 11:14:11
sstutu 发表于 2015-6-9 00:00
搜索log
例如下面:
sqoop/server/logs

我安装的是sqoop1.5.6的,一直找不到log目录。按你给的路径找也找不到你说的。。
回复

使用道具 举报

yunmin 发表于 2015-6-9 11:21:35
yunmin 发表于 2015-6-9 11:14
我安装的是sqoop1.5.6的,一直找不到log目录。按你给的路径找也找不到你说的。。

我在运行Sqoop 导入数据到hdfs一直卡在某个地方。控制台也没报错,,又遇到过这种情况吗?我是完全分布环境的!
捕获.PNG
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条