- 博客(48)
- 收藏
- 关注
原创 Hadoop案例——流量统计
通过 Hadoop 的 MapReduce 框架,我们可以轻松地处理大规模的流量数据,实现高效的流量统计。本文介绍了一个简单的流量统计案例,包括数据模型的设计、MapReduce 程序的实现以及作业的提交和运行。希望这个案例能帮助你更好地理解和应用 Hadoop 技术。
2025-04-09 15:45:56
842
原创 Java实现序列化与反序列化
要使一个类的对象可以被序列化,该类必须实现接口。是一个标记接口,没有方法需要实现。它只是告诉Java序列化机制这个类的对象可以被序列化。// 序列化版本号// 构造方法// Getter和Setter方法return age;@Override如果需要自定义序列化和反序列化过程,可以在类中定义和readObject方法。这两个方法必须是private的,并且需要抛出或。
2025-04-08 11:29:15
280
原创 Hadoop序列化与反序列化
序列化:序列化是将对象(如Java中的类实例)转换为字节序列的过程。在Hadoop中,数据在分布式系统中传输或者存储到磁盘时,需要将数据对象序列化为字节流。例如,当MapReduce作业中的map任务输出数据,这些数据要通过网络传输给reduce任务或者存储到HDFS(Hadoop分布式文件系统)中,就需要序列化操作。反序列化:反序列化是序列化的逆过程,即将字节序列还原为对象。在Hadoop中,当从磁盘读取数据或者从网络接收数据时,需要进行反序列化操作。
2025-04-08 11:18:55
435
原创 mapreduce的工作原理
MapReduce 是一种分布式计算模型,用于处理大规模数据集。它将复杂的计算任务分解为多个小任务,并在集群中的多个节点上并行执行,从而实现高效的数据处理。
2025-03-31 19:42:40
683
原创 centos7服务器 Java和Hadoop安装教程,用VMware和finalshell
通过以上步骤,你可以在 CentOS 7 服务器上成功安装并配置 Java 和 Hadoop。如果需要搭建 Hadoop 集群,可以参考类似的步骤在多台虚拟机上进行配置。
2025-03-05 15:41:15
651
原创 VMware虚拟机IP配置
的 IP 配置教程。本教程适用于 CentOS 7 和 CentOS 8,其他 Linux 发行版的步骤类似,但文件路径和命令可能略有不同。通过以上步骤,您可以在 VMware 中的 CentOS 虚拟机上成功配置 IP 地址。根据网络模式和需求,可以选择自动获取 IP 地址(DHCP)或手动配置静态 IP 地址。:在配置 IP 地址之前,请确保您已经根据需求选择了合适的网络模式。如果您的网络环境支持 DHCP,可以配置虚拟机自动获取 IP 地址。在虚拟机中配置 IP 地址是网络连接和通信的基础。
2025-03-03 19:24:34
655
原创 vi常用命令
如果你是初学者,可以从简单的命令开始,逐步掌握更高级的功能。插入模式用于输入文本。:通过实际操作熟悉不同模式之间的切换和常用命令。:进入替换模式(可以连续替换多个字符)。:在当前行下方插入一行并进入插入模式。:在当前行上方插入一行并进入插入模式。键:退出插入模式,返回到命令模式。:在当前光标位置之后进入插入模式。:删除从当前光标位置到行尾的内容。:删除从当前光标位置到行首的内容。:粘贴(在当前光标位置之后粘贴)。:粘贴(在当前光标位置之前粘贴)。:在当前光标位置进入插入模式。:删除当前光标位置之前的单词。
2025-02-25 11:09:32
354
原创 Linux常用命令
以长格式显示文件信息(包括权限、所有者、大小等)。:递归创建目录(如果父目录不存在,会自动创建)。:以易读的格式显示文件大小(如 KB、MB)。:实时查看文件的新增内容(常用于日志文件)。(以易读格式显示文件大小和详细信息)。(显示监听的 TCP/UDP 端口)。(打印文件的每一行的第一个字段)。:创建空文件或更新文件的时间戳。(搜索文件中包含特定模式的行)。:显示当前工作目录的绝对路径。(显示文件的最后 10 行)。(显示 2025 年的日历)。(更改文件的所有者和所属组)。
2025-02-25 11:05:39
371
转载 Scala集合操作:深入探索学生信息处理
通过这个示例,我们展示了Scala集合操作的强大功能,包括迭代器的使用、数据筛选、信息关联和数据统计。一、在本文中,我们将通过一个实际的Scala编程示例,深入探讨如何使用Scala的集合操作来处理学生信息。// 8. 再次使用该迭代器,筛选出成绩列表中有至少一个特定分数以上的学生信息,并打印他们的姓名和年龄。我们创建一个新的列表来存储每个学生的平均成绩,然后使用zip方法将学生信息和平均成绩关联起来。// 7. 重新创建学生列表的迭代器,用于统计所有学生的所有成绩的总和,并打印结果。
2024-11-20 14:26:06
47
转载 Scala面向对象编程:方法重写与多态
override def run(): Unit = { // 重写run方法,表示狗的跑动行为。override def run(): Unit = { // 重写run方法,表示猫的跑动行为。在Scala中,基类定义了共有的属性和方法,派生类可以继承这些属性和方法,并根据需要进行重写。run(c1) // 调用run方法,输出:cat is running...run(d1) // 调用run方法,输出:dog is。obj.run() // 调用传入对象的run方法。
2024-10-21 16:27:47
51
转载 Scala面向对象编程:抽象类与方法
通过以上示例,我们可以看到Scala中抽象类的定义、派生类的实现以及如何实例化派生类和调用其方法的基本用法。// m1.autoRun() // 可以调用autoRun方法,输出:Model3 的自动驾驶技术。m1.run() // 调用run方法,输出:Model3 run ......white TSL。def run(): Unit = { // 具体方法,有具体实现。def autoRun: Unit // 抽象方法,没有具体实现。// 定义一个抽象方法autoRun,具体实现由子类完成。
2024-10-21 16:27:09
41
转载 Scala数组操作与高阶函数应用 #Scala #Scala高阶函数
var arr4 = Array(60, 59, 80, 70).filter(x => x >= 60).foreach(println) // 使用filter函数过滤并打印。这个函数通过一个二元函数来合并数组中的元素。Array(1, 2, 3, 4, 5).foreach(x => println(x + 2)) // 使用foreach函数执行操作。val res3 = Array(1, 2, 3, 4).reduceRight((x, y) => x - y) // 从右到左归约。
2024-10-16 15:40:02
50
原创 Scala高阶函数之reduce,reduceleft,fold
根据使用的是 foldLeft 或 foldRight,累积的方向不同。在 Scala 中,reduce、reduceLeft 和 fold 是处理集合的高阶函数,它们通常用于将集合中的元素聚合为一个单一的结果。这里需要注意,foldRight 可能不如 foldLeft 高效,因为它可能需要反转列表或者使用递归,这取决于实现方式。// 相当于 ((0 + 1) + 2) + 3) + 4)// 相当于 1 + (2 + (3 + (4 + 0)))// 这里相当于 (((1 + 2) + 3) + 4)
2024-10-16 15:17:38
407
转载 4.2Scala的函数基础 #Scala #函数基础
在Scala中,定义函数的方式非常灵活,支持多种不同的定义方式。// (Int,Int) => Int 表示一种类型,是一个函数,需要两个int类型的参数,返回一个int类型的结果。// op 本身是一个函数,它的第一个参数是一个函数的类型。将函数作为参数传递给另一个函数是一种常见的函数式编程技术。// 简写1. 代码只有一句, 可以省略 { }(四)Scala的函数的闭包。(一)函数的字面量语法。(二)把函数作为参数。//字面量的方式定义函数。//把函数当做参数来使用。
2024-10-16 14:22:05
43
原创 var op = (callback:(Int,Int)=>Int,x:Int,y:Int)=>{}
你提供的代码定义了两个函数字面量sum和mul,以及一个接受另一个函数作为参数的高阶函数op。这段代码展示了如何在Scala中使用函数字面量和将函数作为参数传递给其他函数。下面是你的代码及其解释:scala深色版本。
2024-10-09 17:09:01
179
原创 scala函数的字面量语法和把函数作为参数
在Scala中,函数字面量(也称为匿名函数)是一种简洁的方式来定义没有名字的函数。它们通常用于需要临时创建一个简单函数的情况,特别是在传递给其他接受函数作为参数的方法时。下面是关于函数字面量和将函数作为参数的一些要点:函数字面量使用箭头符号 来分隔参数列表与函数体。这里有几个例子来说明如何定义函数字面量:无参数的函数字面量: scala 深色版本 带有一个参数的函数字面量: scala 深色版本 带有多个参数的函数字面量: scala 深色版本
2024-10-09 17:07:03
949
原创 Scala中定义函数的几种方法
每种方式都有其特定的应用场景,选择合适的方式来定义函数可以帮助编写更清晰和高效的代码。: 调用带有多个参数的函数时,可以通过参数名来传递参数,这有助于提高代码的可读性。关键字来定义一个函数,并指定函数的名称、参数列表(可以为空)、返回类型(可选,如果省略则Scala会尝试推断)和函数体。: 匿名函数是没有名字的函数,通常用于需要临时定义一个简单功能的地方,比如作为高阶函数的参数。: 如果你想让函数能够接受不定数量的同类型参数,可以使用变长参数。: 在另一个函数内部定义的函数被称为局部函数。
2024-10-09 16:37:43
328
原创 Scala深度讲解链式函数并配上例子。
我们可以自定义一个简单的类来展示如何创建自己的链式API:scala深色版本str += sthisthis// 使用链式调用println(result) // 输出: HELLO WORLD在这个例子中,类有两个方法append和,它们都返回this.type,这样就可以继续调用其他的实例方法了。通过这种方式,我们可以构建一串连续的操作。
2024-10-09 16:09:30
333
转载 Scala 的函数基础 #Scala自适应类型和函数 #函数基础
sendEmail("bob@example.com", "项目更新", "项目进度已更新", "charlie@example.com,dave@example.com")当调用函数时,如果没有为具有默认值的参数提供值,Scala编译器会自动使用定义时指定的默认值。// 如果函数不需要参数,所以可以在定义的时候直接省略 ( ) ---> 调用的时候,也要省略 ( )sendEmail("alice@example.com", "会议通知", "明天下午3点开会")位置参数:默认值只能用于函数的末尾参数。
2024-10-09 16:03:31
108
转载 用Scala递归函数计算汉诺塔游戏步数!!! #Scala汉诺塔 #汉诺塔 #递归函数
原文链接:https://blog.youkuaiyun.com/a1199a/article/details/142658731。// getSum(n) 计算1-n的和。
2024-10-09 14:30:30
27
原创 在Scala中初步认识递归函数 #Scala递归函数
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.youkuaiyun.com/a1199a/article/details/142657121。// 1. 求 1 + 2 + 3 +........ + n-1 + n。记为f(n) 表示1-n的和。// (2)递归情况。// (1)基本情况。可以直接求解,避免死循环。// getSum(n) 计算1-n的和。
2024-09-30 15:11:40
209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人