1 应用分类
数据库
Avro:Apache Avro™ 1.11.0 Documentation
Apache Avro™是一个数据序列化系统。
Avro提供:
- 丰富的数据结构。
- 一种紧凑、快速的二进制数据格式。
- 一个容器文件,用来存储持久数据。
- 远程过程调用(RPC)。
- 与动态语言的简单集成。代码生成不需要读取或写入数据文件,也不需要使用或实现RPC协议。代码生成是一种可选的优化,只值得在静态类型语言中实现。
Hbase:分布式非关系数据库
Cassandra:分布式数据管理系统
Querying
Pig:在HDFS分析大数据集的平台
Hive:Query、管理数据集
Impala:低延时的sql querying
Spark:处理引擎,支持流式传输、SQL,机器学习、图处理
机器学习
Giragh:迭代图处理
Facebook在开发图谱搜索(Graph Search)服务时,选择采用了Giraph,并开始了对此项开源技术的研究。Facebook将Giraph规模化并作为其Open Graph工具的核心,用来处理数万亿次用户及其行为之间的连接。
Mahout:机器学习框架
Spark
2 Pig
待更新…
3 Hive
- 数仓软件:for Query和管理数据
- HQL:类似SQL语言
- 运行环境:MR\Tez\Spark
- data:From HDFS\HBase
- 领域:数据挖掘、数据分析、机器学习、Ad-Hoc 分析(即席分析)
即席分析(Ad Hoc)是用户根据自己的需求选择查询条件(自定义查询条件),并让用户自行设计出报告。
为什么需要即席分析(Ad Hoc)?
原因如下:
- 用户不懂技术,不可能让用户直接访问数据源,选择要使用的数据库。即使连接上了数据库,用户也不可能知道每个表是干什么的,表里面的字段代表业务含义。
- 非常规报告的需求比如转化率突然大跌或销量突然大升,用户需要结合相应的指标维度选择查询条件,寻找原因并设计报告。
为了解决这些问题,开发人员先建立报表模型,定义好数据源连接(数据库服务器,用户名和密码,数据库),选取数据库中的表,建立表之间的关联,并为每个字段都提供可读性的名称,把用户看不懂的数据库结构转换成用户能看懂的业务模型。这样用户就可以根据模型设计相应报表。
实战:
- 导入数据
使用beeline(也可以使用Hive CLI、Hcatalog、WebHcat)
2. 创建表并导入、查询数据
4 HBase
特征
-
大规模数据存储
-
非关系型分布式数据库
-
在HDFS层上运行
-
压缩数据
-
内存内运行 :
HBase BlockCache机制讲解&源码分析_进一步有一步的欢喜-CSDN博客_blockcache
- MenStore:主要用于写缓存。
- BlockCache(块缓存)主要用于读缓存
-
高可用性:创建只读副本
-
自动分区
-
可复制、安全、类sql access(hive、spark、impala)
栗子
-
启动HBase shell
-
创建表
注意:命令大小写敏感!
-
导入数据
按行导入
-
扫描表
扫描部分表
除了HBase Shell,也可以使用HBase API, HBase External API, HBase, MapReduce。