首页 > 大数据 > 数据挖掘 > 大数据模块开发----一分彩源码搭建结果导出
1. Apache Sqoop
一分彩源码搭建q<277.03.4.83.6>
Sqoop是Hadoop和关系数据库服务器之间传送数据的一种工具。它是用来从关系数据库如:MySQL,Oracle到Hadoop的HDFS,并从Hadoop的文件系统导出数据到关系数据库。由Apache软件基金会提供。
Sqoop:“SQL 到 Hadoop 和 Hadoop 到SQL”。
大数据模块开发----结果导出
Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。
在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。
sqoop安装
安装sqoop的前提是已经具备java和hadoop的环境。
最新稳定版: 1.4.6
配置文件修改:
cd $SQOOP_HOME/conf
mv sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh
export HADOOP_COMMON_HOME=/root/apps/hadoop/
export HADOOP_MAPRED_HOME=/root/apps/hadoop/
export HIVE_HOME=/root/apps/hive
加入mysql的jdbc驱动包
cp /hive/lib/mysql-connector-java-5.1.28.jar $SQOOP_HOME/lib/
验证启动
bin/sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password hadoop
本命令会列出所有mysql的数据库。
到这里,整个Sqoop安装工作完成。
2. Sqoop导入
“导入工具”导入单个表从RDBMS到HDFS。表中的每一行被视为HDFS的记录。所有记录都存储为文本文件的文本数据(或者Avro、sequence文件等二进制数据)。
下面的语法用于将数据导入HDFS。
$ sqoop import (generic-args) (import-args)
Sqoop测试表数据
在mysql中创建数据库userdb,然后执行参考资料中的sql脚本:
创建三张表: emp emp_add emp_conn。
2.1. 导入mysql表数据到HDFS
下面的命令用于从MySQL数据库服务器中的emp表导入HDFS。
bin/sqoop import \
--connect jdbc:mysql://node-21:3306/sqoopdb \
--username root \
--password hadoop \
--target-dir /sqoopresult \
--table emp --m 1
其中--target-dir可以用来指定导出数据存放至HDFS的目录;
mysql jdbc url 请使用 ip 地址。
为了验证在HDFS导入的数据,请使用以下命令查看导入的数据:
hdfs dfs -cat /sqoopresult/part-m-00000
可以看出它会用逗号,分隔emp表的数据和字段。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69952837/viewspace-2662674/ ,如需转载,请注明出处,否则将追究法律责任。