提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
用最精简的文字教会你!喂饱你的格局!
文章目录
一、hadoop介绍
1.hadoop定义
Hadoop是一个开源的大数据处理框架,由Java语言编写,专门用于解决海量数据的存储和计算问题
2.hadoop的优缺点
优点:
- 高可靠:具有按位存储和处理数据能力的高可靠性
- 高扩展:通过可用的计算机集群分配数据,完成存储和计算任务具有高扩展性
缺点:
- 不适用于低延迟数据访问
- 不能高效存储大量小文件
3.hadoop生态
①HDFS-分布式文件系统:重要组件之一,用来做分布式存储,具有高容错,高吞吐等特性,是常用的分布式文件存储
②MapReduce-分布式计算框架:是一种计算模型,用于大规模数据集的并行运算
③Yarn-资源管理:Hadoop中的重要组件之一,负责海量数据运算时的资源调度
④Flume-日志收集工具: Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,用来做数据采集。
⑤Hive-数据仓库:用来进行数据提取、转换和加载
⑥pig-数据流系统:离线分析数据
⑦Hbase-分布式列存数据库:HBase是建立在Hadoop文件系统之上的面向列的分布式数据库
⑧Sqoop-数据同步工具:负责数据在 HIVE—HDFS—DB之间进行导入导出
⑨Spark-内存计算:提供大量的库:Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX (只是计算,不作存储)
⑩Zookeeper-分布式协作服务:核心功能包括配置维护、域名服务、分布式同步和组服务
二、mapreduce概述
1.mapreduce定义
MapReduce 是一个分布式运算程序的编程框架,是面向大数据并行处理的计算模型、框架和平台,用于处理大规模数据集的编程模型和计算框架
2.mapreduce优缺点
优点:
-
可伸缩性:可以处理大规模的数据集,通过将数据分割为多个小块并进行并行处理,可以有效地利用集群的计算资源
-
容错性:具有高度的容错性。当某个节点发生故障时,可以自动重新分配给其他可用的节点进行处理,从而保证作业的完成。
-
灵活性:允许开发人员使用自定义的Mapper和Reducer来处理各种类型的数据和计算任务
缺点:
- 延迟高:对于一些需要实时计算和交互式查询的场景,MapReduce的延迟较高,不太适合
- 复杂性:需要熟悉MapReduce的编程模型和框架,并理解分布式计算的概念和原理
3.mapreduce核心思想
①MapReduce是一个基于集群的高性能并行计算平台。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群
②MapReduce是一个并行计算与运行软件框架。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,大大减少了软件开发人员的负担
③MapReduce是一个并行程序设计模型与方法。用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理
三、spark概述
1.spark定义
spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序
2.spark优缺点
优点:
- 速度快:基于内存的执行速度可比Hadoop MapReduce快上百倍
- 易使用:Spark支持使用Scala、Java、Python和R语言进行编程,简洁的API设计有助于用户轻松构建并行程序
- 通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件,这些组件可以无缝整合在同一个应用中,足以应对复杂的设计
缺点:
-
资源消耗:Spark在运行任务时需要大量的内存资源,这可能会导致资源的争抢和不足
-
学习曲线:由于Spark的功能非常丰富,学习曲线可能会比较陡峭,需要投入大量的时间和精力去学习和掌握。
-
稳定性:在处理大规模数据时,Spark可能会遇到一些稳定性问题,例如数据倾斜、负载不均衡等
3.Spark有完善的生态圈
Spark Core:实现了 Spark 的基本功能,包含 RDD、任务调度、内存管理、错误恢复、与存储系统交互等模块
Spark SQL:Spark 用来操作结构化数据的程序包。通过 Spark SQL,我们可以使用 SQL 操作数据
Spark Streaming:Spark 提供的对实时数据进行流式计算的组件。提供了用来操作数据流的 API
Spark MLlib:提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能
GraphX(图计算):Spark 中用于图计算的 API,性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法
四、mapreduce与spark区别
1.执行速度
Spark 的内存计算特性和基于DAG有向无环图的执行模型,通常比 MapReduce 更快。Spark可以在内存中保留数据和计算结果,并通过多个任务合并为更少的阶段来减少磁盘的读写开销
2.内存计算
spark 将数据存储在内存中进行计算;MapReduce 将数据存储在磁盘上。由于内存访问速度更快,spark 在处理迭代计算和交互式查询等工作负载时通常比 MapReduce 更高效
3.容错性
Spark具有自动容错和数据恢复机制。能够在节点故障时重新计算丢失的数据。MapReduce 需要在每个任务的开始和结束时将数据写入磁盘,因此在故障情况下需要重新启动整个计算
五、结构化数据与非结构化数据概述
1.结构化数据
结构化数据是指按照一定的规则和格式进行组织和存储的数据。常见的结构化数据包括关系型数据库中的表格数据、电子表格中的数据、XML文件中的数据等
2.非结构化数据
非结构化数据是指没有明确的结构和格式的数据。常见的非结构化数据包括文本文档、电子邮件、社交媒体帖子、音频和视频文件、图像、日志文件等
需要注意的是,结构化数据和非结构化数据往往是相互补充的,综合使用可以获得更全面的信息和洞察。在实际应用中,常常需要将结构化数据和非结构化数据进行整合,以支持更复杂的分析和决策需求
六、linux简单命令操作
1.文件与目录操作
1.1.pwd 命令
格式:pwd
功能:显示当前所在目录(即工作目录)
1.2.ls 命令
格式:ls [选项] [文件|目录]
功能:显示指定目录中的文件或子目录信息。当不指定文件或目录时,显示当前工作目录中的文件或子目录信息
1.3.cd 命令
格式:cd <路径>
功能:用于切换当前用户所在的工作目录,其中路径可以是绝对路径也可以是相对路径
1.4.mkdir 命令
格式: mkdir [选项] 目录
功能:用于创建目录。创建目录前需保证当前用户对当前路径有修改的权
限。参数 -p 用于创建多级文件夹
1.5.rm 命令
格式: rm [选项] <文件>
功能:用于删除文件或目录,常用选项-r -f
1.6.cp 命令
格式: cp [选项] <文件> <目标文件>
功能:复制文件或目录
1.7.mv 命令
格式:mv [选项] <文件> <目标文件>
功能:移动文件或对其改名
1.8.cat 命令
格式:cat [选项] [文件]
功能:查看文件内容
在这里插入图片描述
1.9.tar 命令
格式:tar [选项] [档案名] [文件或目录]
功能:为文件和目录创建档案
2、实验任务二:用户操作
2.1.useradd 命令
格式:useradd 用户名
功能:创建新用户,该命令只能由 root 用户使用
2.2.passwd 命令
格式:passwd 用户名
功能:设置或修改指定用户的口令
2.3.chown 命令
格式:chown [选项]
功能:将文件或目录的拥有者改为指定的用户或组
2.4.chmod 命令
格式:chmod [-R] 模式 文件或目录
功能:修改文件或目录的访问权限
2.5.su 命令
格式:su [-] 用户名
功能:将当前操作员的身份切换到指定用户