- 博客(49)
- 收藏
- 关注
原创 hadoop集群的常用命令
文件权限管理: hdfs dfs -chmod permissions hdfs_path hdfs dfs -chown owner:group hdfs_path 修改 HDFS 文件的权限和所有者。合并下载: hdfs dfs -getmerge hdfs_source_path local_destination_file 将 HDFS 中的多个文件合并后下载到本地。查看文件内容: hdfs dfs -cat hdfs_file_path 查看 HDFS 中某个文件的内容。
2025-03-31 19:51:21
179
原创 MapReduce 的工作原理
Map 阶段: 输入:Map 阶段接收输入数据,通常是键值对(key-value pairs)。输出:Map 函数的输出是新的键值对,这些中间结果将传递给 Reduce 阶段^1^。Reduce 阶段: 输入:Reduce 阶段接收 Shuffle 阶段处理后的数据。处理:Reduce 函数对相同键的值进行合并计算,生成最终结果。输出:Reduce 函数的输出是最终结果,通常存储在 HDFS 中^1^。Shuffle 阶段: 分区:将 Map 阶段的输出数据进行分区,每个分区对应一个 Reduce 任务。
2025-03-31 19:50:47
204
原创 vi编译器
命令模式:在这个模式下,所敲按键编译器都理解为命令,以命令来驱动执行不同的功能。i:进入编辑模式(此时键盘可以正常打字)(i、a、o)2.nyy复制当前行往下n行内容。底线命令系统:以:开始通常用于文件的保存并退出。vi a.txt:创建/打开(进入命令模式)esc:退出编辑模式(回到命令模式)4.按下G键可以跳到文件的最后一行。编辑模式:此时我们可以修改文件。5.按下gg键跳到文件的第一行。wq:保存编辑内容(保存退出)1.yy复制光标所在行的内容。1.p在当前行的下一行粘贴。
2025-03-03 19:23:44
214
原创 虚拟机配置IP
linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。2)配置Windows本地虚拟网卡,让本机也可以访问虚拟机。具体设置为:进入虚拟机,修改对应的IP。(3)设置虚拟机的IP。
2025-03-03 19:21:16
250
原创 【无标题】
大数据的应用场景:视频推荐、电商推荐等。Hadoop是分布式系统处理架构。阶段2:大数据时代-分布式处理。阶段3:实时大数据时代。六、Hadoop的优势。大数据的技术发展脉络。
2025-02-25 11:37:33
301
原创 linux
rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认,请一定要使用。3.mkdir -p 命令:创建目录,如果父级目录不存在,就建一个父级目录。1.ls:列出目录内容,包括参数-l(详细列表)、-a(显示隐藏文件)2. ll -a命令,显示当前的目录下的文件,包括隐藏文件。2.mkdir命令:创建目录。1. ll命令,用来显示当前的目录下的文件。3. ~波浪线,当前用户的home目录。1.touch命令:创建一个空文件。3.cd命令,用来进入指定的目录。4.删除目录无需用户确认。
2025-02-25 11:36:33
383
原创 Scala中Set集合
/ val set1=Set[String]("小花","小明","小明")val course = mutable.Set("语文","数学")//val set1=Set[元素的类型】(元素1,元素2)// val set1=Set("小花","小明","小明")// val course=Set("语文","数学")// val course1=course+"英语"// 不可变Set,默认使用的set就是不可变的!// 可变set,需要额外去引入包。//元素的类型可以省略。
2024-12-11 17:06:06
389
原创 scala的set集合
val wang = mutable.Set("朝花夕拾", "活着")val books=mutable.Set("朝花夕拾","活着")val yang = mutable.Set("三体", "活着")val rs=books.contains("朝花夕拾")println(s"朝花夕拾是否存在:${rs}")println(s"俩个图书馆的并集${rs2}")println(s"两个图书馆的交集${rs1}")println(s"俩个图书馆的差集${rs3}")books -= "朝花夕拾"
2024-12-11 17:05:31
321
原创 Scala的Map集合可变
val map1 = Map("鄂" -> "湖北省", "湘" -> "湖南省", "青" -> "青海省")//3.2直接:map(key名),如果key不存在,就会报错!val map2 = map1 + ("豫" -> "河南省")val map4 = map1 + ("青" -> "青海省")// val map3=map1+("鄂"->"河南省")// val rs =map1.get("鄂")// println(map1("鄂1"))// map ("青")="青海省"
2024-12-11 17:05:01
372
原创 Scala函数隐式参数
def sayName(implicit name:String="小明"):Unit={implicit val value:String="小米"//困难:函数有一个默认参数值,在不传入具体的实参时。println("我的名字是:"+name)sayName("小婉")//一直在修改原来的代码!
2024-12-11 17:04:27
417
原创 Scala隐式类
/思路:把BaseUser通过隐式转换,改成一个新类型,而这个新类型中有这新的方法。//任务:给之前的BaseUser添加新的功能,但是,不要直接去改代码。//implicit class===一个隐式转换函数 +类。//它的作用:扩展已有的类,而不需要去修改之前的类的代码。
2024-12-11 17:03:24
127
原创 Scala模拟匹配
case Array(1,x,y)=>println(s"数组第一个元素是1,一共有三个元素${x},${y}")原文链接:https://blog.youkuaiyun.com/asdfghjj_/article/details/144192445。case Array(1,x,y,z)=>println("数组第一个元素是1,一共有4个元素" )case Array(_,1,_*)=>println("数组第二个元素是1,一共有n个元素")//匹配 数组:元素的个数+元素的特征。
2024-12-09 14:25:52
117
原创 scala字符串
foreach(s=>println(s"姓名:${s.name},数学:${s.shuxue},总分:${s.total}"))orderList.foreach(s=>println(s"姓名:${s.name},总分:${s.total}"))println("数学平均分",shuxuezongfen/list.length)
2024-11-27 16:53:37
242
原创 Scala的caseclass
val book1=new Book("西游记","吴承恩",100)val book2=new Book("西游记","吴承恩",100)val book3=new Book("西游记","吴承恩",100)val s1= Student("小花")//Set的特点:唯一(元素不相同);//向set中添加俩条一样的数据。//case class:定义一组数据。//默认的修饰符是val(不可变)//定义一个可变set。
2024-11-27 16:25:08
157
原创 Scala的迭代器
/迭代器的使用场景:Map,List,Set。都可以使用迭代器来遍历。//next():得到当前的元素,并把迭代器向后移动一个位置。//take:从当前的迭代器的位置开始.取n个元素。//作用:把迭代器中剩余的数据保存到List中。//1.创建一个迭代器(iterator)//只输出4,5,6 跳过前3个 再取3个。//任务:跳过前两个,从第三个开始输出。//hasNext()是否有下一个。//作用:把两个迭代器组合成一个。//2.依此访问每一个元素。//任务:输出每一个元素。//任务是:打印前3个。
2024-11-27 16:18:14
321
原创 Scala中的身份证密码
val m1 = Map((41,"河南"),(42,"湖北"),(43,"湖南"),(44,"广东"))val birthday=id.substring(10,14)//不包括终点下标。val year=id.substring(6,10)//6,7,8,9这个下标。println(s"籍贯是:${m1.get(province)}")println(s"生日是:${birthday}")println(s"身份证号${id}是不合法的")println(s"身份证号${id}是合法的")
2024-11-27 16:17:43
187
原创 Scala中字符串
println("当前行是",name,yingyu,total)//使用中文的逗号去拆分字符串。//1.读入成绩,按行去读取。
2024-11-27 16:17:07
145
原创 构建Scala项目的魔法:Gradle中配置Scala插件
在现代软件开发中,Scala 以其强大的功能性和面向对象的特性,成为了许多开发者的选择。Gradle 作为 Java 生态系统中一个流行的构建工具,支持通过插件扩展其功能,包括对 Scala 项目的支持。通过本文的详细介绍,你应该已经了解了如何在 Gradle 中配置 Scala 插件的基本步骤和操作。Scala 插件为 Gradle 提供了对 Scala 项目的全面支持,使得构建和管理 Scala 项目变得简单和高效。配置好 Scala 插件和依赖后,你可以使用 Gradle 的命令来构建和测试项目。
2024-11-27 16:15:18
365
原创 Scala语言适合干什么
3. 大数据处理:Scala 在大数据处理方面表现突出。Scala 的函数式编程特性使得 Spark 能够进行快速的数据处理,且 Scala 的面向对象特性使得 Spark 能够方便地操作和操作数据。Scala 的并发库可以帮助开发人员更轻松地编写并行代码,从而适用于需要高度并发处理的应用,如大规模数据处理、实时应用等。1. 函数式编程:Scala 是一种功能齐全的函数式编程语言,它支持高阶函数、不可变数据结构和模式匹配等特性,使其非常适合开发需要复杂数据转换和处理的应用,如数据分析、数据挖掘等领域。
2024-11-27 16:13:13
242
原创 scala
l1.insert(2,150) //在指定位置添加。val rs=l1.contains(21) //判断元素2是否在list中。val l3=l1++l2 //把 l1 和 l2 中的内容合并到l3中。val l3=l1.appended(100) //尾部添加。val l2=l1.prepended(0) //头部添加。//3.不可变 l1(0)=100写法是错误的!l1.remove(0) //删除指定位置上的元素。l1.prepend(-1) //在头部添加。//2.输出 第1个。
2024-11-27 16:12:06
251
原创 scala集合中的Map映射
添加一个判断语句,可以用if()else()语句,也可以用.getOrElse(),如果访问的Key值存在,则返回Key值,如果不存在,则返回-1。因为是可变Map所以一定要先引入类scala.collection.mutable.Map然后再进行修改,添加,删除,等操作。if()else()语句和.getOrElse()语句。if()else()语句和.getOrElse()语句。//修改:(u2的value值修改为002)"如花" -> "98",("如花","8"),("富贵","9")
2024-11-11 15:52:40
416
原创 scala集合之map使用
scala中,提供了3种获取map中的key的方式,分别是:map(key),map.get(key),map.getOrElse()map在scala的开发中算是使用非常频繁的集合之一,本文将通过实际的代码演示下map在scala中的使用。scala中的map主要分为2种类型,可变的map和不可变的map,这个和数组类似。//直接获取某个存在的key,不存在,使用默认值。修改map中的元素,必须是可变的map才可以做此操作。//直接获取某个存在的key。//直接获取某个存在的key。
2024-11-11 15:50:52
458
原创 Scala 入门教学
此教学将对 Scala 语言以及编译器做一个简易介绍。面向的读者为具有编程经验,并且想简单了解 Scala 的人。本文假设读者有着基本的、最好是 Java 上的面向对象知识。
2024-11-11 15:46:30
424
原创 scala之高阶函数多态性
1. 生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。2. java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。这个内容已经在上一章节详细讲过,就不再阐述,详细可访问:Java 重写(Override)与重载(Overload)。之后greetingFunc变量接收函数的过程,就类似于接口的实现过程。最终通过调用变量的方式,执行函数,实现了多态化。
2024-10-21 16:29:55
203
原创 scala中for循环遍历的多种方式
entries() 返回数组的可迭代对象。scala>importscala.math._//_ ===> *scala>min(1,2)//以下三种操作效果一样scala>1.toString//方法scala>1.toString()//方法形式scala>1toString//运算符方式//applyscala>"hello".apply(1)//等价于xxx.apply()scala>"hello"(1)//和上面的效果一样,相当于取出索引为1的字符,即e//条件表达式,scala的...
2024-09-30 16:07:11
426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人