0


零基础快速认识云三大数据

1.Hadoop 生态圈组件介绍

Hadoop 生态圈是由一系列相关的开源软件组件组成的,用于处理和分析大数据的工具集合。以下是一些常见的 Hadoop 生态圈组件介绍:

  1. Hadoop Distributed File System (HDFS): HDFS 是 Hadoop 的存储层,它提供了一个可靠的、分布式的文件系统,用于存储大规模数据集。
  2. MapReduce: MapReduce 是 Hadoop 的计算框架,用于处理大规模数据集的并行计算。它将计算任务分解为多个 Map 和 Reduce 阶段,并在集群中分布执行。
  3. YARN: YARN 是 Hadoop 的资源管理器,用于管理和调度集群中的计算资源。它允许多个计算框架在同一个集群上共存,并提供了对资源的动态分配和调整。
  4. Apache Hive: Hive 是一个基于 Hadoop 的数据仓库和查询语言,它提供了类似于 SQL 的查询语法,用于处理和分析存储在 Hadoop 中的数据。
  5. Apache Pig: Pig 是一个用于数据分析的高级脚本语言,它可以将复杂的数据处理流程转化为 MapReduce 任务,并在 Hadoop 上执行。
    1. Apache Spark: Spark 是一个快速、通用的大数据处理引擎,它提供了比 MapReduce 更高层次的API,支持内存计算和流式数据处理。
  6. Apache HBase: HBase 是一个分布式的、可扩展的 NoSQL 数据库,它可以在 Hadoop 上实时存储和访问大量结构化数据。
  7. Apache ZooKeeper: ZooKeeper 是一个分布式的协调服务,用于管理和协调集群中的各个组件,确保数据的一致性和可靠性。
  8. Apache Sqoop: Sqoop 是一个用于在 Hadoop 和关系型数据库之间进行数据传输的工具,它可以将关系型数据库中的数据导入到 Hadoop 中,或将 Hadoop 中的数据导出到关系型数据库中。
  9. Apache Flume: Flume 是一个分布式的、可靠的日志收集和聚合系统,它可以将日志数据从各种源头收集到 Hadoop 中进行处理和分析。

这只是 Hadoop 生态圈中的一部分组件,还有很多其他的工具和框架可供选择和使用。根据具体的需求和场景,可以选择适合的组件来构建自己的大数据处理平台。

2.重点介绍mapreduce概述

MapReduce是一种用于大规模数据处理的编程模型和算法。它最初由Google公司提出,并被用于处理大规模的Web搜索日志数据。后来,Apache Hadoop项目将MapReduce引入开源社区,并成为大数据处理的重要组成部分。

MapReduce的设计目标是能够在分布式环境下高效地处理大规模数据集。它的核心思想是将数据处理任务分解为两个阶段:Map阶段和Reduce阶段。

在Map阶段,数据被划分为一系列的键值对,然后分发给多个Map任务进行处理。每个Map任务会根据自己的输入数据,通过用户定义的函数(通常称为Map函数)将输入数据转换为一系列的中间键值对。

在Map阶段完成后,Reduce阶段开始。Reduce任务接收到来自多个Map任务的中间键值对,并根据用户定义的函数(通常称为Reduce函数)将相同键的值进行合并和计算,最终输出最终结果。

MapReduce的优势在于它的可伸缩性和容错性。由于数据被分成多个块进行处理,所以可以将处理任务分发给多台机器同时进行,从而大大提高了处理速度。而且,如果有一台或多台机器发生故障,MapReduce能够自动重试并从其他可用机器上恢复数据处理任务,保证了整个任务的可靠性。

作为大数据处理的重要工具,MapReduce已经被广泛应用于各种领域,包括数据挖掘、机器学习、日志分析等。它的成功启发了很多类似的分布式数据处理模型和框架的发展,例如Apache Spark和Apache Flink等。

3.重点介绍spark技术特点和概述

