山有木兮木有枝,烟火人间,一起做个Spark分子可好?

目录

1.hadoop简介:

1.1 Hadoop 是神马??

1.2hadoop有什么神秘特性的优点?

1.3揭秘hadoop生态圈组件!

1.3.1 HDFS 架构概述

1.3.2 YARN 架构概述

1.3.3MapReduce 架构概述(重点是窝啦)

2.spark简介:

2.1spark是神马?

2.2spark技术特点及概述

3、Spark VS MapReduce,谁是最后的赢家?

4、结构化数据与非结构化数据是啥子嘛??

4.1结构化数据:

4.2非结构化数据:

5、全体目光看向这里,Linux简单操作命令都会了吗?

5.1文件与目录操作

5.1.1pwd 命令

5.1.2ls 命令

5.1.3cd 命令

5.1.4mkdir 命令

5.1.6cp 命令

5.1.7mv 命令

5.1.8cat 命令

5.1.9tar 命令

5.2用户操作

5.2.1useradd 命令

5.2.2passwd 命令

5.2.3chown 命令

5.2.4chmod 命令

5.2.5su 命令


注:此文章为本人学业作业,无价值,不喜轻点喷,感谢~

1.hadoop简介:

1.1 Hadoop 是神马??

(1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构
(2)主要解决海量数据的存储和海量数据的分析计算问题
(3)广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈

总结:hadoop就是利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理。

1.2hadoop有什么神秘特性的优点?

  1. 扩容能力(Scalable):Hadoop 是在可用的计算机集群间分配数据并完成计算任务的,这些集群可用方便的扩展到数以千计的节点中。
  2. 成本低(Economical):Hadoop 通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。
  3. 高效率(Efficient):通过并发数据,Hadoop 可以在节点之间动态并行的移动数据,使得速度非常快。
  4. 可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以 Hadoop 的按位存储和处理数据的能力值得人们信赖。

1.3揭秘hadoop生态圈组件!

1)hdfs(分布式文件系统)主要负责文件读写

1.3.1 HDFS 架构概述

Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。

  1. NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
  2. DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
  3. Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份。

2)yarn(运算资源调度系统)主要负责为MapReduce程序分配运算硬件资源

1.3.2 YARN 架构概述

      Yet Another Resource Negotiator 简称YARN ,另一种资源协调者,是Hadoop 的资源管理器。

2759687eebf64602a1d79e0b9b9f0b9c.png

ResourceManager(RM):整个集群资源(内存、CPU等)的管理者
NodeManager(NM):单个节点服务器资源的管理者。
ApplicationMaster(AM):单个任务运行的管理者。
Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等。

说明:
(1)客户端可以有多个
(2)集群上可以运行多个ApplicationMaster
(3)每个NodeManager上可以有多个Container

3)MapReduce(分布式运算编程框架)

1.3.3MapReduce 架构概述(重点是窝啦

MapReduce 将计算过程分为两个阶段:Map 和Reduce
1)Map 阶段并行处理输入数据
2)Reduce 阶段对Map 结果进行汇总

e6de26564c1d48aea6eb890a98e9b6a2.png

2.spark简介:

2.1spark是神马?

Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。

是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架

Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于大搜索、直达号、百度大数据等业务;阿里利用GraphX构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;腾讯Spark集群达到8000台的规模,是当前已知的世界上最大的Spark集群。

2.2spark技术特点及概述

唉唉唉,目光看向这里,咳咳...敲重点啦,速看!!!

  1. 快速:与 Hadoop 的 MapReduce 相比,Spark 基于内存的运算要快 100 倍以上,基于硬盘的运算也要快 10 倍以上。Spark 实现了高效的 DAG 执行引擎,可以通过基于内存来高效处理数据流。
  2. 易用:Spark 支持 Java、Python、R 和 Scala 的 API,还支持超过 80 种高级算法,使用户可以快速构建不同的应用。而且 Spark 支持交互式的 Python 和 Scala 的 shell,可以非常方便地在这些 shell 中使用 Spark 集群来验证解决问题的方法。
  3. 通用:Spark 提供了统一的解决方案。Spark 可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX),这些不同类型的处理都可以在同一个应用中无缝使用。
  4. 兼容性:Spark 可以非常方便地与其他的开源产品进行融合。比如,Spark 可以使用 Hadoop 的 YARN 和 Apache Mesos 作为它的资源管理和调度器,并且可以处理所有 Hadoop 支持的数据,包括 HDFS、HBase 和 Cassandra 等。这对于已经部署 Hadoop 集群的用户特别重要,因为不需要做任何数据迁移就可以使用 Spark 的强大处理能力。

    5e8f4ebed3fb44298376db126b52b8b9.png

