hive、sqoop、MySQL间的数据传递

hdfs到MySQL

csv/txt文件到hdfs

MySQL到hdfs

 hive与hdfs的映射:

drop table if exists emp;
create table emp
(  
id int comment 'ID',  
emp_name string comment '姓名',  
job string 
)  
comment '职业'  
row format delimited  
-- stored as rcfile  
location '/user/hive/warehouse/emp';  

stored as 关键词,hive目前支持三种方式: 1:就是最普通的textfile,数据不做压缩,磁盘开销大,解析开销也大 2:SquenceFIle,hadoop api提供的一种二进制API方式,其具有使用方便、可分割、可压缩等特点。 3:rcfile行列存储结合的方式,它会首先将数据进行分块,保证同一个record在一个分块上,避免读一次记录需要读多个块。其次块数据列式存储,便于数据存储和快速的列存取。 RCFILE由于采用是的列式存储,所以加载时候开销较大,但具有很好的查询响应、较好的压缩比。 如果建立的表需要加上分区,则语句如下: 这里partitioned by 表示按什么字段进行分割,通常来说是按时间

Hadoop指令查看hdfs下的数据

将本地数据文件导入到hdfs下面:

比较利用Hadoop指令将数据上传至hdfs路径

create external table if not exists emp(
id int comment '用户名',
name string comment '月份',
job string comment '访问次数'
) comment '用户访问表' 
row format delimited fields terminated by "\t" 
location "/user/hive/warehouse/test.db";
-- 方法1. 将文件直接上传至hdfs
hadoop dfs -put /root/part-m-00000 /user/hive/warehouse/test.db
-- 方法2. 通过hive 的 load方法将数据传至hdfs
load data local inpath "/root/part-m-00000" into table test.emp;

以上两种方法实现的效果相同;注意一点就是 数据间的 间隔符号  “\t”

方法3. 利用sqoop将数据传至hdfs  <sqoop是MySQL与hdfs之间数据传递工具>

sqoop import --connect jdbc:mysql://192.168.5.129:3306/hadoop --username root --password 111111 --table emp_demo --fields-terminated-by '\t' -m 1 --target-dir /user/hive/warehouse/test.db
 sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password 123456 --table person --append --target-dir /user/hive/warehouse/test.db

将hdfs数据保存到MySQL

参考:http://www.cnblogs.com/qingyunzong/p/8747656.html

sqoop export --connect  "jdbc:mysql://192.168.5.129/fund?useUnicode=true&characterEncoding=utf-8" --username root --password 111111 --table fundmarket --export-dir /user/hive/warehouse/fundmarket/part-m-00000  --fields-terminated-by '\t'

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏c#开发者

消息队列(Message Queue)简介及其使用

消息队列(Message Queue)简介及其使用 利用 MSMQ(Microsoft Message Queue),应用程序开发人员可以通过发送和接收消息方...

52480
来自专栏码代码的陈同学

Mysql thread 与 OS thread

本文作为 Mysql插入2.6亿条垃圾数据后会发生什么? 、手工重现Mysql插入的”2.6亿”垃圾数据 的续篇,初始目的是想看看kill掉执行中的事务对应的o...

61460
来自专栏丑胖侠

Zookeeper开源客户端Curator之基本功能讲解

简介 Curator是Netflix公司开源的一套Zookeeper客户端框架。了解过Zookeeper原生API都会清楚其复杂度。Curator帮助我们在其基...

39150
来自专栏散尽浮华

Centos7下ELK+Redis日志分析平台的集群环境部署记录

之前的文档介绍了ELK架构的基础知识(推荐参考下http://blog.oldboyedu.com/elk/),日志集中分析系统的实施方案: - ELK+Red...

34640
来自专栏Spark学习技巧

hadoop系列之深入优化

五、MapReduce的优化 1、 操作系统调优 增大打开文件数据和网络连接上限,调整内核参数net.core.somaxconn,提高读写速度和网络带宽使用率...

26070
来自专栏芋道源码1024

分布式事务 TCC-Transaction 源码分析 —— 事务恢复

1. 概述 本文分享 TCC 恢复。主要涉及如下二个 package 路径下的类: org.mengyun.tcctransaction.recover Rec...

42030
来自专栏云计算教程系列

如何在Ubuntu 16.04上的三节点集群上部署CockroachDB

CockroachDB是一个开源的分布式SQL数据库,提供一致性、可伸缩性和生存性。

21020
来自专栏用户2442861的专栏

redis 学习指南

http://www.cnblogs.com/hoojo/p/4466024.html

23910
来自专栏后端技术探索

nginx入门到入门

用户访问反向代理服务器。但是用户不知道访问的是反向代理服务器多个站点中的哪一个站点。对服务器服务。

10420
来自专栏芋道源码1024

注册中心 Eureka 源码解析 —— 任务批处理

本文主要分享 任务批处理。Eureka-Server 集群通过任务批处理同步应用实例注册实例,所以本文也是为 Eureka-Server 集群同步的分享做铺垫。

12700

扫码关注云+社区

领取腾讯云代金券