- 博客(52)
- 收藏
- 关注
原创 Spark,hadoop的组成
(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。每个框都是一个进程,可能都运行在一台主机上,但是,属于不同的集群。对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。在Hadoop3.X中,hadoop一共有三个组成部分:MapReduce,Yarn,HDFS。Yarn和HDFS的关系说明:逻辑上分离,物理上在一起。
2025-03-31 19:23:07
430
原创 Spark;修改配置文件,启动集群,查看运行结果,纠错
解决办法:可以尝试使用 IP 地址(如 http://192.168.56.100:9870 和 http://192.168.56.100:50070)来访问,看是否能正常访问,以判断是否是域名解析的问题。你还可以通过访问 NameNode 的 Web 界面(即 http://hadoop100:8970)来查看 HDFS 的状态信息。若集群是第一次启动,需要在hadoop100节点(指定为namenode的节点)格式化NameNode(注意:格式化NameNode,会产生新的集群id)
2025-03-20 21:31:00
597
原创 Spark,hadoop的组成
(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。每个框都是一个进程,可能都运行在一台主机上,但是,属于不同的集群。对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。在Hadoop3.X中,hadoop一共有三个组成部分:MapReduce,Yarn,HDFS。Yarn和HDFS的关系说明:逻辑上分离,物理上在一起。
2025-03-20 10:58:46
537
原创 Spark;scp命令,rsync命令,ssh命令
伪分布式:也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类节点,特点:Hadoop 启动的这些守护进程都在同一台机器上运行,是相互独立的 Java 进程。eg命令:scp -r /opt/module/jdk1.8.0_212/ root@hadoop102:/opt/module/jdk1.8.0_212/命令:rsync -av /opt/conf/1.txt root@roothadoop102:/opt/conf/$pdir/$fname :要拷贝的文件路径 / 名称。
2025-03-10 19:21:47
412
原创 spark,linux克隆
要注意,这里是虚拟机的名称,而不是它的hostname。(2)要将这两台克隆出来的虚拟机和hadoop100保存在同一个磁盘目录下,方便我们统一管理。克隆之后,我们得到了hadoop002,hadoop003,由于它们是从hadoop001直接扣克隆过来的,所以目前他们的ip和hostname都是很hadoop100是一样的,这里就需要修改下。linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!
2025-03-08 14:32:47
304
原创 spark yum配置
把yum想象成你自己开的一家商场,那么yum的源就是你的供货商。这个源已经失效了,就是你的默认供货商跑路了!如果是win11,它在Windows/system32/hosts 文件,如果是win10,它在C:\Windows\System32\drivers\etc\hosts。我们打开这个文件,并在最后一行的后边,添加三个新行,内容是:IP地址 主机名 eg:192.168.56.101 hadoop100(注:IP地址和主机名之间有一个空格)网络上的免费而稳定的源有很多,这里我们选择阿里云的源。
2025-03-08 14:26:03
555
原创 spark,linux配置
这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。重启的命令是reboot,检查是否能Ping通外网。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的VM配置的虚拟机使用NAT时,它们的网段都是一致的。修改完成之后,esc退出编辑模式, :wq 保存退出。配置即让自己的虚拟机可以联网,和别的虚拟机通讯。三、设置虚拟机hadoop100的IP。具体设置为:进入虚拟机,修改对应的IP。
2025-02-28 00:06:04
247
原创 安装VM和Centos
此刻已完成Centos的安装与创建。5.设置磁盘大小并拆分为多个文件。1.上述过程完成后直接打开虚拟机。3.默认安装位置并点击完成。重启后使用密码进入该系统。6.安装完成后点击重启。二、安装Centos。
2025-02-25 11:05:33
439
原创 spark,vi
1.如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file。d(一个小d)加←删除左侧一个单词,d(一个小d)加→删除右侧一个单词。vi编辑器有三种工作模式,分别为:命令模式,输入模式,底线模式。2.如果文件已存在,此时就打开这个文件,进入命令模式。底线命令模式:以:开始,通常用于文件的保存和退出。2.nyy(n+两个小y)复制当前行往下n行内容。2.ndd(n+两个小d)用来删除当前行往下n行。nyy(n+两个小y)复制当前行往下n行内容。1.yy(两个 y)复制光标所在行的内容。
2025-02-24 20:43:37
291
原创 spark虚拟机
会把aaa、这三个字符写入a.txt文件,并把之前的内容全部覆盖掉(等价于先删除了a.txt的内容,再写入aaa)会把文件的最尾部的内容显示在屏幕上,并且不断刷新,只要文件有更新,就可以看到最新的文件内容。命令是:tar -cvf test.tar 1.txt 2.txt 3.txt。-x 表示解压文件。示例1:把1.txt,2.txt,3.txt压缩到test.tar文件中。格式:tar -cvf 压缩包.tar 文件1 文件2 文件3。-c 建立一个压缩文件,把多个文件或文件夹压缩到一个新的文件中。
2025-02-24 20:32:02
303
原创 spark虚拟机
波浪线,当前用户的home目录,比如root用户home目录是/root。rm -rf ./bbb 将目录及以下所有递归逐一删除,无需用户确认。rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认。相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。mkdir -p:创建目录,如果父级目录不存在,就建立一个新目录。删除文件无需用户确如 rm -f +文件名 (慎用!ll -a 命令,显示当前的目录下的文件,包括隐藏文件。ll 命令,用来显示当前的目录下的文件。
2025-02-21 11:26:10
168
原创 spark
特点:提高处理能力:通过将任务分散到多个节点上并行计算,能够大大提高数据处理的速度和效率,从而可以在短时间内处理海量数据,满足大数据时代对数据处理的实时性和高效性要求。1.硬件资源有限:单机系统的计算能力、存储容量和内存空间都受限于单台计算机的硬件配置。1.无法处理大规模数据:随着业务的发展和数据量的增长,单机系统很快就会遇到存储和处理能力的瓶颈,无法应对海量数据的存储和分析需求。3.应用场景简单:主要用于个人办公、简单的游戏娱乐或小型企业的基本业务处理,如文字处理、单机游戏、简单的库存管理等。
2025-02-21 11:22:38
316
原创 大数据笔记
Is -I*con* 列出当前目录下名称中有“con"文件或目录的详细信息。Is -a 列出包括以“.”开始的隐藏文件在内的所有文件。cd /etc/sysconfig/ 切换到/etc/sysconfig目录。■ -R:显示出目录下以及其所有子目录的文件名(包括了隐藏文件)■ -A:显示除隐藏文件“.”和“..”以外的所有文件列表;■ -d:仅显示目录名,而不显示目录下的内容列表。■ -l:以长格式显示目录下的内容列表。
2025-02-21 11:21:27
198
原创 Scala
A. try 的中文是试一试,catch是捕获,finally是最后的。关于try catch finally 的说法正确的是( D )无论是否有异常发送,都会做的事情 //可选。C. 把是否有异常,finally 中的代码一定会执行。在scala中,1/0会导致如下什么异常( C )B. 把可能会出现异常的代码写在 try 中。异常如果不处理,会导致整个程序崩溃!D. catch 中不能获取具体异常信息。发生异常之后的处理逻辑。异常:不是正常的情况。
2024-12-17 21:51:44
224
原创 scala
需求:让字符串增加一个功能:isPhone() 检查当前字符串是否是一个合法的手机号。1. 在函数的默认参数的前面补充关键字:implicit。隐式值:能够自己设置参数默认值,而不是在代码中固定写死。2. 在定义变量的前面 补充关键字:implicit。3. 调用函数式,不加()
2024-12-11 01:55:31
222
原创 Scala
eg:‘a’匹配字符‘a’,‘[abc]’匹配‘a’,‘b’,或者‘c’中的任意一个字符,‘[a-z]’匹配从‘a’到‘z’的任意一个小写字母。{n,} 匹配前面至少n次 a{2,},文本aa,aaa等 a{2,}匹配多个a,至少2个。单字符 大多数字符匹配自身 正则表达式abc,文本abc a匹配a,b匹配b,c匹配c。* 匹配前面0次或多次 a*,文本“ ”,a,aa等 a*可匹配空、a及多个a。\s 匹配空白字符 a\sb,文本ab。
2024-12-11 01:52:03
361
原创 Scala
在 Scala 中,条件匹配主要通过match表达式来实现,它类似于其他语言中的switch语句,但功能更强。基本语法:match表达式通常与case关键字一起使用。判断:2000-2024年那一年是闰年哪一年是平年。输入一段数字,判断属于那个范围。
2024-11-30 10:24:20
407
原创 Scala
eg:42湖北,33浙江,11北京,31上海。3.列出总分前三名和单科前三名,并保存结果到文件中。(1)计算每个同学的总分平均分。1.读入txt文件,按行读入。(2)每个科目的平均分。根据输出的数字输出对应 的星期的英文。1.计算每个同学的总分和平均分。算出正方形,长方形,梯形面积。2.统计每个科目的平均分。
2024-11-30 10:16:39
690
原创 Scala
Scala is amazing.”,提取出"Scala is amazing.” 子串,并将其与“Programming in Scala is fun.” 连接起来。3.创建一个字符串,包含姓名、年龄和成绩(如"John,20,85")通过字符串方法提取出年龄和成绩,并将成绩转换为整数类型。1.创建一个字符串表示的浮点数,将其转换成浮点数类型,然后再将这个浮点数转换回字符串并打印。4.编写程序,对于给定的英文字符串,统计其中每个单词出现的次数(假设单词之间以空格分隔)集Set表示无序且不重复的集合。
2024-11-21 16:00:08
447
原创 Scala
如果要定义可变的Array,需要额外导入包:import scala.collection.mutable.ArrayBuffer。它的属性有:内容,是否完成,截止日期,优先级。B. 导入 scala. collection. mutable.ArrayBuffer 并使用他创建。列表:物理空间上不连续(不是一个元素挨着一个元素的)优势:插入元素,删除较快。数组:物理空间上连续的(一个挨一个)优势:根据下标能快速找到元素。Array定义:数组:物理空间上连续的(一个挨着一个)根据下标:格式 数组名(下标)
2024-11-21 15:57:08
463
原创 Scala
选项 A 错误,不是包含所有元素;普通 class:普通class的构造函数除了初始化数据外,还可能用于初始化可变的数据成员,并且可以在构造函数中进行复杂的初始化逻辑,如资源分配、数据库连接等操作。函数式编程友好:case class 提供了一种简单的方式来创建和使用不可变数据,有助于编写更加纯粹的函数式代码,如对数据进行转换、映射等操作,而不用担心副作用。case class:在case class中,构造函数的参数默认是val(对于不可变数据),这意味着这些参数是公开可读的,并且不能在外部重新赋值。
2024-11-13 22:36:40
983
原创 Scala
B. List的元素还是可以通过下标来修改的;前面学习的Set,Map数据是无序的;Array是有序的,Array数组物理空间上是连续的。1.在 Scala中,关于不可变 List 和可变 List 的说法错误的是?D.默认的List 是不可变的。D.合并两个列表中的元素,并消除重复的。4.创建1本图书对象并添加到可变 List的第3个位置;2.创建6本图书对象并添加到可变 List的尾部;3.创建1本图书对象并添加到可变 List的头部;A.添加元素到可变列表;C.创建一个新的 List;
2024-11-09 00:15:02
301
原创 scala
1.创建一个可变Map,用于存储图书馆中的书籍信息(键为书籍编号,值为包含书籍名称、作者、库存数量的元组),初始化为包含几本你喜欢的书籍信息。4.检查一本特定的书籍(eg:Python从入门到实践)是否在图书馆集合中,使用contains方法,并输出结果。1.创建一个可变Set,用于存储图书馆中的书籍信息(假设书籍信息用字符串表示),初始化为包含几本你喜欢的书籍。4. 修改某本书籍的库存数量(假设可以通过键找到对应的元组并修改其中的值,这里体现可变 Map 的特性)。6.求出两个图书馆集合的并集。
2024-11-05 22:55:21
167
原创 Scala
Map(映射):是一种可迭代的键值对(key/Value)结构,所有值都可通过键来获取,Map中的键都是唯一的,定义时需要为键值对定义类型。对于可变Map,我们可用+=,put来添加元素,对于不可变Set,创建一个新的Map来添加元素。对于可变Set,我们可用+=来添加元素,对于不可变Set,创建一个新的Set来添加元素。对于可变Set,我们可用-=来添加元素,对于不可变Set,创建一个新的Set来删减元素。对于可变Map,我们可用-=来添加元素,对于不可变Set,创建一个新的Map来删减元素。
2024-11-05 22:52:56
345
原创 scala
Set有可变和不可变两种类型。不可变Set创建后元素不能修改,可变Set可对元素进行添加、删除等操作,两种类型能满足不同场景需求。A、元素类型不同 B、能否修改元素 C、存储大小不同 D、没有区别。A.直接添加 B.抛出异常 C.创建一个新的Set D.编译错误。1.在scala中,不可变set和可变set的主要区别是什么?val 变量名 = Set [类型] (元素1,元素2……set,集合,表示没有重复的元素的集合。
2024-11-04 23:53:43
198
原创 Scala
public 和 protected修饰的成员可以访问外部包的成员,对于私有的和对象级别的成员不可以访问。在伴生对象中可以访问具有protected权限的属性,因为伴生类和伴生对象之间的成员可以相互访问。这样的好处是一个文件可以定义多个包,内层包可以访问外层的包的类和对象。包名称应全部小写,只能包含数字,字母,下划线,小圆点。private[this]修饰的属性只能在定义该属性的类的同一对象实例内部的方法中访问。protected[A] 本类,子类,A包,A的子包。可以把类,对象,包,装入。
2024-11-04 23:48:45
535
原创 Scala
关于多继承问题,Java 中的类不支持多继承,接口支持多实现;而在 Scala中trait可以支持多继承,也可以在多继承的同时混入多个特质。在新定义一个对象时,会先调用父类的的造器。而父类构造器中由于变量没有赋值,实际相当于null,再通过变量 (实际为nulI) 调用方法时就会报空指针异常的问题。类和trait都可以定义成员变量和方法,成员变量和方法可以是抽象的也可以是具体的。解决空指针异常的方式有两种,分别是提前定义和懒加载。构造器的执行顺序:先父后子,先左后右。4.trait 与类的区别。
2024-10-29 00:15:38
153
原创 Scala
在scala中类继承trait后必须实现其中的抽象方法,实现时可不用override,使用关键字with即可。抽象方法,具体方法,抽象属性,具体属性。可以作为接口,同时也可定义抽象方法。3.一个类继承多个trait时要使用什么关键字。trait可以作为接口,同时也可定义抽象方法。4.trait中只能包含抽象属性和抽象成员?2.类通过什么关键字去继承trait。trait 不能new,只能被继承。1.什么是trait?
2024-10-23 10:13:54
150
原创 Scala
格式:val 对象名 = (new 外部类). 内部类()没有名字的类,匿名类只能使用一次,若再想使用需重创匿名类。内部对象定义:写在class里面的object。2.实例化内部的对象:(new 一个内部类)4.支持函数式编程风格。匿名类只能使用一次,若再想使用需重创匿名类。3.辅助面向对象编程。内部类可以访问外部类的私有变量。2.内部类可以访问类的私有变量吗。内部类:定义在类或对象内部的类。定义在类或对象内部的类。3.什么是匿名类,有什么特点。作用:1.实现单例模式。匿名类:没有名字的类。
2024-10-23 10:09:37
237
原创 Scala
方法分为具体方法抽象方法。在 Scala 中,可以使用 “abstract” 关键字来定义抽象方法。包含抽象方法的类就是抽象类。抽象方法是只有方法名,没有具体方法体的方法。4.子类继承抽象类时,必须要实现全部的抽象类中的属性和方法吗。具体方法:完整的,有方法体的。抽象类分为属性跟方法:属性分为具体属性,抽象属性。继承抽象类时,必须要实现所有的抽象属性和抽象方法。抽象类的作用:提供标准,供其他类来继承(实现)抽象方法:只有def 方法名。2.抽象类中的属性和方法必须全部是抽象的。3.如何定义抽象方法。
2024-10-23 10:00:51
339
原创 Scala
多态:传入的对象不同,调用方法的效果就不同!原理:参数是父类类型。继承:在原有类的基础上定义一个新类,原有类为父类,新类为子类。class 子类名 extends 父类名 {类体}继承的好处:复用代码(不劳而获)和实现多态。重写:在子类中重新定义父类的同名方法。先调用父类构造器,再调用子类构造器。面向对象:封装,继承,多态。处理构造器的调用顺序。
2024-10-23 09:55:38
160
原创 Scala
reduce是一种集合操作,用于对集合中的元素进行聚合操作,返回一个单一的结果。接受两个参数返回一个参数。fold的作用与reduce一样,区别在于提供了一个初始值。sorted按照元素自然规则顺序排序。reduceLeft 和reduceRight。
2024-10-14 14:37:37
349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人