您的位置:首页 > 数据库 > SQL

sqoop导oracle.mysql数据到hdfs hive

2013-11-04 14:40 309 查看
1. 下载hadoop和sqoop

2. 把hadoop-core-1.2.1.jar放到sqoop的lib文件夹下

3. 把ojdbc6.jar放到sqoop的lib文件夹下

4. 把sqoop的sqoop-1.4.4.jar放到hadoop的lib下

5. 把hive下mysql—connector-java。。。。放到sqoop/lib文件夹下(网上资料都这么配的,但实际上不知道为什么这样运行会出错,找不到mysql驱动。但是放到hadoop/lib下就没问题了)

注意:当mysql——》hive的时候,要把hbase/lib下的libthrift-0.8.0.jar换成hive/lib下的libthrift-0.9.0.jar

5.修改sqoop-1.2.0-CDH3B4/bin目录中的configure-sqoop文件

找到下面的脚本,在每一行的前面添加#符号将其注释起来。

# 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

6. 启动hadoop,并且执行:

bin/sqoop import --append --connect jdbc:oracle:thin:@192.168.21.196:1521:orcl --username 'DK_PARTY' --password 'BkF6QOYXlZ' --target-dir /sqoop/oracle --num-mappers 1 --table 'DKCORE.ORG_ROLES' --columns 'ORG_ID','LOGISTICS_ROLE_ID'
--fields-terminated-by '\t'

7. hdfs中/sqoop/oracle下生成.bz2的包,采用如下解压命令:bzip2 -d 。。。。。.bz2文件

8.在mysql中建立表 mytab

9.mysql——》hdfs:

bin/sqoop import --connect jdbc:mysql://master:3306/test --username hive --password hive --table mytab -m 1

默认会存储在 hdfs:/user/hadoop/mytab下

下面的写法存储到指定目录:

sqoop import --connect jdbc:mysql://master:3306/test
--username hive --password hive --table mytab --target-dir /user/hadoop/sqoop -m 1

10. mysql——》HIVE

sqoop import --connect jdbc:mysql://master:3306/test
--username hive --password hive --table mytab --hive-import -m 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: