云上大数据初学

一.大数据的特征

  1. 海量性(Volume):大数据量级非常庞大,传统的数据处理工具无法有效处理这么大规模的数据。

  2. 多样性(Variety):大数据来自多种来源,包括结构化数据(如数据库中的数据)、半结构化数据(如 XML、JSON 格式的数据)和非结构化数据(如文本、图像、音频、视频等)。

  3. 高速性(Velocity):大数据以快速的速度生成和积累,需要实时或近实时处理以获取有用信息。

  4. 真实性(Veracity):大数据可能包含噪声、错误或不准确的信息,因此在处理和分析大数据时需要考虑数据的准确性和可信度。

  5. 价值密度(Value):大数据中包含着巨大的信息价值,通过合理的分析和挖掘可以带来更多商业价值和洞见。

  6. 复杂性(Complexity):大数据具有较高的复杂性,包括数据的来源多样、数据关联复杂、处理技术复杂等特点,需要使用先进的技术和方法来处理。

综上所述,大数据具有海量、多样、高速、真实、价值密度高和复杂性等特征。

二.结构化数据 非结构并且举例

结构化数据是指可以按照固定模式进行组织和存储的数据,通常以表格形式呈现,并且具有明确定义的数据模式。常见的结构化数据包括关系型数据库中的表格数据,如员工信息、订单数据等。这类数据易于存储、管理和分析。

非结构化数据则是指没有固定格式或组织形式的数据,不适合存储在传统的关系型数据库中。这种数据形式多种多样,包括文本文件、图像、音频、视频等。非结构化数据需要特殊的技术和工具来进行处理和分析。

举例来说:

  • 结构化数据:一个关系型数据库中的客户订单表格,包含订单号、客户姓名、产品名称、数量和价格等字段的数据,是一种典型的结构化数据。

  • 非结构化数据:社交媒体上的用户评论、推文和帖子内容,这些数据通常包含文本、图片、视频等多种形式,难以用传统的表格方式进行组织和存储,因此属于非结构化数据。

三.Hadoop生态圈

Hadoop 生态圈是由一系列与 Apache Hadoop 相关的开源项目和工具组成的生态系统。这些项目提供了各种功能,包括数据存储、数据处理、数据分析等,以帮助用户更有效地管理和分析大数据。

一些主要的组件和项目包括:

  1. Hadoop Distributed File System (HDFS):Hadoop 分布式文件系统,用于存储大数据文件,并实现数据的高可靠性和高容量存储。

  2. MapReduce:Hadoop 中用于并行处理大规模数据集的编程模型和框架,可以将任务分解为 Map 和 Reduce 阶段进行处理。

  3. YARN:资源管理器,负责集群资源的调度和管理,允许多个数据处理应用程序共享集群资源。

  4. Apache Hive:基于 Hadoop 的数据仓库工具,提供类似于 SQL 的查询语言 HiveQL,用于在 Hadoop 上进行数据分析和查询。

  5. Apache Pig:用于并行计算的数据流语言和执行框架,适合用于大规模数据处理和分析。

  6. Apache Spark:快速通用的集群计算系统,提供了比 MapReduce 更快的数据处理能力,支持内存计算和多种数据处理模式。

  7. Apache HBase:分布式 NoSQL 数据库,提供实时读写访问大规模表数据的能力。

  8. Apache Kafka:分布式流处理平台,用于处理实时数据流,支持高吞吐量的数据传输和处理。

  9. Apache Storm:实时数据处理框架,支持高可靠性的流式数据处理应用程序。

  10. Apache Sqoop:用于在 Hadoop 与关系型数据库之间进行数据传输的工具。

这些项目共同构成了丰富多样的 Hadoop 生态圈,为用户提供了全面的大数据处理和分析解决方案。

四.Hadoop hdfs架构

Hadoop 的分布式文件系统(Hadoop Distributed File System,HDFS)是 Hadoop 生态系统的核心组件之一,用于存储大规模数据并提供高容错性和高可靠性。以下是 HDFS 的架构概述:

  1. NameNode

    • NameNode 是 HDFS 的主节点,负责管理文件系统的命名空间、控制文件系统的访问和维护文件元数据信息。
    • NameNode 会持久化存储文件系统的元数据信息,包括文件和目录的命名空间、权限、块列表等。
    • NameNode 不存储实际的数据块内容,只存储数据块的元数据信息。
  2. DataNode

    • DataNode 是 HDFS 的从节点,负责存储实际的数据块,并响应来自 NameNode 和客户端的指令。
    • DataNode 负责执行数据块的创建、删除和复制等操作,并定期向 NameNode 发送心跳信号汇报自身状态。
    • DataNode 存储数据块的副本,以提供容错性和高可靠性。
  3. Block

    • HDFS 将每个文件分割为固定大小的数据块(默认大小为128 MB),并将这些数据块分布存储在不同的 DataNode 上。
    • 数据块的复制策略由 HDFS 的副本管理器(Replication Manager)负责管理,确保数据的可靠性和容错性。
  4. Client

    • 客户端通过 HDFS 提供的 Java API 或命令行工具与 HDFS 进行交互,可以读取、写入和删除文件等操作。
    • 客户端在与 NameNode 进行交互时获取文件元数据信息,然后直接与 DataNode 通信进行数据的读写操作。

总体来说,HDFS 的架构采用主从架构,通过 NameNode 管理文件系统的命名空间和元数据信息,而 DataNode 负责存储实际的数据块内容。这种设计使得 HDFS 具有高扩展性、高容错性和高可靠性,适合用于存储和管理大规模数

