- 博客(50)
- 收藏
- 关注
原创 一分钟教你数据清洗
• 将数据统一为相同的格式,例如日期格式统一为“YYYY-MM-DD”,金额统一为小数格式等。数据清洗是一个需要耐心和细致的过程,但只要按照这些步骤操作,就能有效提升数据质量。• 确定数据的用途和分析目标,这将决定需要保留哪些数据,删除哪些数据。• 删除:如果缺失值较多且对分析影响不大,可以删除包含缺失值的行或列。• 清洗完成后,检查数据是否符合预期,确保清洗过程没有引入新的错误。• 确保数据在不同字段或表中的一致性,例如名称的拼写是否一致。• 删除与分析目标无关的列或行,减少数据量,提高处理效率。
2025-04-02 15:43:11
136
原创 mapreduce的工作原理
处理:Map 函数对输入数据进行处理,生成中间结果。输出:Map 函数的输出是新的键值对,这些中间结果将传递给 Reduce 阶段^1^。: 输入:Reduce 阶段接收 Shuffle 阶段处理后的数据。处理:Reduce 函数对相同键的值进行合并计算,生成最终结果。输出:Reduce 函数的输出是最终结果,通常存储在 HDFS 中^1^。: 分区:将 Map 阶段的输出数据进行分区,每个分区对应一个 Reduce 任务。合并:将相同键的值合并在一起,准备传递给 Reduce 阶段^2^。
2025-03-31 19:40:21
159
原创 hadoop集群的常用命令
这些命令是与 HDFS 进行交互的基础,涵盖了文件操作、系统管理、权限控制等多个方面。通过这些命令,用户可以有效地管理和操作存储在 Hadoop 集群中的数据。这些命令会分别启动 Hadoop 的 DFS 和 YARN。该命令会递归地列出 HDFS 根目录下的所有文件和目录。将 HDFS 中的多个文件合并后下载到本地。查看特定 Hadoop 命令的帮助信息。修改 HDFS 文件的权限和所有者。查看 HDFS 中某个文件的内容。修改 HDFS 中文件的副本数量。删除 HDFS 中的文件。
2025-03-31 19:38:41
116
原创 Linux的指令
mkdir -p dir1/dir2:递归创建。- touch: 创建空文件或更新文件时间戳。- head/tail: 查看文件开头/结尾。- more/less: 分页查看文件。- tail -f:实时查看日志。- mv: 移动或重命名文件/目录。- chown: 修改文件所有者。- chmod: 修改文件权限。- chgrp: 改文件所属组。- rm -r:递归删除。- rm -f:强制删除。- cp -r:递归复制。ls -l:详细列表。- rm: 删除文件或目录。- cp: 复制文件或目录。
2025-03-03 20:03:38
211
原创 VM 虚拟机的指令及作用
more 命令:除了分页显示外,还可以显示已显示内容的百分比,并提供一些基本的导航功能,如向上翻页(在某些系统中需要使用特殊键或组合键)在命令模式下,按下键盘上的i,a , o键,在编辑模式下,按下键盘上的Esc键可以返回到命令模式。在虚拟机中执行命令echo abc >> a.txt的作用是将字符串 "abc" 追加到文件a.txt的末尾。在虚拟机中,echo abc > a.txt的作用是将字符串 "abc" 写入到文件a.txt中。在虚拟机中,vi编辑器有三种主要模式:命令模式、插入模式和末行模式。
2025-02-25 11:38:30
286
原创 虚拟机编辑器
启动vi编辑器后,默认进入的是命令模式。在命令模式下,按下键盘上的i,a , o键,在编辑模式下,按下键盘上的Esc键可以返回到命令模式。输入:wq并按下回车键。这会保存当前文件的更改并退出vi编辑器 shirt+zz。在虚拟机中,vi编辑器有三种主要模式:命令模式、插入模式和末行模式。nyy可以复制多行内容。
2025-02-25 11:37:49
318
原创 虚拟机编辑器
在此模式下,可以使用键盘快捷键进行光标移动、删除、复制等操作。按 i 键进入插入模式,在光标当前位置开始输入文本。:用于执行复杂的命令,如保存文件、退出编辑器等。输入命令 vi 文件名 来打开一个现有文件,或者输入 vi 创建一个新文件。:在末行模式下输入 :w 保存文件,或者 :wq 保存并退出。:使用方向键(上、下、左、右)移动光标。:在光标当前位置的下一个字符处插入文本。:使用 vi 文件名 命令打开文件。:在光标当前位置的下一行插入新行。:分别表示左、下、上、右移动。:在光标当前位置插入文本。
2025-02-25 11:37:10
358
原创 教你学会VMware虚拟机的操作系统安装
2打开虚拟机后enter选择要安装的操作系统,等待安装完成以后选择要使用的语言,设置完磁盘的存储设置,选择自动分配分区,完成后会出现完成的ui点击完成设置root密码,输入密码,然后确认密码后点击完成,等待安装完后,输入root再输入密码就能完成问题了。1安装完vmware后点击创建虚拟机,自定义设置设置完虚拟机的内存硬盘大小以及处理器设置,选择光盘映像文件,自定义虚拟机的名称,选中linux系统。
2025-02-19 14:35:39
87
原创 Scala正则表达式(4)
println(reg.matches(name1))//matches字符串做验证,返回boolean的值。println(reg.matches(name3))//matches字符串做验证,返回boolean的值。println(reg.matches(name4))//matches字符串做验证,返回boolean的值。println(reg.matches(name5))//matches字符串做验证,返回boolean的值。val name3="admin"//不合法:长度不高够。
2024-12-11 17:06:47
368
原创 Scala正则表达式(3
/ val t=("雷总",1969)元组。"马-阿里巴巴"->1964,"马腾-腾讯"->1971,"李-百度"-> 1968,"雷-小米"-> 1969,// 找出哪些是1971年的老板?"丁-网易"->1971,// 对于Map,可以for遍历。// 模式匹配。
2024-12-11 17:06:15
306
原创 Scala隐式转换
/隐式转换:编译器 偷偷的,自动地帮我们把一种数据类型转换为另一种类型。//它有失败的时候(double-->int).有成功的时候。// 当他转换失败的时候,我们提供一个工具,让他能成功。// j=i//把Int 转入Double。i=j//把Double转入Int。//明确地,把double转成int。//例如:int-->double。
2024-12-11 17:05:44
293
原创 Scala函数隐式参数
def sayName(implicit name:String="小明"):Unit={implicit val value:String="小米"//困难:函数有一个默认参数值,在不传入具体的实参时。println("我的名字是:"+name)sayName("小婉")//一直在修改原来的代码!
2024-12-11 17:05:12
351
原创 Scala隐式泛型
/LIstanbul(1,2,3,4,5)==>中间元素下标=长度/2===>3。//需求:你是一个程序员,老板让你写一个函数,用来获取列表中的中间元素。//def 函数的名字(参数1:类型1):返回值的类型={
2024-12-11 17:04:09
105
原创 使用Scala进行Web开发:构建你的第一个Web应用.m
使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Scala进行Web开发使用Sc
2024-12-11 17:03:12
261
原创 Scala安装配置
4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。一般来说,学 Scala 的人,都会 Java,而 Scala 是基于 Java 的,因此我们需要将 Scala和 Java 以及 JVM 之间的关系搞清楚,否则学习 Scala 你会蒙圈。
2024-12-11 17:02:33
742
原创 Scala基础知识
条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作。例如:姓名,年龄,性别,出生年月。val/var a = ArrayBuffer(元素1,元素2,元素3....)val/var 变量名 = ListBuffer(元素1,元素2,元素3...)val/var 变量名 = Array(元素1, 元素2, 元素3...)来访问元组中的元素,_1表示访问第一个元素,依次类推。val/var 变量名 = List(元素1, 元素2, 元素3...)
2024-12-11 17:02:02
98
原创 类型化函数,多态函数和符号函数
对于调用多态函数applyDiscountWithReturnType()时使用的每个指定类型,该函数还返回相同类型的Sequence序列。// 调用一个函数,其名称只是一个符号,就像上面步骤中的-函数一样,与调用任何其他函数没有什么不同。虽然可以依赖Scala的类型推断来推断函数参数的类型,但一般来说,显式指定参数类型是一个很好的实践。在多态函数中,我们可以指定参数的类型以及函数的返回类型。调用一个函数,其名称只是一个符号,就像上面步骤中的-函数一样,与调用任何其他函数没有什么不同。
2024-11-27 16:49:49
616
原创 Scala集合类上的高阶方法
Scala集合的真正强大之处在于带来了其高阶方法。一个高阶方法使用一个函数作为其输入参数。需要特别注意的是,一个高阶方法并不改变集合。下面是Scala集合的一些最主要的高阶方法。
2024-11-27 16:49:17
539
原创 闭包与函数柯里化
/ 调用部分应用的函数totalCostForFruits,与调用通过将每个参数都包含在()中来调用curry过的函数totalCost没有什么不同,但是,不需要为fruitType String参数填写第一个参数。调用部分应用的函数totalCostForFruits,与调用通过将每个参数都包含在()中来调用curry过的函数totalCost没有什么不同,但是,不需要为fruitType String参数填写第一个参数。因此,柯里化指的是将原来接受2个参数的函数变成新的接受一个参数的函数的过程。
2024-11-27 16:48:46
843
原创 枚举scala
case d if d == Stars.地球 || d == Stars.火星 => println(s"适合人类居住的星球 = $d")val 地球 = Value(-1, "地球是最美丽的蔚蓝色")val 火星 = Value(4, "火星是火红颜色的")val 金星 = Value(0, "金星是金色的")val 地球 = Value("地球是最美丽的蔚蓝色")val 火星 = Value("火星是火红颜色的")val 金星 = Value("金星是金色的")
2024-11-27 16:14:02
369
原创 隐式函数scala
在下面的示例中,定义了一个函数,带有一个隐式参数。println(s"""加上5个苹果的折扣价, 手动传参 = ${totalCost2("苹果", 5)(0.1, "农夫果园")}""")println(s"""加上5个苹果的折扣价 = ${totalCost2("苹果", 5)}""")println(s"""加上5个苹果的折扣价 = ${totalCost("苹果", 5)}""")println(s"""加上5个苹果的折扣价 = ${totalCost("苹果", 5)}""")
2024-11-27 16:12:26
386
原创 尾递归函数
当涉及到递归时,Scala在包scala.util.control.tailcalls._中提供了额外的实用程序。让我们继续,通过使用这些递归实用工具,重新编写上一步中的递归search()函数。// 首先定义一个String类型的Array来保存一些商品val arrayDonuts = Array("苹果", "草莓", "水晶西瓜", "葡萄干")// 调用对tailSearch的递归函数的语法略有不同,因为需要将调用封装在tailcall()中。
2024-11-27 16:11:50
461
原创 闭包与函数柯里化scala
/ 调用部分应用的函数totalCostForFruits,与调用通过将每个参数都包含在()中来调用curry过的函数totalCost没有什么不同,但是,不需要为fruitType String参数填写第一个参数。调用部分应用的函数totalCostForFruits,与调用通过将每个参数都包含在()中来调用curry过的函数totalCost没有什么不同,但是,不需要为fruitType String参数填写第一个参数。因此,柯里化指的是将原来接受2个参数的函数变成新的接受一个参数的函数的过程。
2024-11-27 16:11:17
761
原创 Scala集合:Stream流
根据Scala文档,流是类似于列表的数据结构,只是流的元素是惰性计算机制。因此,可以拥有无限长的流!Stream(流)与List类似,但是它是延迟计算的,所以可以非常非常长。// 创建steam.headsteam.tail。
2024-11-27 16:10:47
1010
原创 数值类型简介Scala
在Scala中,所有的数值类型都是对象,包括Byte、Char、Double、Float、Int、Long和Short。这七个数值类型继承自AnyVal trait。除了以上这些类型,还有代表真/假的Boolean类型。Boolean类型可以有true或false值。Unit和Boolean类被认为是“非数值值类型”。
2024-11-27 16:10:15
400
原创 变量scala
不可变意味着变量的值一旦声明就不能更改。在下面的代码中,表达式sum是用lazy关键字定义的。前面的代码中,我们在定义变量时,并没有指定数据类型。在Scala中,不强制显式地指定变量的数据类型,编译器可以通过内置的类型推断机制,根据变量的初始化来识别变量的类型,这称为。不过,有时可变变量的使用可能会导致更少的代码复杂性,因此Scala 也支持可变变量。在Scala中,声明变量的关键字有三种:val、var和lazy val。在下面的代码中,我们分别使用val定义不可变的变量,使用var来定义可变的变量。
2024-11-27 16:09:39
225
原创 Scala画像
Scala是一种基于Java虚拟机(JVM)的语言。Scala编译器将Scala应用程序编译成Java字节码,可以在任何JVM上运行。在字节码级别,Scala应用程序与Java应用程序没有区别。因为Scala是基于JVM的,所以它可以与Java无缝地互操作。更重要的是,Scala应用程序可以使用任何Java库,而不需要任何包装器或粘合代码。Scala是一种混合编程语言,支持面向对象编程和函数式编程。Scala应用程序是由Scala编译器编译的。它是一种类型安全的语言,Scala编译器在编译时强制类型安全。
2024-11-27 16:08:40
174
原创 Scala特性
Scala编译器会生成在JVM上执行的字节码。因此,它可以与任何其他基于JVM的系统无缝集成,比如HDFS,Cassandra,HBase等等。Scala是首选语言,因为它简洁的编程接口、交互式shell,以及它捕获功能并高效地将它们传递到集群中的节点的能力。Scala是一个可扩展的(scalable,因此得名),静态类型的,高效的多范式语言,它支持函数式语言和面向对象语言特性。Scala是一种非常适合开发大数据应用程序的语言,是使用Apache Spark的首选语言。
2024-11-27 16:08:09
180
原创 Hello Scala 案例
在main文件目录中创建Scala类:com.atguigu.bigdata.scala.HelloScala。默认情况,IDEA中创建项目时不支持Scala的开发,需要添加Scala框架的支持。2.增加Scala框架支持。1.创建Maven项目。
2024-11-27 16:07:21
123
原创 为什么学习Scala
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.youkuaiyun.com/m0_73745224/article/details/138410717。2.大数据主要的流式计算引擎框架Flink野提供了Scala相应的API。1.大数据主要的批处理计算引擎框架Spark是基于Scala语言开发的。3.大数据领域中函数式编程的开发效率更高,更直观,更容易理解。
2024-11-27 16:06:48
194
原创 使用Scala进行Web开发:构建你的第一个Web应用
在Java领域中,Spring框架以其全面的功能和灵活的配置赢得了广泛的应用。然而,当遇见Scala这一兼具函数式编程和面向对象特性的强大语言时,一个新的世界被开启——这就是Spring Scala。虽然VMware, Inc.不再对其进行主动维护,但庆幸的是,社区的力量让这个项目得以延续,由Paul Snively接棒,在http://hub.darcs.net/psnively/spring-scala继续其生命旅程。
2024-10-21 16:55:13
126
原创 Scala快速入门
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.youkuaiyun.com/qq_20042935/article/details/139300518。2.10.4 伴生对象(object)2.10.3 枚举类(trait)2.10.5 样例类(case)2.7.2 while 循环。2.12.3 没有NULL值。2. Scala 基础概念。2.2 与Java相同之处。2.9.7 常用的集合函数。2.10 Class(类)
2024-10-21 16:26:20
130
原创 Scala是面向对象
Scala是一种纯粹的 面向对象语言 ,因为每个值都是一个对象。 对象的类型和行为由类和特征描述。 类可以通过子类化和使用灵活的基于mixin的组合机制作为多继承的干净替代来扩展。 [4] Scala是一种通用编程语言。 它由Martin Odersky创建和开发。 Martin于2001年在 洛桑联邦理工学院 (EPFL)开始研究Scala。 它于2004年1月20日正式发布。 [6] 联邦理工学院 洛桑( EPFL )的 Martin Odersky 于2001年基于Funnel的工作开始设计Scala
2024-10-21 16:24:55
214
原创 Scala常见函数类型,如匿名函数、高阶函数--实例解析
var str:String =funcDemo2("tom")("eat","drink") //此处因为funcDemo2返回类型为"函数",而此"函数"的返回类型为String,所以使用变量接收funcDemo2的结果,类型也应该为String。将其他函数作为参数或者使用函数作为输出结果的函数,称为 高阶函数。两者写法函数名称都为 funJia ,但是在scala中,函数也可以没有名称,即非显式定义一个函数,称为 匿名函数 ,使用匿名函数可以使代码更加简洁、飘逸。//定义一个函数,判断性别。
2024-10-14 15:48:21
131
原创 IDEA首次创建Scala项目
2.此时新建Scala会出现红色,需要在模式里导入Scala配置。选择project structure,点击module,查看dependencies发现只有Java jdk,此时需要添加Scala,在dependencies里点击“+”,选择library,勾选需要的Scala complier,Scala library,最后应用,确认。此时的代码可以正常编写运。1.在IDEA里new project——>java里选择Scala——>next后给项目输入名称——>finish。
2024-10-09 15:06:58
443
原创 IDEA 编写第一个Scala程序
确保你本地以及安装了 JDK 1.5 以上版本,并且设置了 JAVA_HOME 环境变量及 JDK 的bin目录,如果还为安装,可以参考Java 开发环境配置https://www.runoob.com/java/java-environment-setup.html。9 检查环境变量是否设置好了:单击 【开始】,在输入框中输入cmd,然后"回车",输入 scala,然后回车,如环境变量设置ok,你应该能看到这些信息。4.下载后,双击 msi 文件,一步步安装即可,安装过程你可以使用默认的安装目录。
2024-10-09 14:49:07
299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人