Hive篇--相关概念整理一
一.前述
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
二.Hive相关概念
1.元数据:包括在Hdfs上的映射。除了文件内容,剩下的都是元数据信息。
2.操作符: 表HDFS的一个操作或者一道MapReduce作业。
5.分区表(内部表):对应两个HDFS 上的一个目录,多级分区对应多层目录,分区字段不在表中。
6.UDF:一进一出,重写evaluate函数
三。案例
内部表
create table psn0 (
id int,
name string,
likes ARRAY<string>,
address MAP<string, string>
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',' //每一行中的每一列的区分方式
COLLECTION ITEMS TERMINATED BY '-' //map或Array的每个元素分隔符
MAP KEYS TERMINATED BY ':';//Map中key和value的切割符 LOAD DATA LOCAL INPATH '/root/data1' INTO TABLE psn0;
LOAD DATA INPATH '/data1' INTO TABLE psn0;
22,小明22,eat-code-play,北京:天安门广场-上海:黄浦江
外部表
create EXTERNAL table psn1 (
id int,
name string,
likes ARRAY<string>,
address MAP<string, string>
) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':'
LOCATION '/psn1';//只是做了一个映射
分区表
create table psn3 (
id int,
name string,
likes ARRAY<string>,
address MAP<string, string>
)
PARTITIONED BY (sex string, age int) //分区
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':'; LOAD DATA LOCAL INPATH '/root/data1' INTO TABLE psn3 partition (sex='man', age=1);
LOAD DATA LOCAL INPATH '/root/data2' INTO TABLE psn3 partition (sex='man', age=10);
外部表 分区 删除分区 不会丢失数据 create EXTERNAL table psn5 (
id int,
name string,
likes ARRAY<string>,
address MAP<string, string>
)
PARTITIONED BY (sex string, age int)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':'
location '/psn5'; LOAD DATA LOCAL INPATH '/root/data1' INTO TABLE psn5 partition (sex='man', age=1); ALTER TABLE psn5 DROP PARTITION (sex='man', age=1);
两种创建表的方式(这两种创建方式都是从其他表中读取的结果创建)
CREATE TABLE tbl1
AS
SELECT id, name , likes
FROM psn2; FROM page_view_stg pvs//这句话实际上也可以放在后面
INSERT OVERWRITE TABLE page_view1
SELECT pvs.viewTime, pvs.userid, pvs.page_url, pvs.referrer_url, null, null, pvs.ip, pvs.cnt;//放在这FROM page_view_stg pvs
From psn2
From psn2
insert into table psnjg
select count(*) as ct ;
根据正则匹配,序列化Hive支持读时检查,写时不检查
CREATE TABLE logtbl (
host STRING,
identity STRING,
t_user STRING,
time STRING,
request STRING,
referer STRING,
agent STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) \\[(.*)\\] \"(.*)\" (-|[0-9]*) (-|[0-9]*)"
)
STORED AS TEXTFILE;
Hive篇--相关概念整理一的更多相关文章
- Hive篇--相关概念和使用二
一.基本概念 Hive分桶: 1.概念 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储.对于hive中每一个表.分区都可以进一步进行分桶.(可以对列,也可以对表进行分桶)由列的哈希值除以桶 ...
- 【SQL系列】深入浅出数据仓库中SQL性能优化之Hive篇
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SQL系列]深入浅出数据仓库中SQL性能优化之 ...
- 关于Unity中的涉及到Attribute的相关概念整理(@WhiteTaken)
这两天事情比较多,没有来得及更新,现在把我这两天看的attributes相关内容进行整理. 涉及到的相关概念包括: C#中的特性概念及用法 创建自己的特性以及通过反射访问特性 C#中的特性概念以及用法 ...
- Hadoop之Hive篇
想了解Hadoop整体结构及各框架角色建议飞入这篇文章,写的很好:http://www.open-open.com/lib/view/open1385685943484.html .以下文章是本人参考 ...
- 2. Hive常见操作命令整理
该笔记主要整理了<Hive编程指南>中一些常见的操作命令,大致如下(持续补充中): 1. 查看/设置/修改变量2. 执行命令3. 搜索相关内容4. 查看库表信息5. 创建表6. 分区7. ...
- 基于Hive进行数仓建设的资源元数据信息统计:Hive篇
在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...
- 深入浅出数据仓库中SQL性能优化之Hive篇
转自:http://www.csdn.net/article/2015-01-13/2823530 一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,R ...
- 一篇笔记整理JVM工作原理
首先要了解的 >>数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了 ...
- Hive篇之安装
1,安装 hive的版本的选择,是选择内置的数据库保存元数据,还是用外部的mysql之类的数据库保存元数据,同时,如果使用外置的mysql,需要注意对mysql远程访问的配置. 再就是关于文件的配置了 ...
随机推荐
- 使用With递归查询 树
UNION ALL -- 递归成员 SELECT a.* FROM tree a JOIN CTE c ON a.pid = c.id ) SELECT * from CTE --1.将 CTE ...
- Esptouch移植xamarin记要
目标: 1.支持最新esptouch库更新 2.android和IOS双端混合UI开发App 解决思路: 到esptouch官方开源项目库(android,ios)编译jar及ios标准库到xamar ...
- 我的Python笔记04
摘要: 声明:本文整理借鉴金角大王的Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件 ...
- Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】
1,对Linux下软件的了解 源码包:未编译,要编译安装. 二进制包:已编译,可直接安装. 2,centos和ubuntu下的软件包对比: [centos]rpm文件手动安装,使用rpm指令 ...
- jquery的选择器——[作为学习备用]
1,转载:https://www.cnblogs.com/onlys/articles/jQuery.html jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $(&quo ...
- java 基本数据类型的取值
一. 1.基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此方)最大值:Short.MAX_VALUE ...
- PDF文件优缺点
PDF的优点: 一般公司的公文档都是用PDF格式传递给员工,因为PDF可防止他人无意中触到键盘修改文件内容. 再有就是,当我们将毕业设计报告用word编辑后,发送给导师查看时,也建议采用PDF格式.因 ...
- centos7 安装 oh my zsh
和在ubuntu 下安装十分相似(基本没区别) 安装zsh yum install zsh 改变系统bash chsh -s /bin/zsh git clone oh my zsh 项目: git@ ...
- The frist email to myself by python
昨天用python模块给自己发了第一封电子邮件,真是激动 今天完善了一下. code: import smtplib from email.mime.text import MIMEText//ema ...
- 10-Python入门学习-函数的对象与嵌套、名称空间与作用域、闭包函数
一.函数的对象 函数是第一类对象,指的是函数名指向的值(函数)可以被当作数据去使用 def func():# func=函数的内地址 print('from func') print(func) ag ...