五.Hdfs读的流程

Hadoop 生态圈是由一系列与 Apache Hadoop 相关的开源项目和工具组成的生态系统。这些项目提供了各种功能,包括数据存储、数据处理、数据分析等,以帮助用户更有效地管理和分析大数据。

一些主要的组件和项目包括:

  1. Hadoop Distributed File System (HDFS):Hadoop 分布式文件系统,用于存储大数据文件,并实现数据的高可靠性和高容量存储。

  2. MapReduce:Hadoop 中用于并行处理大规模数据集的编程模型和框架,可以将任务分解为 Map 和 Reduce 阶段进行处理。

  3. YARN:资源管理器,负责集群资源的调度和管理,允许多个数据处理应用程序共享集群资源。

  4. Apache Hive:基于 Hadoop 的数据仓库工具,提供类似于 SQL 的查询语言 HiveQL,用于在 Hadoop 上进行数据分析和查询。

  5. Apache Pig:用于并行计算的数据流语言和执行框架,适合用于大规模数据处理和分析。

  6. Apache Spark:快速通用的集群计算系统,提供了比 MapReduce 更快的数据处理能力,支持内存计算和多种数据处理模式。

  7. Apache HBase:分布式 NoSQL 数据库,提供实时读写访问大规模表数据的能力。

  8. Apache Kafka:分布式流处理平台,用于处理实时数据流,支持高吞吐量的数据传输和处理。

  9. Apache Storm:实时数据处理框架,支持高可靠性的流式数据处理应用程序。

  10. Apache Sqoop:用于在 Hadoop 与关系型数据库之间进行数据传输的工具。

这些项目共同构成了丰富多样的 Hadoop 生态圈,为用户提供了全面的大数据处理和分析解决方案。

2024/3/7 22:57:05

Hadoop hdfs架构

2024/3/7 22:57:20

Hadoop 的分布式文件系统(Hadoop Distributed File System,HDFS)是 Hadoop 生态系统的核心组件之一,用于存储大规模数据并提供高容错性和高可靠性。以下是 HDFS 的架构概述:

  1. NameNode

    • NameNode 是 HDFS 的主节点,负责管理文件系统的命名空间、控制文件系统的访问和维护文件元数据信息。
    • NameNode 会持久化存储文件系统的元数据信息,包括文件和目录的命名空间、权限、块列表等。
    • NameNode 不存储实际的数据块内容,只存储数据块的元数据信息。
  2. DataNode

    • DataNode 是 HDFS 的从节点,负责存储实际的数据块,并响应来自 NameNode 和客户端的指令。
    • DataNode 负责执行数据块的创建、删除和复制等操作,并定期向 NameNode 发送心跳信号汇报自身状态。
    • DataNode 存储数据块的副本,以提供容错性和高可靠性。
  3. Block

    • HDFS 将每个文件分割为固定大小的数据块(默认大小为128 MB),并将这些数据块分布存储在不同的 DataNode 上。
    • 数据块的复制策略由 HDFS 的副本管理器(Replication Manager)负责管理,确保数据的可靠性和容错性。
  4. Client

    • 客户端通过 HDFS 提供的 Java API 或命令行工具与 HDFS 进行交互,可以读取、写入和删除文件等操作。
    • 客户端在与 NameNode 进行交互时获取文件元数据信息,然后直接与 DataNode 通信进行数据的读写操作。

总体来说,HDFS 的架构采用主从架构,通过 NameNode 管理文件系统的命名空间和元数据信息,而 DataNode 负责存储实际的数据块内容。这种设计使得 HDFS 具有高扩展性、高容错性和高可靠性,适合用于存储和管理大规模数据。

2024/3/7 22:58:37

Hdfs读的流程

2024/3/7 22:58:50

HDFS 的读取流程涉及客户端、NameNode 和 DataNode 之间的协作。以下是 HDFS 读取数据的基本流程:

  1. 客户端请求文件读取

    • 客户端向 NameNode 发送文件读取请求,请求包含要读取的文件路径和名称。
  2. NameNode 响应

    • NameNode 接收到客户端的读取请求后,会检查文件元数据信息,包括文件的块信息和副本位置等。
    • NameNode 返回给客户端所请求文件的块信息(Block Locations),包括存储每个数据块副本的 DataNode 地址。
  3. 客户端获取数据块位置

    • 客户端收到 NameNode 返回的块信息后,可以知道每个数据块的副本所在的 DataNode 地址。
    • 客户端根据块信息连接到最近的 DataNode 开始读取数据。
  4. 客户端与 DataNode 通信

    • 客户端通过网络连接到存有所需数据块副本的 DataNode。
    • 客户端向 DataNode 发送读取请求,请求指定要读取的数据块和偏移量等信息。
  5. DataNode 响应

    • DataNode 接收到客户端的读取请求后,会从本地文件系统中读取数据块的内容,并返回给客户端。
  6. 数据传输

    • DataNode 将数据块的内容传输给客户端,客户端接收数据并进行处理或保存。
  7. 数据块复制(可选):

    • 如果需要多个副本来提供容错性和高可靠性,HDFS 可能会从其他 DataNode 复制数据块的副本以确保数据的可靠性。

在整个读取过程中,客户端与 NameNode 交互获取文件的元数据信息和数据块位置,然后直接与存储数据块的 DataNode 进行数据读取操作。这种设计使得 HDFS 具有高效的数据读取能力,并能够支持大规模数据的并发读取操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值