3、Spark VS MapReduce,谁是最后的赢家?

  1. 运行速度:spark的运行速度在内存中是hadoop MapReduce的100多倍;原因是Spark的中间数据存放于内存中,有更高的迭代运算效率,而Hadoop MapReduce每次迭代的中间数据存放于HFDS中,涉及硬盘的读写,运算效率相对较低。
  2. 易用性和通用性上:MapReduce适用于一些需要进行大规模数据处理和分析的场景,但对于一些需要实时计算和交互式查询的场景,MapReduce的延迟较高,不太适合;而Spark 提供了80多个高级运算符,及Spark 提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。
  3. 复杂性:尽管MapReduce提供了高级抽象,但对于开发人员来说,编写和调试MapReduce作业仍然是一项复杂的任务。需要熟悉MapReduce的编程模型和框架,并理解分布式计算的概念和原理。但Spark支持多种资源管理器,Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器,更加灵活,可随处运行,适用性更强。

综合来看Spark看起来更强一些嘞,本作者宣布本次比赛Spark   NO.1 

4、结构化数据与非结构化数据是啥子嘛??

Ladies and gentlemen请看下述文字解释:

4.1结构化数据:

     即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。结构化数据类型 是一种用户定义的数据类型,它包含了一系列的属性,每一个属性都有一个数据类型。属性 是专门用来帮助描述类型实例的特性。

4.2非结构化数据:

     不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本、图象、声音、影视、超媒体等信息)。

5、全体目光看向这里,Linux简单操作命令都会了吗?

以下是基础命令,认真记!!!

敲详细!

5.1文件与目录操作

5.1.1pwd 命令

格式:pwd

功能:显示当前所在目录(即工作目录)

[root@localhost ~]# pwd

5.1.2ls 命令

格式:ls [选项] [文件|目录]

功能:显示指定目录中的文件或子目录信息。当不指定文件或目录时,显示 当前工作目录中的文件或子目录信息。

命令常用选项如下:

-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来。

-l :长格式显示,包含文件和目录的详细信息。

-R :连同子目录内容一起列出来。

说明:命令“ls –l”设置了别名:ll,即输入 ll 命令,执行的是 ls –l 3 命令。

[root@localhost ~]# ls -a /

. bin dev home lib64 mnt proc run srv tmp var

.. boot etc lib media opt root sbin sys usr

[root@localhost ~]# ls -l /

总用量 20 lrwxrwxrwx. 1 root root 7 12月 20 2021 bin -> usr/bin......

[root@localhost ~]# ls -R /home/

/home/:

5.1.3cd 命令

格式:cd

功能:用于切换当前用户所在的工作目录,其中路径可以是绝对路径也可以 是相对路径。 [root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@localhost network-scripts]# cd ..

[root@localhost sysconfig]# ls anaconda cpupower init authconfig crond kernel network-scripts selinux ip6tables-config man-db rdisc cbq sshd ebtables-config iptables-config modules readonly-root wpa_supplicant chronyd firewalld console grub irqbalance kdump netconsole rsyslog network run-parts

[root@localhost sysconfig]# cd ./network-scripts/

[root@localhost network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@localhost network-scripts]#

5.1.4mkdir 命令

格式: mkdir [选项] 目录

功能:用于创建目录。创建目录前需保证当前用户对当前路径有修改的权 限。参数 -p 用于创建多级文件夹。

[root@localhost ~]# mkdir test

[root@localhost ~]# ls

anaconda-ks.cfg test

[root@localhost ~]# mkdir -p /test/test1/test2

5.1.5rm 命令

格式: rm [选项]

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

[root@localhost ~]# rm -rf /test/

5.1.6cp 命令

格式: cp [选项]

功能:复制文件或目录。

[root@localhost ~]# cp /etc/profile ./

[root@localhost ~]# ls

