- 博客(43)
- 收藏
- 关注
原创 案例--流量统计
1.建一个data目录,在data下建log.txt文件。2.在com.example.flow下建四个Java类。输入手机号码 上行流量 下行流量。
2025-04-21 07:58:17
47
原创 mapreduce的工作原理
以下是其工作原理的详细解析。- 调用用户编写的 `map()` 函数,将输入键值对(如 `<行号, 行内容>`)转换为中间键值对(如 `<单词, 1>`)。本地执行类似 Reduce 的合并操作(如对 `<单词, [1,1]>` 合并为 `<单词, 2>`),减少网络传输量。Reduce 任务将来自不同 Map 的同一分区数据合并,按键分组(如 `<单词, [1,1,1]>`)。Reduce 对每个单词的 `[1,1,...]` 求和,得到 `<word, total_count>`。
2025-04-01 07:47:40
335
原创 hadoop 集群的常用命令
hdfs dfs -rm -r /hdfs/path/directory # 递归删除目录。hdfs dfs -setrep -w 3 /path/file # 修改副本数为 3。hdfs dfs -rm /hdfs/path/file # 删除文件。hdfs dfs -du -h /path # 查看目录大小。hdfs dfs -df -h # 查看整体空间。- **检查 HDFS 空间使用**- **查看运行中的应用列表**- **复制/移动文件**- **查看文件内容**
2025-03-31 20:11:19
257
原创 Scala的隐式函数
需求:让字符串增加一个功能:isPhone() 检查当前字符串是否是一个合法的手机号。1. 在函数的默认参数的前面补充关键字:implicit。隐式值:能够自己设置参数默认值,而不是在代码中固定写死。2. 在定义变量的前面 补充关键字:implicit。3. 调用函数式,不加()
2024-12-09 08:31:35
207
原创 Scala的正则表达式,隐式转换
匹配除换行外单个字符a.c,文本abc、a&c等a.c可匹配多种,只要中间是一非换行字符\d等价[0-9],匹配数字\d{3},文本123、456\d{3}匹配连续3个数字\D等价[^0-9],匹配非字符\D+文本abc\D+匹配至少一个非修饰字符,如abc\w等价[a-zA-Z-9_],匹配其他\W,文本&\W匹配非字母等字符,如&\s匹配空白字符a\sb,文本ab。单字符大多数字符匹配自身正则表达式abc,文本abca匹配a,b匹配b,c匹配c方括号[ ]定义字符类,匹配其余字符。
2024-12-09 08:20:51
281
原创 Scala的条件匹配
在 Scala 中,条件匹配主要通过match表达式来实现,它类似于其他语言中的switch语句,但功能更强。基本语法:match表达式通常与case关键字一起使用。判断:2000-2024年那一年是闰年哪一年是平年。输入一段数字,判断属于那个范围。
2024-12-09 08:12:08
244
原创 Scala的统计
val arr = it.next().split(",")//中文的逗号。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val avg = f"${s.avg}%.1f" //只保留一位有效数字。val arr = it.next().split(",")//中文逗号。val avg = total / 3 //计算平均分。
2024-12-09 08:05:11
933
原创 Scala的全文单词统计
Map是无序,要对其进行排序,要先把数组转成序列。List,Array。// W:表示一个非字(不是一个字 eg:空格,逗号,句号……//2.把字符串拆分为一个一个的单词,保存到数组。//3.统计每个单词出现的次数。//5.把结果写到一个文件中。// \\:表示正则表达式。2.把字符串拆分成一个一个的单词。1.读取文件,得到很长的字符串。object 全文单词统计 {//1.读入文件内容。// W+:多个非字。3.统计每个单词出现的次数。5.把结果写入到一个文件中。
2024-12-04 20:15:49
354
原创 Scala字符串
/3.创建一个字符串,包含姓名、年龄和成绩(如"John,20,85")通过字符串方法提取出年龄和成绩,并将成绩转换为整数类型。3.创建一个字符串,包含姓名、年龄和成绩(如"John,20,85")通过字符串方法提取出年龄和成绩,并将成绩转换为整数类型。//1.创建一个字符串表示的浮点数,将其转换为浮点效英型,然后再将这个浮点数类型,然后再将这个浮点数转换回字符串并打印。1.创建一个字符串表示的浮点数,将其转换成浮点数类型,然后再将这个浮点数转换回字符串并打印。序列Seq表示有先后顺序的集合,保存数据。
2024-12-04 20:09:35
345
原创 Scala的迭代器
在Scala中,迭代器(Iterator)是一种用于遍历集合(如数组、列表、集合等)的元素而不暴露其底层表示的对象。迭代器提供了一种统一的方法来访问集合中的元素,而无需关心集合的具体实现。在Scala中,可以通过调用集合的`iterator`方法或`toIterator`方法来获取一个迭代器。迭代器是Scala集合框架中非常重要的一部分,它们提供了一种高效且灵活的方式来遍历和处理集合中的元素。1.hasNext: 检查迭代器是否还有更多元素。返回迭代器的下一个元素,并移动到下一个元素。
2024-11-13 20:20:02
162
原创 Scala练习题2
不可变列表的典型操作包括::(cons操作,用于在列表头部添加元素)、:+(在列表末尾添加元素)和++(合并两个列表)。在Scala中,列表(List)分为可变列表和不可变列表两种类型。可变列表使用ListBuffer类来表示,它提供了如+=(添加元素)、-=(删除元素)和update(修改元素)等方法来进行修改操作。当你对不可变列表进行添加、删除或修改操作时,实际上是创建了一个新的列表,原来的列表保持不变。在Scala中,列表(List)分为可变列表和不可变列表两种类型。
2024-11-11 07:55:54
247
原创 Map实训内容
1.创建一个可变Map,用于存储图书馆中的书籍信息(键为书籍编号,值为包含书籍名称、作者、库存数量的元组),初始化为包含几本你喜欢的书籍信息。4. 修改某本书籍的库存数量(假设可以通过键找到对应的元组并修改其中的值,这里体现可变 Map 的特性)。3.根据书籍编号查询某一本特定的书籍信息,使用get方法,并输出结果。2.使用 +=操作符添加两本新的书籍到图书馆集合中。6.遍历图书馆书籍Map,并打印出每本书的信息。5.使用-= 操作符从图书馆集合中删除一本书。
2024-11-06 18:17:29
146
原创 Set实训内容
4.检查一本特定的书籍(eg:Python从入门到实践)是否在图书馆集合中,使用contains方法,并输出结果。1.创建一个可变Set,用于存储图书馆中的书籍信息(假设书籍信息用字符串表示),初始化为包含几本你喜欢的书籍。5.创建另一个可变Set,表示另一个图书馆的书籍集合。2.添加两本新的书籍到图书馆集合中,使用+=操作符。3.删除一本图书馆集合中的书籍,使用+=操作符。8.求出当前图书馆相对于另一个图书馆的差集。6.求出两个图书馆集合的并集。7.求出两个图书馆集合的交集。
2024-11-06 18:16:41
195
原创 课堂练习1
Map(映射):是一种可迭代的键值对(key/Value)结构,所有值都可通过键来获取,Map中的键都是唯一的,定义时需要为键值对定义类型。对于可变Map,我们可用+=,put来添加元素,对于不可变Set,创建一个新的Map来添加元素。对于可变Map,我们可用-=来添加元素,对于不可变Set,创建一个新的Map来删减元素。1.在 Scala 中,不可变Map和可变Map的主要区别是什么?3.使用 get 方法查询Map中不存在的键时,返回值是什么类型?3.对于不可变Set,如果添加一个新元素,会发生什么?
2024-11-06 18:13:38
330
原创 Set集合
Set的特点:唯一·(元素不相同) ,如果要定义可变的Set。val 变量名 = Set[ 类型 ](元素1,元素2)不可变的set需要创建一个新的set。可变的set 用+=即可添加元素。
2024-11-04 10:15:46
195
原创 Scala的包
Scala包的作用域主要解决成员访问权限的问题。相比于Java中的包,Scala中的包可以定义在文件开头,也可以在代码的任意位置。Scala的波用于解决类的命名冲突和类的文件管理。在引入类时加上报名可以区分不同的类,解决类名冲突的问题。类文件的管理就是通过包名可以把具有相同功能的不同类组织在一起。其中的第一个_表示需要隐藏得类,第二个_表示除需要隐藏得类之外的所有类。c.在一个类中,导入除了Java的list和Scala的list。通过第二种方式,可以在{ }中定义不同的包,是现包的嵌套。
2024-10-28 11:34:15
358
原创 Scala的面向对象
从编译的角度解释Scala的多态含义:在执行期间而非编译期间确定所引用对象的类型,根据实际类型调用其方法。一个编译型的语言有两种类型,分别为编译类型和运行类型。程序定义的引用变量指向的具体类型和通过该变量发出的方法调用在编译是并不确定,而是在程序运行期间才确定。重写要求名称和参数列表相同,这种特性与Java中的相同。子类对父类中的某些方法进行重新定义,在调用这些方法时就会调用子类方法。Scala多态的这种特性可以提高程序的可扩充性和可维护性,提高代码的复用率。面向对象的三个基本特征是封装,继承,和多态。
2024-09-21 15:31:44
266
原创 Scala的循环结构
while 语句先执行循环语句后才判断condition是否为真,当condition为真时,继续执行循环体语句;当while语句中的condition(条件语句)为真时,则会执行接下来的语句;当condition(条件语句)为假时,则会跳出循环结构。Scala中的循环语句与Java中的相同,主要包括for循环语句、while循环语句和do…如果condition为true时,会按照代码的逻辑执行;2.Scala的do…while语句的语法格式。1.Scala的while语句。①while语句的语法格式。
2024-09-18 10:28:40
442
原创 课堂小结4
注:0.1+0.2==0.3结果为false。2.Scala中的自增和自减问题。3. Scala中的浮点数精度问题。6. 搭建Scala的idea环境。4.Scala中大数的处理。1.Scala的相等性。
2024-09-18 10:11:53
295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人