分类标签归档:大数据

Hive 产生的背景


直接使用MapReduce 处理大数据,将面临以下的问题:

  • MapReduce 开发难度大,学习成本高
  • Hdfs 文件没有字段名,没有数据类型,不方便进行数据的有效管理
  • 使用MapReduce 框架开发,项目周期长,成本高

Hive 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表(类似于RDBMS中的表),并提供类SQL查询功能,HIVE是Facebook开源,用于解决海量结构化日志的数据统计。

  1. hive 的本质是:将SQL转化为MapReduce的任务进行运算。
  2. 底层有HDFS来提供数据存储
  3. Hive 可以理解成为将SQL转化为MapReduce 任务的工具。

Read more

Hadoop 系列


Hadoop 构成 HDFS + MapReduce + Yarn +Common

HDFS

Master/Slave

存入过程:
    对于大数据进行拆分,切割得到数据库,可以得到多个数据块。
获取文件过程:
    向NameNode请求获取到之前存入文件的块以及块所在的DataNode的信息,分别下载并最终合并,就得到之前的文件。
Master 节点:
    管理和维护元数据,元数据记录了文件的块列表以及块所在的DataNode节点信息。
slave:
    负责存储文件数据块
MN,DN:
    既是角色名称,也是进程名称,也代指电脑节点
2NN:
    辅助NameNod

Read more

hash 表和布隆过滤器


hash 的应用

散列表

根据key计算key在表中的位置的数据结构;是key和其所在存储地址的映射关系; 注意:散列表的节点中 kv是存储在一起的

struct node {
    void *key;
    void *val;
    struct node *next;
}

与平衡二叉树相比

通过比较,结构有序,提升搜索效率
key与节点存储位置的映射关系

组成

hash函数
    映射函数Hash(key)=addr,hash 函数可能会把两个或两个以上的不同key映射到同一地址,这种情况称之为冲突(或者hash碰撞);
数组

选择函数

  1. 计算速度快
  2. 强随机分布(等

Read more