文档章节

hive的学习笔记

空净
 空净
发布于 2017/04/14 10:49
字数 600
阅读 3
收藏 0

web界面
hive --service hwi &
远程管理
hive --service hiveserver &

hive的数据类型

基本数据类型

复杂数据类型


使用array
create table student 
(sid int,
sname string,
garde array<float>);
对应的结构
{1,tom,[80,56,89]}



使用map
create table student 
(sid int,
sname string,
garde map<string,float>);
对应的结构
{1,tom,<'语文'85>}

create table student 
(sid int,
sname string,
garde array<map<string,float>>);
对应的结构
{1,tom,[<'语文'85>,<'数学'85>,<'英语'85>]}


使用struct
create table student 
(sid int,
sname string,
info struct<name:string,age:int,sex:string>);

对应的结构
{1.{'tom',10,'男'}}

时间数据类型

timestamp是与时区无关的长整型术
data没有时间
他们可以相互转换

hive的数据模型

hive的内部表

hive的内部表
create table  t2
(id int,name string);

指定位置
create table  t2
(id int,name string)
location  '/mytable/hive/t2';

指定列与列的分隔符
create table  t3
(id int,name string)
row format delimited fields terminated by ',';

子查询创建表,同时加入数据
create table t4
as 
select * from t2;

修改表,添加新列
alter table t2 add columns(english int);
desc t2;

删除表
drop table t2;

hive的分区表

以性别为条件创建分区表

create table partiition_table 
(sid int,sname string)
partitioned by (gender string)
row format delimited fields terminated by ',';
查看
desc partiition_table;
插入数据
insert into table partiition_table partiition(gender='M') select * from student where gender='M';

insert into table partiition_table partiition(gender='F') select * from student where gender='F';
查看sql的执行计划
explain  select * from student where gender='M'

hive的外部表

它们的区别:

1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的!而表则不一样;
2、在删除表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的!

这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。

创建数据文件
vim student01.txt
,tom,23
,mary,22
vim student02.txt
,mike,52
,slv,53
vim student03.txt
,kli,52
,sdf,85
上传到hdfs
hdfs dfs -put student01.txt /input
hdfs dfs -put student02.txt /input
hdfs dfs -put student03.txt /input

建立外部表,指向这三个文件
create external table external_student
(sid int,sname string,age int)
row format delimited fields terminated by ','
location  '/input';

select * from external_student;

 

hive的桶表

hive的视图表

 

 

 

http://portal.ly-sky.com:8090/pages/viewpage.action?pageId=26976242

© 著作权归作者所有

上一篇: websocket开发笔记
下一篇: hadoop hdfs使用
空净
粉丝 1
博文 31
码字总数 25970
作品 0
广州
程序员
私信 提问
Hive & Performance 学习笔记

注:本文来源于 Hortonworks 的 Adam Muise 在 July 23 2013 日的 Toronto Hadoop User Group 大会上的一次演讲, 本文只是稍作增删、整理,以备忘。 原文请见:http://www.slideshare.net/a...

大数据之路
2013/09/02
4.2K
0
(转载)Hive学习笔记--Hive 原理

第一部分:Hive原理 为什么要学习Hive的原理 第二部分:一条HQL引发的思考 案例HQL

遵从本心
2013/08/08
330
0
Hive客户端工具

Hive客户端工具 {流水理鱼|wwek}2017-12-271 阅读 hivehadoopv 前沿 Hive有多种Hive客户端工具 Hive命令行工具只适合执行已经编写好的HSQL语句,或者执行较为简单 […] 点赞 hivehadoopv 作者...

{流水理鱼|wwek}
2017/12/27
0
0
Hadoop学习笔记:数据分析引擎Hive

概述 Hive是一个构建在Hadoop之上的数据仓库,和传统的数据仓库一样主要用来访问和管理数据,提供了类SQL查询语言;和传统数据仓库不一样的是可以处理超大规模的数据,可扩展性和容错性非常强...

GaryBigPig
01/16
0
0
Problem(一):开始记录下有帮助用的学习资料网址, 持续。。。

今天(2016-06-05)开始记录下有帮助用的学习资料网址, 方便收藏, 哈哈。。。。。 点赞。。。 更多学习: 2016-10-09 : 1. 正则 http://blog.csdn.net/zaifendou/article/details/5746988...

牧羊人Berg
2016/06/05
119
2

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部