sqoop1.4.6安装

 

Sqoop-1.4.6安装

下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

 

解压

tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

 

改名

mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gzsqoop-1.4.6

 

移动

mv sqoop-1.4.6 /usr/local/

 

添加mysql jar

mv mysql-connector-java-5.1.8.jar/usr/local/sqoop-1.4.6/lib

 

修改

vim /etc/profile

export HADOOP_HOME=/usr/local/hadoop

export SQOOP_HOME=/usr/local/sqoop-1.4.6

exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SQOOP_HOME/bin

 

改名

cp sqoop-env-template.sh sqoop-env.sh

 

修改

vim sqoop-env.sh

export HADOOP_COMMON_HOME=/usr/local/hadoop

export HADOOP_MAPRED_HOME=/usr/local/hadoop

 

修改

vim configure-sqoop

 

Mysql授权外部IP访问

mysql -h localhost -u root -p

use mysql;

select host from user where user=’root’;

update user set host=’%’ where user=’root’;

flush privileges;

 

命令

列出数据库中所有库

sqoop list-databases -connectjdbc:mysql://192.168.199.1:3306/ -username root –password 123456

列出数据库中所有表

sqoop list-tables -connectjdbc:mysql://192.168.199.1:3306/hadoop -username root –password 123456

将数据库中数据导入Hdfs

sqoop import -connectjdbc:mysql://192.168.199.1:3306/hadoop -username=root -table hello -m 1-target-dir /hello

sqoop import -connectjdbc:oracle:thin:@192.168.199.1:1521:ORCL -username root -table HELLO -m 1-target-dir /hello

sqoop import -connectjdbc:oracle:thin:@192.168.199.1:1521:ORCL -username root -query ‘select ID,NAMEfrom HELLO where ID IS NOT NULL and $CONDITION’ -target-dir /hello -split-by ID

sqoop import --connect jdbc:oracle:thin:@192.168.0.105:1521:ORCL--username hbea --password fulong --table ACTION_LOG --columns "ACTION_TIME,USER_ID"-m 1 --hive-import --hive-database HIVE --hive-table HIVE_LOG--hive-drop-import-delims --fields-terminated-by "\t"--lines-terminated-by "\n"

 

将数据库中数据增量导入Hdfs

sqoop import -connect jdbc:mysql://192.168.199.1:3306/hadoop-username=root -table hello -m 1 -target-dir /hello -check-column id-incremental append -last-value 4

将数据库中表结构复制到Hive

sqoop create-hive-table -connectjdbc:mysql://192.168.199.1:3306/hadoop -table hello -username root -hive-tablehello

将数据库中数据导入Hive

sqoop import -connect jdbc:mysql://192.168.199.1:3306/hadoop-username root -table hello -hive-import -hive-table hello -m 1

将Hdfs中数据导入数据库

sqoop export-connectjdbc:mysql://192.168.199.1:3306/hadoop -table hello -username root-export-dir hdfs://cancer/hello/part-m-00000

将数据库中数据增量导入HBase

sqoop import--connectjdbc:mysql://172.16.247.140:3306/sqoop --table tb1--hbase-create-table--hbase-table tb3 --column-family table_schema--hbase-row-key table_name--username hive --password 123456  -m 1

 

说明:要最新版mysql-connector-java-5.1.32.tar.gz,否则报错Bug。oracle表名要大写,要不会报错,说找不到。

注意一:如果你的表中关键字不是根据其范围均匀的分布,就可能导致不平衡的任务。这个时候你需要明确的选择一个不同的列使用--split-by指定分隔参数。目前,Sqoop,还不支持对各个列索引进行分隔,如果一个表没有索引列或者含有多个关键字列,你必须手动的指定一个分隔列。

注意二:如果SQL语句中使用双引号(“”),则必须使用\$CONDITIONS代替$CONDITIONS,使你的shell不将其识别为shell自身的变量。

注意三:目前版本的Sqoop中,使用自由形式查询导入,只提供简单的查询,没有复杂的和“OR”条件查询在where子句中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值