ITPub博客

首页 > 大数据 > 数据挖掘 > 大数据模块开发----一分彩源码搭建结果导出

大数据模块开发----一分彩源码搭建结果导出

数据挖掘 作者:还能赢啊 时间:2019-11-05 11:28:01 0 删除 编辑

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/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-11-05

  • 博文量
    1
  • 访问量
    482