2021/8/

Hive

数据仓库工具
将结构化数据映射为一张数据库表,常用MySQL存储
提供类sql语句查询功能,在驱动中可进行类sql语句向mapreduce作业的翻译,优化和执行
学习成本低,适合进行数据的统计分析
实际数据存储在HDFS上,mysql中存储一张映射表用于实现查询功能
mapreduce的主要缺点有底层依赖java编程,功能不灵活,操作不清晰,代码多维护难,排序连接操作极其繁琐低效,专注于编程而非功能
Hiveql语句支持大量函数,可通过.hql脚本编程运行

5. HBase

基于HDFS存储的分布式面向列的开源数据库
随机存取, 支持低延迟单条记录的访问而非HDFS的批处理模式
适合于非结构化数据存储, 基于列而非基于行
一写多读,自动扩展,自动分割过量数据
表是行的集合,行是列族的集合,列族是列的集合,列是键值对的集合
由zookeeper负责协调分布式系统成员间的状态信息共享
主节点由HMaster管理,负责region分配和数据库创建删除操作,监听zookeeper对备份节点的状态通知
从节点由Region Server管理, 负责读写, 可管理1000个region
定期向zookeeper发送心跳信息判断节点是否存活
客户端首次通过zookeeper获取meta table地址获取region server地址获取目标row key所在region的region server地址,缓存操作信息,建立通讯,实现读写
客户端与目标region server建立通讯后发送put请求,顺序写入预写式日志WAL,存入memstore写缓存,写入Hfiles文件,通过block cache读缓存实现读取

6. ZooKeeper

分布式开源的应用程序协调服务
封装复杂易出错的关键服务,提供简单易用的接口和高效稳定的系统给用户
客户端与服务器建立会话,按先进先出顺序执行请求
选举机制,自动选举出的leader具有最高执行id权限,避免死锁出现
提供明明服务,配置管理,集群管理,锁定或同步服务,数据注册功能
支持序列化,默认znodes节点为永久存活

7. Sqoop

用于hadoop与mysql间的数据传递的ETL工具
实现关系型数据库中的数据与hdfs中的数据交互

posted @ 2021-08-21 20:42  小强哥in  阅读(164)  评论(0)    收藏  举报