Hive与ETL基础—学习笔记[3]
来源:互联网 发布:fdd lte网络 编辑:程序博客网 时间:2024/06/07 05:58
Hive与ETL基础
1、日志收集
2、Hive数据类型
3、Hive表与分区
4、Hive基本操作
5、Hive常用函数
6、HDFS文件格式
7、Hive表压缩存储
8、ORCFile
9、Hive SerDe
1、Flume:日志收集
常见的收集日志的工具有两种:(1)最早收集日志的是Facebook开发的 Scribe。开源。(2)Flume更加完善如上图所示。HDFS批处理。Kafka是实时性处理,消息队列。Flume_bypass主要是帮我们做测试,查看日志是否打上。
2、Hive数据类型
(1)当日志收集到HDFS上,实际上是使用Hive来做相关分析。对海量原始数据的操作的是ETL。那么Hive可用于ETL。
(2)Hive本质上是基于SQL的查询引擎。
(3)对于列的数据有原始数据类型:Tinyint、smallint、bigint、boolean、float、double、string、timestamp、、、
(4)数据库和数据仓库查询中数据类型:Struct/map/array
(5)分隔符:\n,行分隔符;\A,列分隔符;\B,array、Struct分隔符;\C,Map的key和value分隔符。
3、Hive-table、Partition、Buckets和External table
(1)Hive中的table与数据库中table一样,每一个table在Hive中都对应一个目录来存储数据。
(2)Hive中的partition与Partition列的密集索引。表中的一个Partition对应于表下的一个目录。
(3)Hive中的Buckets与对指定列计算hash,根据hash值切分数据,目的是为了并行,每一个Bucket对一个文件。
(4)External table指想已存在HDFS中存在的数据,创建Partition。
(5)External table权限不够使用数据。
4、Hive-table 创建
与传统的sql创建表格式差不多,但要指定格式,比如行、列分隔符等。
5、Hive record的存储(JSON)
与传统的sql创建表格式差不多,但要指定格式,比如行、列分隔符等。
6、Hive 外部表
只删除元数据。
7、分区、导入数据
Partition。
8、Hive DML(数据操纵语言)
(1)Select … from
(2)where
(3)group by
(4)join
(5)order by & sort by
(6)distribute by with sort by
(7)cluster by
(8)cast
(9)union all
(10)sample data:采样,对也很了解。
9、HDFS文件格式
(1)TextFile(XML/JSON):解析开销大,不具备类型和模式;
(2)SequenceFile:
- Hive与ETL基础—学习笔记[3]
- ETL学习笔记之二:ETL与BI
- ETL学习笔记之二:ETL与BI
- ETL学习笔记之二:ETL与BI
- ETL学习笔记之二:ETL与BI
- 『HIVE』hive基础学习笔记
- ETL 学习笔记下篇
- ETL学习笔记之一:ETL是什么?
- ETL学习笔记之一:ETL是什么?
- ETL学习笔记之一:ETL是什么? 收藏
- ETL学习笔记之一:ETL是什么?
- 数据库:ETL学习笔记之一:ETL是什么?
- ETL学习笔记之一:ETL是什么?
- 数据集成学习笔记 --- ETL 与 ELT 辨析
- ETL学习笔记之Kettle下载与部署
- ETL学习笔记(一)
- ETL学习笔记之概念
- ETL学习笔记之实现
- js中addEventListener与attachEvent兼容
- 任意进制转化为十进制
- StoryBoard的多模块化管理
- Adding Animations之Crossfading Two Views
- #关于RACCommand的思考
- Hive与ETL基础—学习笔记[3]
- 正则表达式-切割
- MySQL中的共享锁与排他锁
- 实战c++中的vector系列--正确释放vector的内存(clear(), swap(), shrink_to_fit())
- hdu1573 X问题 一元模线性方程组
- #174 Remove Nth Node From End of List
- mac常用Terminal命令與快捷鍵參考
- react native 动态添加/渲染组件
- 堆和栈(C#)