什么是sqoop
Sqoop is a tool designed to transfer data between Hadoop and relational databases
sqoop环境要求
1、需要hadoop环境
2、Sqoop 1.4.5 supporting 4 major Hadoop releases - 0.20, 0.23, 1.0 and 2.0
安装sqoop
常用命令
mysql
sqoop import --connect jdbc:mysql://database.example.com/employees
–username venkatesh --password-file ${user.home}/.password
sqoop import --connect jdbc:mysql://database.example.com/employees
sqlserver
sqoop import --driver com.microsoft.jdbc.sqlserver.SQLServerDriver
–connect …
常用命令
mysql
sqoop import --connect jdbc:mysql://database.example.com/employees
–username venkatesh --password-file ${user.home}/.password
sqoop import --connect jdbc:mysql://database.example.com/employees
sqlserver
sqoop import --driver com.microsoft.jdbc.sqlserver.SQLServerDriver
–connect …
选择部分数据导出之
选择部分数据导出之query
并行导出 -m or --num-mappers
控制distributed cache
使用oozie运行sqoop job时,带上–skip-dist-cache可以减少了大量I0,提升性能
控制import process
sqoop import --connnect --table foo --warehouse-dir /shared
sqoop import --connnect --table foo --target-dir /dest \
–target-dir与–warehouse-dir不兼容
sqoop import --connect jdbc:mysql://server.foo.com/db --table bar --direct – --default-character-set=latin1
说明:默认情况下,Import会导出到一个新的目录,如果在hdfs上已经存在该目录,则会拒绝import并重写目录中的内容,
控制事务隔离
对于不支持read-uncommited可以不使用–relaxed-isolation参数,如oracle.对于支持read-uncommited,则可以使用该参数,如mysql