Spark Streaming:构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片段(几秒),以类似batch批量处理的方式来处理这小部分数据。Spark Streaming构建在Spark上,一方面是因为Spark的低延迟执行引擎(100ms+),虽然比不上专门的流式数据处理软件,也可以用于实时计算,另一方面相比基于Record的其它处理框架(如Storm),一部分窄依赖的RDD数据集可以从源数据重新计算达到容错处理目的。此外小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法。方便了一些需要历史数据和实时数据联合分析的特定应用场合。

Spark是一种快速、通用的大数据处理框架,它提供了高效的数据处理能力和丰富的数据处理功能。Spark的特点如下:

1、快速MapReduce 快 100 倍,基于磁盘快 10 倍。

2、易用:编写一个 spark 的应用程序可以使用 Java, Scala, Python, R,这就使得我们的开发非常地灵活。并且,对比MapReduce,spark 内置了 80 多个高级操作,这使得开发十分高效和简单。

3、运行范围广:spark 可以运行在 local、yarn、mesos、standalone、kubernetes 等多种平台之上。它可以访问诸如 HDFS, Cassandra, HBase, S3 等多种多样的数据源。

4、通用: spark 提供了 SparkSQL、 SparkStreaming、 GraphX、 MLlib 等一系列的分析工具。

4.对比mapreduce和spark的区别

MapReduce和Spark是两种用于并行计算的开源框架,它们都可以用于大规模数据处理和分析。它们之间的主要区别包括:

  1. 内存使用:MapReduce将中间数据写入磁盘,而Spark使用内存进行缓存和计算。这使得Spark在处理迭代算法和交互式查询等场景下更快。
  2. 执行速度:由于Spark使用内存进行计算,因此它通常比MapReduce更快。此外,Spark使用了一种称为“弹性分布式数据集(RDD)”的抽象,它可以在计算节点之间缓存和共享数据,从而提高了计算速度。
  3. 执行模型:MapReduce使用了严格的“映射-排序-归约”的执行模型,这意味着所有的计算都需要经过映射、排序和归约这三个阶段。而Spark则提供了更灵活的执行模型,可以支持更多种类的计算操作,例如过滤、聚合和排序等。
  4. 编程模型:MapReduce使用Java编程语言进行开发,而Spark支持多种编程语言,包括Java、Scala和Python等。这使得Spark更易于使用和学习。
  5. 生态系统:Spark拥有更丰富的生态系统,包括支持机器学习和图计算的库,以及与Hadoop和其他大数据技术的集成。这使得Spark在处理复杂的数据分析任务时更具优势。

综上所述,MapReduce适用于简单的批量数据处理任务,而Spark则更适用于复杂的数据分析任务和迭代算法。在大部分场景下,使用Spark可以获得更高的性能和灵活性。

5.结构化数据与非结构化数据是什么?

  • 结构化数据是按照固定格式和规范存储的数据,包括数字、文本、日期等,可以很容易地进行分类、检索和分析。常见的结构化数据包括数据库中的表格、电子表格中的数据等。
  • 非结构化数据是指没有固定格式和规范的数据,通常是以自由文本、多媒体形式存在的数据。这些数据无法直接用传统的数据库或表格进行存储和处理,需要通过自然语言处理、文本分析、图像识别等技术进行处理和分析。常见的非结构化数据包括电子邮件、社交媒体帖子、音频、视频等。

6.Linux简单操作命令实训练习

步骤一:

pwd 命令 格式:pwd 功能:显示当前所在目录(即工作目录)。 [root@localhost ~]# pwd /root

步骤二:

ls 命令 格式:ls [选项] [文件|目录] 功能:显示指定目录中的文件或子目录信息。当不指定文件或目录时,显示 当前工作目录中的文件或子目录信息。 命令常用选项如下: -a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来。 -l :长格式显示,包含文件和目录的详细信息。 -R :连同子目录内容一起列出来。

