zoukankan      html  css  js  c++  java
  • Hadoop学习笔记(1) 初识Hadoop

    1. Hadoop提供了一个可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心

    2. MapReduce是一个批量查询处理器,并且它能够在合理的时间范围内处理针对整个数据集的即时查询

    3. MapReduce适合一次写入、多次读取数据的应用,而关系型数据库更适合持续更新的数据集。二者的比较如表所述:

                        表1 关系型数据库和MapReduce的比较

      传统关系型数据库 MapReduce
    数据大小 GB PB
    访问 交互式和批处理 批处理
    更新 多次读写 一次写入、多次读取
    结构 静态模式 动态模式
    完整性
    横向扩展 非线性 线性

    4. MapReduce对半结构化和非结构化数据非常有效(如文本或图像),因为MapReduce输入的键和值并不是数据固有的属性,而是由分析数据的人员来选择的。而关系型数据往往是规范的,以保持数据的完整性且不含冗余。

      MapReduce是一种线性可伸缩的编程模型。程序员编写两个函数:map和reduce,在每个函数定义一个键/值对集合到另一个键/值对集合的映射。这些函数无需关注数据集及其所用集群的大小,因此可以原封不动地应用到小规模或大规模数据集。

      数据本地化特性是MapReduce的核心特征,MapReduce的设计目标是服务于那些只需数分钟或数小时即可完成的作业,并且运行于内部通过高速网络连接的单一数据中心内,并且该数据中心内的计算机需要由可靠的、定制的硬件构成。

    5. Apache Hadoop的生态圈

      1) Common: 一组分布式文件系统和通用I/O的组件与接口

      2) Avro:一种支持高效、跨语言的RPC以及永久存储数据的序列化系统

      3) MapReduce:分布式数据处理模型和执行环境,运行于大型商用集群

      4) HDFS:分布式文件系统,运行于大型商用集群

      5) Pig:一种数据流语言和运行环境,用以检索非常大的数据集。

      6) Hive:分布式、按列存储数据库,管理HDFS中存储的数据,并提供基于SQL的查询语言用以查询数据。

      7) HBase:分布式、按列存储的数据库,使用HDFS作为底层存储,同时支持MapReduce的批量式和点查询。

      8) ZooKeeper:分布式、可用性高的协调服务。

      9) Sqoop:在数据库和HDFS之间高效传输数据的工具。

  • 相关阅读:
    【Network】OVS、VXLAN/GRE、OVN等 实现 Docker/Kubernetes 网络的多租户隔离
    【openStack】Libcloud 如何支持 keystone V3?
    【Network】修改docker启动默认网桥docker0为自定义网桥
    【Network】TCPDUMP 详解
    【Network】OVS基础知识
    【Docker】Docker主机为什么ip nets 查不到网络空间
    sql-in/not in和exists/not exists的区别
    sql-exists和not exists
    oracle-分页查询方案
    mysql-函数FOUND_ROWS()
  • 原文地址:https://www.cnblogs.com/mengrennwpu/p/4892836.html
Copyright © 2011-2022 走看看