zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Sqoop实现MySql/Oracle与Hdfs/Hbase互导数据详解大数据

mysqlOracleHBase数据HDFS 实现 详解 Sqoop
2023-06-13 09:20:26 时间
下文将重点说明通过Sqoop实现Mysql与HDFS互导数据,Mysql与Hbase,Oracle与Hbase的互导最后给出命令。
我安装的Hadoop版本是原生hadoop-0.20.203.0,SQOOP不支持此版本,可使用CDH3版本hadoop,也可以
通过拷贝相应的包到sqoop-1.2.0-CDH3B4/lib下,依然可以使用。
sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.jar,所以你需要下载hadoop- 0.20.2-CDH3B4.tar.gz,解压缩后
将hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2- CDH3B4.jar复制到sqoop-1.2.0-CDH3B4/lib中。
另外,sqoop导入mysql数据运行过程中依赖mysql-connector-java-*.jar,所以你需要下载mysql-connector-java-*.jar并复制到sqoop-1.2.0-CDH3B4/lib中。
修改SQOOP的文件configure-sqoop,注释掉hbase和zookeeper检查(除非你准备使用HABASE等HADOOP上的组件) #if [ ! -d ${HBASE_HOME} ]; then
sqoop list-tables connect jdbc:mysql://192.168.66.96:3306/sqoop username sqoop password sqoop
sqoop import connect jdbc:mysql://192.168.66.96:3306/sqoop username sqoop password sqoop  table students -m 1
运行 
hadoop dfs -ls /user/grid/students 能看到该文件夹中包含文件:/user/grid/students/
part-m-00000
运行
 hadoop dfs -cat /user/grid/students/part-m-00000 就能看到该文件已经包含mysql中students表的三行数据:
sqoop export connect jdbc:mysql://192.168.66.96:3306/sqoop username sqoop password sqoop table students export-dir hdfs://masternode:9000/user/grid/students/part-m-00000
注意:
过程中可能会因为slavenode的50010端口没打开而报错,需用root用户通过sudo ufw allow 50010命令打开端口!
sqoop import connect jdbc:mysql://mysqlserver_IP/databaseName username password password table datatable hbase-create-table hbase-table hbase_tablename column-family col_fam_name hbase-row-key key_col_name
其中 ,databaseName 和datatable 是mysql的数据库和表名,hbase_tablename是要导成hbase的表名,key_col_name可以指定datatable中哪一列作为hbase新表的rowkey,col_fam_name是除rowkey之外的所有列的列族名
/home/grid/sqoop/bin/sqoop import connect jdbc:mysql://192.168.66.96/sqoop username sqoop password liyang16 table students hbase-create-table hbase-table students column-family stuinfo hbase-row-key id
将Oracle中的dept表(列为id,name,addr)导出至hbase中的dept表(行键为id,列族为deptinfo)
sqoop import append connect jdbc:oracle:thin:@192.168.66.90:1521:orcl username test password test m 1 table dept columns id,name,addr hbase-create-table hbase-table dept hbase-row-key id column-family deptinfo