anaconda-ks.cfg profile test

5.1.7mv 命令

格式:mv [选项]

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

anaconda-ks.cfg profile test

[root@localhost ~]# mv profile test/

[root@localhost ~]# ls test/

Profile 

5.1.8cat 命令

格式:cat [选项] [文件]

功能:查看文件内容。常用选项:-n 显示行号(空行也编号)。

[root@localhost ~]# cat -n test/profile

5.1.9tar 命令

格式:tar [选项] [档案名] [文件或目录]

功能:为文件和目录创建档案。利用 tar 命令,可以把一大堆的文件和目录 全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便 于网络传输是非常有用的。该命令还可以反过来,将档案文件中的文件和目 录释放出来。

常用选项:

-c 建立新的备份文件。

-C 切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于 仅压缩特定目录里的内容或解压缩到特定目录。

-x 从归档文件中提取文件。

-z 通过 gzip 指令压缩/解压缩文件,文件名为*.tar.gz。

-f 指定备份文件。

-v 显示命令执行过程。

[root@localhost ~]# ls

anaconda-ks.cfg test

[root@localhost ~]# tar -cvf test.tar test

test/

test/profile

[root@localhost ~]# ls

anaconda-ks.cfg test test.tar

[root@localhost ~]# tar -zcvf test.tar.gz test

test/

test/profile

[root@localhost ~]# ls

anaconda-ks.cfg test test.tar test.tar.gz

[root@localhost ~]# tar -zxvf test.tar.gz -C /opt/

test/

test/profile

[root@localhost ~]# ls /opt/

Test

5.2用户操作

5.2.1useradd 命令

格式:useradd 用户名

 功能:创建新用户,该命令只能由 root 用户使用。

[root@localhost ~]# useradd teacher

[root@localhost ~]# id teacher

uid=1000(teacher) gid=1000(teacher) 组=1000(teacher)

5.2.2passwd 命令

格式:passwd 用户名

功能:设置或修改指定用户的口令。

[root@localhost ~]# passwd teacher

更改用户 teacher 的密码 。

新的 密码:

无效的密码: 密码是一个回文

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

5.2.3chown 命令

格式:chown [选项]

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

[root@localhost ~]# chown teacher:teacher test.tar.gz

[root@localhost ~]# ll

总用量 20

-rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg

drwxr-xr-x. 2 root root 21 11月 9 23:19 test 

[root@localhost ~]# chown -R teacher:teacher test

[root@localhost ~]# ll

总用量 20

-rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg

drwxr-xr-x. 2 teacher teacher 21 11月 9 23:19 test

[root@localhost ~]# ll test/

总用量 4 -rw-r--r--. 1 teacher teacher 1795 11月 9 23:17 profile

5.2.4chmod 命令

格式:chmod [-R] 模式 文件或目录

功能:修改文件或目录的访问权限。选项“-R”表示递归设置指定目录下的所 有文件和目录的权限。

模式为文件或目录的权限表示,有三种表示方法。

(1) 数字表示 用 3 个数字表示文件或目录的权限,第 1 个数字表示所有者的权限,第 2个 数字表示与所有者同组用户的权限,第 3 个数字表示其他用户的权限。每类 用户都有 3 类权限:读、写、执行,对应的数字分别是 4、2、1。一个用户 的权限数字表示为三类权限的数字之和,如一个用户对 A 文件拥有读写权 限,则这个用户的权限数字为 6(4+2=6)。

示例:

[root@localhost ~]# chmod 764 test.tar.gz

[root@localhost ~]# ll

总用量 20 -rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg

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

示例:

[root@localhost ~]# chmod u=rwx,g=rw,o=r test.tar.gz

[root@localhost ~]#ll

总用量 20 -rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg

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

示例:

[root@localhost ~]# chmod u+x,g+x,o-w test.tar.gz

[root@localhost ~]# ll

总用量 20 -rw-------. 1 root root 1241 12月 20 2021 anaconda-ks.cfg 

5.2.5su 命令

格式:su [-] 用户名

功能:将当前操作员的身份切换到指定用户。

如果使用选项“-”,则用户切换 后使用新用户的环境变量,否则环境变量不变。

[root@localhost ~]# su - teacher

[teacher@localhost ~]$ exit

登出

  • 47
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值