- 浏览: 151014 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (113)
- Java工具类 (3)
- Hibernate (1)
- Struts>1&2 (0)
- Spring (0)
- Web前端 (1)
- 数据库 (2)
- 中间件 (3)
- 搜索引擎 (11)
- EJB (1)
- Log日志 (1)
- OS操作系统 (7)
- Java文档 (4)
- Security (1)
- Exception&Error (7)
- 日志&心情 (7)
- 开心一下 (3)
- 云计算 (41)
- Cache缓存 (4)
- MongoDB (1)
- OS操作系统 Linux (7)
- jquery (1)
- 机器学习 (2)
- Plugins (2)
- AJAX (1)
- Java工具 (1)
- WebService (1)
最新评论
-
a420144030:
你好,我想计算n篇文章的相似度,用mahout能处理吗,如何做 ...
mahout使用 -
di1984HIT:
OK,真的很牛啊
hadoop常见错误 -
xwl1991:
还真是这个问题 !
quartz报错java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.ord
转自:http://www.kaifajie.cn/mySQL/6263.html
sqoop是一个能把数据在关系型数据库和HDFS之间互相传输的工具。在这里,我写一下用java
程序来实现sqoop把数据从HDFS写入到MYSQL。
在接触sqoop之前,我自己写了一个传输类来实现数据从HDFS到MYSQL。这里简单说一下时间的思想:
1、在MYSQL中创建一个参数表A,用来记录要传输的表的表名B和字段。
2、HDFS上的数据的格式和MYSQL中参数表A中B表的字段的数量一样。
3、从MYSQL的参数表A中,读取要传输的表B。把这些字段拼凑成一个insert语句,例如
,拼凑为insert into b(column1,column2..) values(value1,value2...)
4、从HDFS相应的目录逐行读取数据,通过JDBC,把数据批量导入到MYSQL的B表中。
我现在用sqoop来代替原来传输的那个功能。先做一下准备工作:
1、hadoop的每个节点下lib文件夹中要有mysql的jar包和sqoop的jar包。
2、在HDFS的某个目录上的数据格式和MYSQL相应的表中的字段数量一致。
实现类如下:
package sqoop;
import java
.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.sqoop.Sqoop;
import org.apache.sqoop.tool.ExportTool;
/**
* 用SQOOP来把数据从HDFS导入到MYSQL。
* */
public class Test {
public static void main(String[] args) {
List<String> generatedJarsList = new ArrayList<String>();
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://master:9000");
conf.set("hadoop.job.ugi", "hadooper,hadoopgroup");
conf.set("mapred.job.tracker", "master:9001");
ArrayList<String> list = new ArrayList<String>(); //定义一个list
list.add("--table");
list.add("a_baat_client"); //mysql中的表。将来数据要导入到这个表中。
list.add("--export-dir");
list.add("/tmp/datathree/"); //hdfs上的目录。这个目录下的数据要导入到a_baat_client这个表中。
list.add("--connect");
list.add("jdbc:mysql://192.168.1.10:3306/report"); //mysql的链接
list.add("--username");
list.add("root"); //mysql的用户名
list.add("--password");
list.add("root"); //mysql的密码
list.add("--lines-terminated-by");
list.add("\\n"); //数据的换行符号
list.add("-m");
list.add("1");//定义mapreduce的数量。
String[] arg = new String[1];
ExportTool exporter = new ExportTool();
Sqoop sqoop = new Sqoop(exporter);
sqoop.setConf(conf);
arg = list.toArray(new String[0]);
int result = Sqoop.runSqoop(sqoop, arg);
System.out.println("res:" + result); //打印执行结果。
}
}
这个导出类执行过程中,可以在浏览器中看一下http://master:50030页面。会发现导出数据也是一个把任务转换为mapreduce执行的过程。
当然,上面的java代码,也可以用命令行来实现。命令如下:
bin/sqoop export --connect jdbc:mysql://192.168.1.10:3306/report \
--table a_baat_client --username root --password root \
--export-dir /tmp/datathree/ -m 1
关于sqoop把数据从HDFS导入到MYSQL就说这么多。把数据从HIVE导入到MYSQL,其实可以理解为把HIVE表所对应的HDFS路径的数据导入到MYSQL,这里就不多说了。
发表评论
-
大数据的储存:百度HDFS集群的数据压缩
2012-08-30 17:48 11512012年4月13日,由IT168(ITP ... -
用sqoop进行mysql和hdfs系统间的数据互导
2012-07-31 16:32 1878转自:http://abloz.com/2012/07/19/ ... -
从hive将数据导出到mysql
2012-07-31 16:31 1781转自:http://abloz.com/2012/07/20/ ... -
Hive SQL
2012-07-19 13:49 1397转自:http://www.tbdata.org/ ... -
Hive优化总结
2012-07-09 15:18 4261优化时,把hive sql当做ma ... -
hadoop/mapred 优化方法
2012-06-12 11:47 1368从三个方面着手优化 : 1. hadoop配置 2. ... -
hadoop集群dfs.data.dir目录权限问题导致节点无法启动
2012-06-11 18:32 6185安装使用Hive的时候发现文件无法从本地拷贝到hadoo ... -
hadoop中的balancer
2012-06-11 15:49 1101对于HDFS集群,经常长时间的运行,尤其是大量的delete操 ... -
Hadoop集群上使用Lzo压缩
2012-05-28 11:03 900转自:http://www.tech126.com/hadoo ... -
使用Hive读取Hbase中的数据
2012-05-23 13:12 2238转自:http://www.4ucode.com/Study/ ... -
在XP系统下配置eclipse集成hadoop开发
2012-05-05 11:09 1009一、目的:由于hadoop只能在Linux环境下运行,所以对于 ... -
使用Hive读取Hbase中的数据
2012-04-18 14:24 1053转自:http://www.4ucode.com/Study/ ... -
Web日志分析方法概述 让复杂的数据挖掘变得简单可行
2012-04-13 16:31 834志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志 ... -
应用sqoop将MySQL数据库中的数据导入Hbase
2012-04-12 11:31 2033转自:http://www.bwxxkj.com/a/jish ... -
hadoop中的trash机制,恢复删除的文件
2012-03-31 13:46 2153Hadoop回收站trash,默认是关闭的。 1.修改con ... -
Hadoop 和DBMS 的互补性
2012-03-29 12:22 642随着Microsoft 也加入Hadoop 阵营,Hadoop ... -
Hadoop 中的两表join
2012-03-29 12:20 822转自:http://www.gemini52013 ... -
各版本编译hadoop eclipse plugin
2012-03-29 12:19 1349转自:http://www.gemini52013 ... -
hadoop常见错误
2012-03-24 13:04 1619错误1:bin/hadoop dfs 不能正常启动,持续提 ... -
hbase运维
2012-03-23 17:33 1281转自:http://blog.bluedavy.c ...
相关推荐
sqoop导入数据到hdfs,所有相关的操作命令均在更改相关地址就行。
2、sqoop导入(RMDB-mysql、sybase到HDFS-hive) 网址:https://blog.csdn.net/chenwewi520feng/article/details/130572275 介绍sqoop从关系型数据库mysql、sybase同步到hdfs、hive中
使用sqoop2从mysql导入hadoop时,导入的数据带单引号。是由于sqoop2的一个bug导致,该包上传到sqoop_home/server/lib替换原来的jar包后,重启sqoop server,即可解决。
05_Sqoop将MySQL数据导入到HDFS(一) 06_Sqoop将MySQL数据导入到HDFS(二) 07_Sqoop中的增量导入与Sqoop job 08_Sqoop将MySQL数据导入Hive表中 09_Sqoop的导出及脚本中使用的方式 10_案例分析-动态分区的实现 11_...
Hadoop2.6伪分布安装sqoop1.4.6及hdfs与mysql导入导出数据 sqoop安装及简单测试 启动sqoop 启动mysql 从mysql导入数据到hdfs中 从HDFS导出数据到mysql
将MySQL数据导入到hdfs(全部导入和部分导入相关操作); 将MySQL数据导入到Hive;增量导入数据(包括:全量导入&增量导入);增量导入的2种方案; 从hdfs导出到mysql;从hive导出到mysql; Sqoop中的Job任务使用;...
内含:Hadoop、Sqoop、...实验目的: 验证利用sqoop把数据 从 mysql 导入到 hdfs 1.下载实验所需软件包 2.在centos7安装mysql 3.在centos7安装hadoop伪分布式 4.安装sqoop,配置sqoop 5.验证sqoop数据导入
数据导入分布式文件系统HDFS 3.数据导入数据仓库Hive 4.基于复杂条件实现数据导入 5.基于订单案例实现Increment增量同步数据 6.基于订单案例实现lastModified增量同步导入数据 7.数据导入原理详解 第三章:...
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以使用Sqoop将数据从MySQL或Oracle等关系数据库管理系统(RDBMS)导入Hadoop分布式文件系统(HDFS),在Hadoop MapReduce中转换数据,然后将数据...
sqoop安装详解以及sqoop内容介绍使用介绍 ...2、导入数据:从结构化数据(Mysql,oracle,db2,)导入到半结构化或非结构化hadoop中(HDFS、HIVE、HBASE) 3、导出数据:从haoop中将数据导出到关系数据库中MySql
同时也可以把数据从 Hadoop 系统里抽取并导出到关系型数据库里。除了这些主要的功能 外,Sqoop 也提供了一些诸如查看数据库表等实用的小工具。理论上,Sqoop 支持任何一款支持 JDBC 规范的数据库,如 DB2、MySQL 等...
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(Mysql、Postgresql...)间进行数据的传递,可以将一个关系 型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将...
从MySQL导入数据到HDFS文件系统中,简单的一种方式是使用Sqoop,然后将HDFS中的数据和Hive建立映射。通过Sqoop作为数据桥梁,将传统的数据也存入到NoSQL中来了,有了数据,猴戏才刚刚开始。 01 猴年伊始 SQL...
它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。Sqoop由Apache软件基金会提供。;9.2 Sqoop功能应用;9.2.1 Sqoop架构;;;;9.2.2 Sqoop导入原理; JDBC的ResultSet...
mysql,sqoop,spark,hive工作流管道它将通过两个表order和order_items产生每日收入Sqoop 以“ parquet”格式将订单和order_items数据从mysql导入到hdfs 在这里,我们正在创建sqoop作业以用于增量数据导入命令订单...
Sqoop可以将一个关系型数据库(例如MySQL、Oracle、PostgreSQL等)中的数据导入Hadoop的HDFS、Hive中,也可以将HDFS、Hive中的数据导入关系型数据库中。Sqoop充分利用了Hadoop的优点,整个数据导入导出过程都是用...
Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。 一、安装sqoop 1、下载sqoop压缩包,并解压 压缩包分别是:sqoop-1.2.0-CDH3B4.tar.gz,hadoop-0.20.2-CDH3B4.tar.gz, ...
Sqoop是一个用于在Hadoop和关系...您可以使用Sqoop将关系数据库管理系统(RDBMS)(如MySQL或Oracle或大型机)中的数据导入Hadoop分布式文件系统(HDFS),转换Hadoop MapReduce中的数据,然后将数据导出回RDBMS 。
这里主要介绍推荐系统的基本原理,所以推荐依据很简单)的表数据导入到hdfs中。2,用MapReduce实现推荐算法。3,通过sqoop将推荐系统的结果写回mysql。4,java商城通过推荐系统的数据实现<喜欢该商品的人
每过一段时间就对该时段内的评分数据进行协同过滤算法的MapReduce计算,计算结果是存储在HDFS里的,所以要使用sqoop工具来对HDFS中非关系型数据转发到MYSQL这样的关系型数据库中,导入到MYSQL的推荐表中。...