一.前述

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

二.Hive相关概念

1.元数据:包括在Hdfs上的映射。除了文件内容,剩下的都是元数据信息。

2.操作符: 表HDFS的一个操作或者一道MapReduce作业。

3.内部表:元数据删除,同时删除数据 ,由hive自身管理。
.外部表:元数据删除,真正存在HDFS上的数据不会删除,只是做了一个引用。外部表 分区  删除分区  不会丢失数据

5.分区表(内部表):对应两个HDFS 上的一个目录,多级分区对应多层目录,分区字段不在表中。

6.UDF:一进一出,重写evaluate函数

7.UDAF :多进一出
8.UDTF: 一进多出
PS:

添加分区时必须指定全部分区。删除的时候没有必要指定全部,指定某一个会删除相关的。

三。案例

内部表:

内部表
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篇--相关概念整理一的更多相关文章

  1. Hive篇--相关概念和使用二

    一.基本概念 Hive分桶: 1.概念 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储.对于hive中每一个表.分区都可以进一步进行分桶.(可以对列,也可以对表进行分桶)由列的哈希值除以桶 ...

  2. 【SQL系列】深入浅出数据仓库中SQL性能优化之Hive篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SQL系列]深入浅出数据仓库中SQL性能优化之 ...

  3. 关于Unity中的涉及到Attribute的相关概念整理(@WhiteTaken)

    这两天事情比较多,没有来得及更新,现在把我这两天看的attributes相关内容进行整理. 涉及到的相关概念包括: C#中的特性概念及用法 创建自己的特性以及通过反射访问特性 C#中的特性概念以及用法 ...

  4. Hadoop之Hive篇

    想了解Hadoop整体结构及各框架角色建议飞入这篇文章,写的很好:http://www.open-open.com/lib/view/open1385685943484.html .以下文章是本人参考 ...

  5. 2. Hive常见操作命令整理

    该笔记主要整理了<Hive编程指南>中一些常见的操作命令,大致如下(持续补充中): 1. 查看/设置/修改变量2. 执行命令3. 搜索相关内容4. 查看库表信息5. 创建表6. 分区7. ...

  6. 基于Hive进行数仓建设的资源元数据信息统计:Hive篇

    在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...

  7. 深入浅出数据仓库中SQL性能优化之Hive篇

    转自:http://www.csdn.net/article/2015-01-13/2823530 一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,R ...

  8. 一篇笔记整理JVM工作原理

    首先要了解的 >>数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了 ...

  9. Hive篇之安装

    1,安装 hive的版本的选择,是选择内置的数据库保存元数据,还是用外部的mysql之类的数据库保存元数据,同时,如果使用外置的mysql,需要注意对mysql远程访问的配置. 再就是关于文件的配置了 ...

随机推荐

  1. Anaconda python环境管理

    1.查看conda的版本: conda --version 2. 查看当前系统安装已的python环境: conda info --envs 3. 添加python环境: conda create - ...

  2. Cesium 中由 Logarithmic Depth Buffer 引起的模型显示不完整的问题

    当 Cesium 单个模型过长时,会遇到某些视角模型显示不完整的问题,如下图所示: 经过在官方论坛上询问,该问题由 viewer.scene.logarithmicDepthBuffer 开启造成,关 ...

  3. 我们为什么不用 Select * 吗?

    应用程序慢如牛,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们 ...

  4. npm 安装cnpm淘宝镜像时报错解决

    详细报错 D:\workspace\es61> npm install -g cnpm --registry=https://registry.npm.taobao.org npm WARN d ...

  5. Alpha冲刺(4/10)——2019.4.26

    作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Alpha冲刺(团队) 团队目标 切实可行的计算机协会维修预约平台 开发工具 Eclipse 团队信息 队员学号 ...

  6. 三、OpenStack创建域,项目,用户和角色,验证,创建客户端脚本

    一.Identity服务为每个OpenStack服务提供身份验证服务. 身份验证服务使用域,项目,用户和 角色的组合. 1.创建service 项目 # openstack project creat ...

  7. 《Spark大数据处理》---Spark原理

  8. kali渗透-基础篇

    渗透之meterpreter 模拟场景:小明是我室友,整天游戏人生,浑浑噩噩,前途迷茫,每次上课交作业都要看我的,于是我开启了apche服务器,给他下载作业(别问我为什么不用QQ传,因为要装逼!),他 ...

  9. Android Getting Started

    Building Your First App Creating an Android Project 介绍如何Android开发环境,具体是:怎么使用Eclipse工具 Create a Proje ...

  10. Centos7 编译安装 Nginx Mariadb Asp.net Core2 (实测 笔记 Centos 7.3 + Openssl 1.1.0h + Mariadb 10.3.7 + Nginx 1.14.0 + Asp.net. Core 2 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...