Hadoop Learn Notes

原因

  • 计算对于数据处理的性能的发展跟不上日益增加的数据量
  • 由此引出了工业界的用多台机器的并行处理能力去弥补单台机器的处理瓶颈
  • Hadoop是利用互联网的多台计算机使用MapReduce(改进的单指令多数据流技术)来进行并行处理计算大量数据

什么是大数据

  • 大数据——没法被符合服务等级协议的单台计算机处理或者存储的任何数据集。
  • 一个单节点处理大容量的数据光读取就要花费过长时间,假如分配到多个节点,就能够省略不少时间
  • 可是经过网络传输数据会更加慢

大数据技术背后的核心思想

  • 大数据处理方法的共同特征
    • 数据分布到了多个节点(网络IO <<本地IO)
    • 计算程序离数据更近(集群上的节点),不是相反
    • 数据处理尽可能在本地完成
    • 使用可顺序读取磁盘IO代替随机读取磁盘IO(数据交换速度<<数据寻道时间)
  • 目的都在于使得输入/输出IO并行化,提升数据处理性能

数据分发到多个节点上

  • 把数据分布到各个服务器节点的最终目的在于让大量的计算节点同时参与到数据的处理计算过程当中来,就算一台可以存的下的数据也会分发到多个节点
    • 每一个数据块会在多个节点上有多份拷贝,hadoop默认了有三块,增长了系统的容错性,一个结点故障,其余节点还备份有故障结点的数据
    • 为达到数据并行处理的目的,多个节点能够同时参与到数据处理过程
    • 也不会把全部数据统一放到一个文件服务器去每一个结点去读取所需部分,由于本地的数据读取速度高于网络IO速度啊

计算逻辑移动到数据附近

  • 大数据的一个观念就是,把数据分布到各个计算节点,程序也要移动到数据附近,那么,程序运行因此来的函数库也要移动到数据处理节点;结点一多,程序维护部署是一个宯的挑战,因此大数据系统能够集中式地部署程序代码,大数据系统后台会在计算任务启动以前把程序移动到各个数据处理结点

计算节点进行本地数据处理

  • 大数据模型是一种基于分布式和并行处理的编程模型。
  • 数据被分发到各个计算节点,程序运行依赖库也移动到了数据所在结点,计算节点就地计算处理数据的条件完备了。
  • 上面也只是个理想状态,大数据系统会把计算任务尽可能调度到离数据最近的节点。
  • 分布在各个计算几点的计算结果,最终可能会汇聚到一个计算节点,聚集的数据量相对于计算节点本地处理的原始数据来讲,就小了不少,减轻网络IO的耗时。

大数据的编程模型

大数据和事务性系统

可以处理多大的数据量

商用示例

hadoop概念

初识hadoop

hadoop系统管理

MapReduce开发基础

MapReduce开发进阶

Hadoop输入输出

测试Hadoop程序

Hadoop监控

使用Hadoop构建数据仓库

使用Pig进行数据处理

HCatalog和企业级Hadoop

使用Hadoop分析日志

使用HBASE构建实时系统

Hadoop与数据科学

Hadoop与云运算

构建YARN应用程序

相关文章
相关标签/搜索