1.Sqoop的基本操作
- 列出数据库
sqoop-list-databases --connect jdbc:mysql://mini05:3306/ --username root --password root
- 列出所有的表
sqoop-list-tables --connect jdbc:mysql://mini05:3306/up1 --username root --password root
2. mysql中的数据导入到hdfs中
sqoop-import --connect jdbc:mysql://mini05/up2 --username root
--password root --table user
-
在执行导入的过程中,一定要确定RDBMS中的表中有pk
-
–target-dir:导入到自定义的hdfs目录中
-
–append : 追加导入
-
-m :指定maptask的数量
-
–username :数据库的用户名
-
–password :数据库的密码
-
–connect :数据库的url
-
–delete-target-dir : 一般与–target-dir联用,与–append是互斥的
-
–last-value : 跳过几行数据,追加其余所有的数据
-
–where:根据条件进行导入
sqoop-import
--connect jdbc:mysql://mini05/up2 --username root
--password root
--table user
--target-dir /sqoop/user
--delete-target-dir
--where 'id>2'
- –query:导入mysql查询的结果到hdfs
sqoop-import --connect jdbc:mysql://mini05/up2 --username root
--password root
--target-dir /sqoop/user
--delete-target-dir
--query "select name,age from user where age>10 and \\$CONDITIONS"
--split-by 'age'
3. mysql中的数据导入hbase中
sqoop-import
--connect jdbc:mysql://mini05/up2
--username root
--password root
--table user
--hbase-row-key id
--hbase-table ns1:t2
--column-family f1
–hbase-row-key: 可以不指定,不指定默认hbase中的row-lkey就是mysql中的主键
注意:导入数据到hbase数据库之前需要在hbase中先创建表和列族
4. mysql中的数据导入hive中
sqoop-import
--connect jdbc:mysql://mini05/up2
--username root
--password root
--table user
--hive-import
--target-dir /hive/user1 -m 1
5. hdfs中的数据导出到mysql
sqoop-export
--connect jdbc:mysql://mini05:3306/up2
--username root
--password root
--table user
--export-dir /sqoop/user2
注意:导出之前首先需要在mysql中创建表
注意:导入的文本中的数据必须为csv的格式
6. hbase中的数据导出到mysql
不可行