- 博客(39)
- 收藏
- 关注
原创 Linux常见操作命令(2)
ls命令可以查看文件夹下的文件信息,如果某个文件夹下的文件特别多,使用ls命令时,就只能显示后面一部分文件信息,那如果我们希望查看全部的文件信息,就需要用到管道运算符。我们要去下载安装新的软件时就需要用到它:下载下来的软件大多都是.tar格式,而安装的过程就是解压缩。把1.txt,2.txt,3.txt 压缩到 test.tar 文件(会被自动创建)中。如果这个文件不存在,就会顺手创建这个文件。ls用来显示文件夹下的文件信息,more用来翻页,而 | 就可以把前一个的结果作为输入传递给 more。
2025-03-31 20:18:35
347
原创 hadoop集群的常用命令
hadoop fs -count / # 统计文件数量,返回的数据是目录个数,文件个数,文件总计大小,输入路径。hadoop fs -du -s -h / #统计这个文件夹总大小,返回的数据是,文件夹大小,备份总大小。hadoop fs -du -h / # 统计文件夹下每个文件的大小。把hdfs一堆小文件合并到本地的一个文件中。查看yarn正在运行的任务列表。查找yarn已经完成的任务列表。查找yarn所有任务列表。
2025-03-31 20:15:07
206
原创 mapreduce的工作原理
第二次: Maptask多次溢写产生的多个溢写文件(单个文件每部k有序),要做归并排序,maptask每个分区内,只保留1个文件(key有序)第三次: ReduceTask-0汇总多个MapTask的(对应分区-0)结果文件,归并排序(合并排序)Partitioner.getPartition(k,v,reduceTask数量)--分区号。3. mapper.map执行完毕后,输出k-v,调用k-v的分区计算。③ 将key相同的多个value--->[v,v,v,v]k(偏移量)-v(行数据)
2025-03-31 20:08:58
307
原创 vi常见操作命令
1,$s/client/server/gc 从第一行到最后一行中将client关键字全部替换为server,且每次替换都需要提示确认。可以将编辑任务暂时放到后台,比如你在编辑到一半的时候想查看另外一个文件的信息,这时可以在一般模式下按ctrl+z。:1,$s/client/server/g 从第一行到最后一行中将client关键字全部替换为server。/word 向下搜索word这个关键字,按n往前找,按N往回找。word 向上搜索word这个关键字,按n往前找,按N往回找。ctrl+d 向下翻半页。
2025-03-03 20:03:29
112
原创 安装Linux操作系统
这里讲一下软件选择,一般习惯windows的用户选择GNOME桌面,安装完就是图形界面,选择最小化安装的话就是全字符界面,不推荐新手使用;带感叹号的是需要确认的,如果你暂时不需要添加另外磁盘,进入安装位置,然后点击完成即可;网络和主机名可以安装完再配置,也可以现在配置,如果你不需要使用固定IP的话,打开网卡开关,点击完成即可;点击ROOT密码,设置你的root用户密码,点击完成;点击LICENSE INFORMATION,勾选我同意许可协议,点击完成,然后点击完成配置;选择你需要的语言,然后点击前进;
2025-03-03 20:00:13
294
原创 如何配置VM虚拟机
这里我重点讲一下,网络中本身存在DHCP服务器的(比如家用路由器的)可以选择使用桥接网络,选择桥接网络就相当于虚拟机和本机同处一个网络当中,相当于你另外又插了一台电脑在家用路由器上;硬件兼容性选择的话可以默认,如果你需要从低版本workstation中将虚拟机拷贝到17中使用的话需要选择旧版本的版本号,例如你原本用的是workstation14,然后想将虚拟机拷贝到workstation17中使用,那你这里就要选workstation 14.x;磁盘空间看着给,别超过你要放的那个盘容量就行;
2025-03-03 19:53:19
326
原创 如何安装VM虚拟机
附官方下载链接(VM 17 pro):https://download3.vmware.com/software/WKST-1701-WIN/VMware-workstation-full-17.0.1-21139696.exe。修改VM安装路径,勾选将VMware Workstation控制台工具添加到系统PATH,下一步;点击完成,VMware Workstation 17 pro安装完成。点击许可证后在下图框中输入许可证,然后点击输入;有许可点击许可证,无许可点击完成;
2025-03-03 19:44:02
194
原创 Scala:函数的泛型
/ getMiddleEle(List(1,2,3,4,5)) ==> 5/2 = 2 ==> 下标为2的元素是:3。// getMiddleEle(List(1,2,3,4)) ==> 4/2 = 2 ==> 下标为2的元素是:3。// List是数据类型,表示一个列表,[Int] 表示泛型,它约定列表中每一个元素都是Int类型。//List[Int]:List是列表,[Int]是说列表中的每一个元素都是int!// 中间位置的下标 = 长度/2。//(1)可以有多个。
2024-12-11 11:29:12
323
原创 Scala:正则表达式
/ reg1.findAllIn("136123456781").toList.foreach(println) //非贪婪。// reg1.findAllIn("136123456781").toList.foreach(println) //贪婪。//6.脱字符 ^ 如果在正则的最前面,表示,要匹配的内容必须在字符串的开头。//7.脱字符 $ 如果在正则的最后边,表示,要匹配的内容必须在字符串的结尾。// val reg1="\\d{3,6}".r //贪婪模式。
2024-12-04 14:46:06
1029
原创 Scala:习题(找出所需内容,把最后的结果写入一个新文件中)
writer.println(s"姓名:${s.name},语文:${s.yuwen},数学:${s.shuxue},英语:${s.yingyu},总分:${s.zongfen},平均分:${s.pinjunfen}")// println("语文:",arr(1).toInt)// println("数学:",arr(2).toInt)// println("英语:",arr(3).toInt)// println("平均分:",total/3)
2024-12-03 15:06:34
273
原创 Scala:守卫语句格式
/ case Array(1,x,y)=>println(s"三个元素,且第一个为1,第二个是${x},第三个是${y}")case Array(1,x,y)=>println(s"3个元素,且第一个为1,第二个是${x},第三个是${y}")// case _:Int =>println(s"$x 是Int 类型的")//_:Int 表示变量是Int类型。// case Array(1,_*)=>println("n个元素,且第一个为1")
2024-12-03 15:04:21
939
原创 Scala:打印指定信息
"周鸿祎 - 360" -> 1970, // 杀毒软件 3Q大战。"马云 - 阿里巴巴" -> 1964, // 猫。"马化腾 - 腾讯" -> 1971, // QQ。"丁磊 - 网易" -> 1971, // 猪厂。"刘强东 - 京东" -> 1974, // 狗。"张一鸣 - 字节跳动" -> 1983,"陈天桥-盛大网络" ->1973,"雷军 - 小米" -> 1969,"程维 - 滴滴" -> 1983,"张小龙-微信" ->1969,"贾跃亭-乐视" ->1973,
2024-12-03 14:55:54
229
原创 Scala:根据身份证号码,输出这个人的籍贯
case _ => println("我不知道!case "42"=>println("湖北")case "42"=>println("浙江")case "42"=>println("北京")case "42"=>println("上海")// println("未知", provice)// println("湖北")// println("浙江")// println("北京")// println("上海")
2024-11-26 17:50:34
380
原创 Scala:Scala的Map集合
Scala的Map有两种类型,即可变的和不可变的。上述创建Map的方式是不可变的,如果想创建可变的Map,需要导人指定的包,创建方式与不可变的方式相同。Map(映射)是一种可迭代的键值对(Key/Value)结构,所有值都可以通过键来获取,Map中的键都是唯一的。在Scala中,有两种创建Map的方式,分别是Map(k1->v1,k2->v2,..) 和 Map((k1,v1),(k2,v2),..)。第二种方式 Map((k1,v1),(k2,v2),..)是通过元组的方式定义的。
2024-11-10 22:56:51
443
原创 Scala:Scala的List
例如,定义一个Stream,Stream(1,2,3)等价于1#::2#::3::Stream.empty。左折叠运算由初始值、操作符、List 和操作组成,即(z/:List)(op)等价于op(op(op(z,a),b),c)。例如 List(1,2)=11,List(3,4)=12,结合这两个集合可以使用11:::12=(1,2,3,4)。右折叠是 List 在前,即(List(a,b,e):lz)(op)等价于op(a,p(b,op(c,z)))。的集合,无论大小还是元素,都是不可变的。
2024-11-10 22:33:24
670
原创 Scala:Scala的Set集合
默认情况下,Scala使用的是不可变集合,如果想使用可变集合,需引用import scala.collection.mutable.Set包,默认引用import scala.collection.immutable.Set包。Scala的Set(集合)是没有重复的对象集合,所有元素都是唯一的。(immutable)两种。Scala的集合分为。
2024-11-06 22:48:52
275
原创 Scala:Scala的Map集合习题
1.创建一个可变 Map ,用于存储图书馆中的书籍信息(键为书籍编号,值为包括书籍名称、作者、库存数量的元组),初始化为包含几本你喜欢的书籍信息。4.修改某本书籍的库存数量(假设可以通过键找到对应的元组并修改其中的值,这里体现可变 Map 的特性)。3.根据书籍编号查询某一本特定的书籍信息,使用 get 方法,并输出结果。6.遍历图书馆书籍 Map ,并打印出每本书的信息。2.使用+=操作符添加两本新的书籍到图书馆集合中。5.使用﹣=操作符从图书馆集合中删除一本书。
2024-11-06 22:46:11
213
原创 Scala:解决空指针异常问题
在定义一个对象时,该对象会调用父类的构造器。而在父类构造器中由于变量没有赋值,实际相当于null,再通过变量(实际为null)调用方法时就会出现空指针异常的问题。解决空指针异常的方式有两种,分别是提前定义和懒加载。
2024-11-06 22:37:11
198
原创 Scala:Scala的访问权限
/private 可以 可以 不可以 不可以。//protected 可以 可以 不可以 不可以。//private[this] 可以 不可以 不可以 不可以。访问另一个对象.属性。private[this] 不可以。
2024-10-29 14:25:08
249
原创 Scala:Scala的递归函数
f(n,"A","B","C") 表示把n个盘子从 A柱子上 移动到 C柱子上,借用B柱子的过程。* 基本情况:f(n,"A","B","C"),可以直接求,从A--->C。//把n-1个盘子(上面的n-1个):从A-->B。* 递归情况:f(n)=f(n-1)+f(n-2)* 问题:求1*2*3*4*...*(n-1)*n。* 递归情况:f(n,"A","B","C")//函数可以自己调用自己---->递归函数。* 基本情况:f(0)=0,f(1)=1。//自己调用自己的函数。
2024-10-16 22:48:34
1046
原创 Scala:Scala的函数的链式风格
Scala 中的两种链式风格语法分别为this.type和this。如果想要通过链式风格编程定义一个类,并且这个类是不可继承的,那么可以通过方法返回this。如果类是可扩展的,那么可以通过方法返回this.type。在Java中如果想要给属性赋值,需要通过对象调用方法来赋值。链式风格编程并不是Scala中独有的,它在Java等其他编程语言中也是存在的。
2024-10-16 22:36:37
199
原创 Scala:Scala的伴生类和对象
创建对象的 下面学习Scala 对象的三种创建方式,其中第三种方式可以合并到类中,但是使用apply的方式创建对象有一个条件,必须定义一对伴生类和伴生对象,在伴生对象中还需要实现apply 方法。当同名的类和单例对象在同一个源码文件中时,这个类称为单例对象的伴生类,对象称为类的伴生对象,这两者是相互的。object是声明单例对象的关键字,identifier表示一个合法的标识符,是对象的名字。(2)伴生对象和类之间的相互访问:伴生对象和类的私有成员可以相互访问。1.Scala 的伴生对象与伴生类的定义。
2024-10-16 22:17:31
411
原创 Scala:Scala的map和foreach函数的应用
Scala的 map 解释为:Apply Builds a new array by applying a function to all elements of this array.返回值构建了一个新的数组通过应用函数遍历数组中的每一个元素。假设定义一个数组Arr(1,2,3),通过数组调用map,即Arr(1,2,3).map(x=>x+1),返回值会形成一个新的数组Array(2,3,4)。Scala的高阶函数指使用其他函数作为参数或者返回一个函数作为结果的函数。map和foreach函数的应用。
2024-10-15 22:40:47
271
原创 Scala:Scala的reduce,fold,sorted函数的应用
/fold在2000的基础上,去累加求和。与reduce的功能类似,区别在于有一个初始值。//元素x,元素y,该函数返回一个布尔值。如果该值为false表示x元素应该排在y之前。//Array(-1,0,1,3,2)把这5个数字,按它们到0的距离从小到大排序。// //sorted排序:按元素的自然顺序(数值,或者字符串)排序。// //arr.fold(初始值)(迭代函数)// //最大值。
2024-10-15 15:03:30
324
原创 Scala:scala的构造器
辅助构造器一定会调用主构造器。当辅助构造器是类中的第一个辅助构造器时,一定会先调用主构造器, this.的方式调用主构造器。辅助构造器在应用时除了可以调用主构造器之外,还可以调用已经定义的辅助构造器。-------scala的辅助构造器定义方式--------------scala的主构造器定义方式--------------辅助构造器与辅助构造器的关系--------------辅助构造器与主构造器的关系--------------私有主构造器参数--------------主构造器参数-------
2024-10-13 17:32:31
264
原创 Scala:Scala的函数字面量
/ println(add(100)(200)(400))//直接给三个参数。// //var classRoom="教师310"//字面量。// //定义一个函数。// //println("教室310")// //科里化的方式 定义一个函数。// //定义函数的方式1。// //定义函数的方式2。// //调用一个函数。// //奶茶店1。// //咖啡店1。// //字面量。// //调用。// //美团。
2024-10-13 17:25:48
374
原创 Scala:scala的类
假设定义一个Person类,类中可以p1、p2等不同的对象。从面向对象编程的角度来说,每个人都可以看成是Person类的一个对象。scala中的成员属性可以理解为是一个变量,可以使用val或者val关键字定义属性。匿名类:指没有名字的类,可以利用接口和抽象类的名字创建匿名文件。-------无参普通类的定义-------普通类:通过class关键子定义的类。-------无参普通类-------对象:对象是类的具体实例,是具体的。内部类:在普通类中创建另一个类。类(内部类):对类的属性封装。
2024-09-25 21:37:44
352
原创 Scala:如何在IDEA中安装scala插件
首先打开IDEA,点击右上角【文件】,点击【设置】点击【安装】,安装完成后点击【重启IDEA】操作完成后点击【文件】,点击【项目结构】至此,在IDEA中安装Scala插件完成。在src软件包下新建Scala类文件。重启后点击【文件】,点击【新建】输入类名并选择object接口。点击【插件】,搜索scala。选择第一个然后点击【确定】点击新建全局库【+】
2024-09-21 18:55:44
1422
原创 Scala:scala的内建控制
------scala的while和do...while语句的返回值的区别--------------scala与Java的if语句的不同点--------------scala的do...while语句--------------scala带卫语句的for语句--------------scala带返回值的for语句--------------scala的while语句--------------scala的for语句--------------scala的if语句-------
2024-09-12 21:38:39
1185
原创 Scala:scala的lazy变量的惰性求值
输入lazy val name="scala"并按【Enter】键,可以看到值scala并没有马上赋给变量name,而是显示<lazy>。-用var声明的变量能否用lazy修饰。输入lazy var name="df"并按【Enter]键,结果报错,提示 lazy 不可与var合用,只能用来修饰用val声明的变量。输入name并按[Enter]键,可以看到值scala已赋给变量。-用val声明一个变量并赋值。输入val name="shf"并按【Enter]键,可以看到值shf马上就赋给了变量name。
2024-09-10 16:19:00
438
1
原创 Scala:scala的基本运算
这里, x 计算结果为 13, 而不是 20,因为乘法() 高于加法(+), 所以它先计算 32 再加上 7。查看以下表格,优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。位运算符用来对二进制位进行操作,位运算符包括:按位与&,按位或|,按位非~,按位异或^四种。逻辑运算符:包含逻辑与、逻辑或、逻辑非三种运算符,也是用于比较的。赋值运算符:用于将一个值进行赋值,如=、+=、-=等。关系运算符:用来对数值进行比较,如>、<=、>=等。+相当于调用对应类型的+方法。
2024-09-08 17:48:46
527
1
原创 Scala:教你一分钟写helloworld!
新建记事本并命名为HelloWorld,将记事本的扩展名“.txt”改为“.scala"。在记事本中输入符合Scala语法规范都代码并保存。按快捷键【Win+R】打开”运行“对话框,输入cmd后单击【Enter】按钮,打开命令控制台,输入”scalac HelloWorld.scala"命令对HelloWorld.scala进行编译(编译完文件夹中会生成3个class文件),输入“scala HelloWorld”命令执行class文件,在命令控制台中显示结果为hello world!文本。至此,Hello
2024-09-03 22:06:07
334
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人