步骤三:

cd 命令 格式:cd 功能:用于切换当前用户所在的工作目录,其中路径可以是绝对路径也可以 是相对路径。

步骤四:

mkdir 命令 格式: mkdir [选项] 目录 功能:用于创建目录。创建目录前需保证当前用户对当前路径有修改的权 限。参数 -p 用于创建多级文件夹。

步骤五:

rm 命令 格式: rm [选项] 功能:用于删除文件或目录,常用选项-r -f,-r 表示删除目录,也可以用于 删除文件,-f 表示强制删除,不需要确认。删除文件前需保证当前用户对当 前路径有修改的权限。

步骤六:

cp 命令 格式: cp [选项] 功能:复制文件或目录。

步骤七:

mv 命令 格式:mv [选项] 功能:移动文件或对其改名。常用选项-i -f -b,-i 表示若存在同名文件,则向用户 询问是否覆盖;-f 直接覆盖已有文件,不进行任何提示;-b 当文件存在时,覆盖 前为其创建一个备份。

步骤八:

cat 命令 格式:cat [选项] [文件] 功能:查看文件内容。常用选项:-n 显示行号(空行也编号)。

步骤九:

tar 命令 格式:tar [选项] [档案名] [文件或目录] 功能:为文件和目录创建档案。利用 tar 命令,可以把一大堆的文件和目录 全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便 于网络传输是非常有用的。该命令还可以反过来,将档案文件中的文件和目 录释放出来。 常用选项: -c 建立新的备份文件。 -C 切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于 仅压缩特定目录里的内容或解压缩到特定目录。 -x 从归档文件中提取文件。 -z 通过 gzip 指令压缩/解压缩文件,文件名为*.tar.gz。 -f 指定备份文件。 -v 显示命令执行过程。

步骤十:

useradd 命令 格式:useradd 用户名 10 功能:创建新用户,该命令只能由 root 用户使用。

步骤十一:

passwd 命令 格式:passwd 用户名 功能:设置或修改指定用户的口令。

步骤十二:

chown 命令 格式:chown [选项] 功能:将文件或目录的拥有者改为指定的用户或组,用户可以是用户名或者 用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件 列表支持通配符。选项“-R”表示对目前目录下的所有文件与子目录进行相同 的拥有者变更。

步骤十三:

chmod 命令 格式:chmod [-R] 模式 文件或目录 功能:修改文件或目录的访问权限。选项“-R”表示递归设置指定目录下的所 有文件和目录的权限。 模式为文件或目录的权限表示,有三种表示方法。 (1) 数字表示 用 3 个数字表示文件或目录的权限,第 1 个数字表示所有者的权限,第 2个 数字表示与所有者同组用户的权限,第 3 个数字表示其他用户的权限。每类 用户都有 3 类权限:读、写、执行,对应的数字分别是 4、2、1。一个用户 的权限数字表示为三类权限的数字之和,如一个用户对 A 文件拥有读写权 限,则这个用户的权限数字为 6(4+2=6)。

字符赋值 用字符 u 表示所有者,用字符 g 表示与所有者同组用户,用字符 o 表示其他 用户。用字符 r、w、x 分别表示读、写、执行权限。用等号“=”来给用户赋 权限。

字符加减权限 用字符 u 表示所有者,用字符 g 表示与所有者同组用户,用字符 o 表示其他 用户。用字符 r、w、x 分别表示读、写、执行权限。用加号“+”来给用户加 权限,加号“-”来给用户减权限。

步骤十四:

su 命令 格式:su [-] 用户名 功能:将当前操作员的身份切换到指定用户。如果使用选项“-”,则用户切换 后使用新用户的环境变量,否则环境变量不变。


本文转载自: https://blog.csdn.net/udhdhw/article/details/136537420
版权归原作者 yyds10011 所有, 如有侵权,请联系我们删除。

“零基础快速认识云三大数据”的评论:

还没有评论