自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 Hadoop的序列化

序列化的时候,它会自动被调用,将一个内存中的对象,序列化成为一个字节序列。如果序列化的属性不是Hadoop的序列化类型,就要调用相应的方法把它进行序列化。下面我们来看一个例子:通过代码来定义一个类,并创建它的一个对象,把这个对象保存到文件中(序列化),然后再写代码读取这个文件并还原回来。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。),一个对象被序列化后,会附带很多额外的信息(各种校验信息,

2025-04-08 11:27:28 214

原创 三分钟教你学会数据清洗

【代码】三分钟教你学会数据清洗。

2025-04-08 11:22:16 70

原创 mapreduce的工作原理

MapReduce 是一种用于大规模数据处理的编程模型和计算框架,由 Google 提出,它极大地简化了分布式环境下的并行计算,Hadoop 框架将其思想进行了开源实现。

2025-03-31 19:56:35 887

原创 hadoop集群的常用命令

hadoop fs -ls <path>: 列出目录内容- hadoop fs -mkdir <path>: 创建目录- hadoop fs -put <local> <hdfs>: 从本地复制文件到HDFS- hadoop fs -get <hdfs> <local>: 从HDFS复制文件到本地- hadoop fs -cat <path>: 查看文件内容- hadoop fs -tail <path>: 查看文件尾部内容- hadoop fs -rm <path>: 删除文件。

2025-03-31 19:46:07 274

原创 在虚拟机上安装hadoop

etc/profile 是系统级别的全局配置文件,当用户进行登录操作时,该文件会被执行,而/etc/profile 脚本里包含了对/etc/profile.d 目录下脚本的扫描和执行逻辑。要运行 hadoop 程序我们先要去安装它的基础环境,因为它是基于java的,所以我们要先去安装 java.JDK,然后再去安装hadoop。所以,我们可以把需要用到的环境变量配置到一个新的.sh文件中,再把这个新的文件放在profile.d目录下。(1)新建/ete/profile.d/my env. sh文件。

2025-03-05 16:05:48 446

原创 克隆虚拟机组成集群

在随后的设置中,请注意两点:(1)要给其他两台虚拟机取不同的名字。要注意,这里是虚拟机的名称,而不是它的hostname。(2)要将这两台克隆出来的虚拟机和hadoop100保存在同一个磁盘目录下,方便我们统一管理。得到了hadoop101,hadoop102,由于它们是从hadoop100直接扣克隆过来的,所以目前他们的ip和hostname都是很hadoop100是一样的,这里就需要修改下。vm软件提供了克隆的功能,它可以允许我们从一台虚拟机上快速克隆出其他的一模一样的主机。配置IP的步骤是一样的。

2025-03-05 14:17:56 235

原创 教你快速配置host

先给大家演示一个小把戏:强制戒除美好生活 - 让我们的电脑不能访问douyin。只需要一个步骤,一句代码设置。打开文件:C:\Windows\System32\drivers\etc\hosts,并在文件的最后补充一句:注意 douyin.com的前面有一个空格。修改保存之后,请再次去浏览器中去访问抖音.com。看看,是不是已经打不开啦?请大家去自己的电脑上去操作一次!好的,我们来讲解一下这个过程到底发生了什么?在浏览器地址栏中写入了douyin.com,并回车。

2025-03-04 09:38:41 1076

原创 给虚拟机配置IP

linux中,ip地址是写在配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)中,这里使用 vi 编辑器去修改即可!这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。

2025-02-26 15:14:52 507 1

原创 linux 里vi编辑器的使用

Vim 是 Linux 系统中常用的文本编辑器,它有三种主要模式:命令模式、插入模式和底线模式。不直接输入文本,而是输入命令(如移动光标、删除、复制等)。用于执行高级命令(如保存文件、退出、查找替换等)。(open new line)等键进入插入模式。用于文本编辑,编辑完成后需返回命令模式。用于执行高级命令,完成后返回命令模式。是核心模式,用于切换到其他模式。执行完命令后自动返回命令模式。:在光标所在行下方插入新行。:在光标所在行上方插入新行。:在光标前插入文本。:在光标后插入文本。:删除光标所在字符。

2025-02-25 11:35:29 332

原创 Linux与编写有关的命令

已经存在,那么该文件原有的内容会被清空,然后将。不存在,系统会自动创建这个文件;不存在,系统会自动创建这个文件,然后将。将一个命令的输出作为另一个命令的输入。会被添加到文件现有内容的后面。:将文件打包为zip格式。作用:该命令会将字符串。:解压tar.gz文件。作用:该命令会将字符串。:分页查看文件内容。:显示文件的前几行。:显示文件的后几行。:解压gzip文件。

2025-02-25 11:09:28 245

原创 Linux系统操作指令

这只是 Linux 系统中常用指令的一部分,Linux 系统的指令非常丰富,你可以根据具体需求进一步学习和探索。,其中第一个字符表示文件类型,后面 9 个字符分为三组,分别表示文件所有者、所属组和其他用户的权限。命令可以查看文件和目录的权限信息。权限信息由 10 个字符组成,例如。

2025-02-19 16:01:23 262

原创 VMware Workstation 17 Pro 虚拟机安装教程

在VMware Workstation 17 Pro的菜单栏中,选择“虚拟机” -> “设置” -> “CD/DVD(SATA)” -> “使用ISO映像文件”,然后选择你的操作系统ISO镜像文件。创建新的虚拟机: 在VMware Workstation 17 Pro的主界面,点击“创建新的虚拟机”按钮。启动虚拟机: 在VMware Workstation 17 Pro的主界面,选择你刚刚创建的虚拟机,然后点击“编辑虚拟机”按钮。选择安装方法: 选择“稍后安装操作系统”选项,然后点击“下一步”。

2025-02-18 11:40:45 780

原创 spark大数据分析

大量(Volume):分布式计算和内存计算。高速(Velocity):流处理和微批处理。多样(Variety):种类和来源多样化。分为结构化数据和非结构化数据。低价值密度(Value):高效数据处理和机器学习支持。真实性(Veracity):数据清洗和容错机制。这些特性使得 Spark 成为处理和分析大数据的理想工具,广泛应用于日志分析、实时监控、推荐系统、机器学习等领域。大数据部门组织结构。

2025-02-18 10:18:07 599

原创 运用软件开发的三层结构创建图书馆查书

这一层负责与数据库交互,执行CRUD(创建、读取、更新、删除)操作。通过这样的三层结构,可以创建一个模块化、易于维护和扩展的图书馆查书系统。3,埃隆·马斯克传,艾萨克森,true。5,杨苡口述自传,杨苡、余斌,true。1,人性的弱点,卡耐基,false。4,苏东坡传,林语堂发,false。8,毛泽东选集,毛泽东,true。2,理想国,柏拉图,false。6,曾国藩传,张宏杰,true。10,毛泽东传,李锐,true。11,test,测试,true。9,毛泽东传,胡绳,true。

2024-12-18 17:06:42 560

原创 软件开发中的三层结构

在软件开发中,三层结构(Three - Tier Architecture)是一种常见的软件架构模式。它将软件系统分为三个主要的层次,即表示层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。每一层都有其特定的功能,并且层与层之间相互协作,以实现完整的软件功能。这种分层结构有助于提高软件的可维护性、可扩展性和可复用性。

2024-12-16 17:10:09 1263

原创 scala的隐式对象

中是比较好的做法,这样可以更好地控制它们的作用域和可见性。一般来说,将隐式对象放在合适的包对象(

2024-12-13 00:45:00 676 2

原创 scala的泛型

【代码】scala的泛型。

2024-12-12 17:52:11 1278 1

原创 scala的隐式类

【代码】scala的隐式类。

2024-12-12 00:45:00 530

原创 scala的函数的隐式参数

时,编译器会查找并使用定义好的三个隐式值来填充函数的三个隐式参数。

2024-12-11 14:52:59 393

原创 scala的隐式转换

【代码】scala的隐式转换。

2024-12-10 01:00:00 1710 3

原创 scala的正则表达式的特殊规则

【代码】scala的正则表达式的特殊规则。

2024-12-09 15:45:47 1133

原创 scala中的正则表达式

正则表达式是一种针对于字符串的操作,主要功能有匹配、切割、替换和获取的作用,在Scala中正则也是被频繁使用的方法(regex.r表示为正则表达式)在 Scala 正则表达式中,排除字符类是一种特殊的字符类定义方式,用于匹配除了字符类中指定字符之外的其他字符。===>{0,1} 把前面的字符匹配0次,或者1次。===>{0, } 把前面的字符匹配0次,或者多次。===>{1 } 把前面的字符匹配最少1次。1.{n,m}把前面的字符匹配最少n次,最多m次。方法将字符串转换为正则表达式。

2024-12-06 00:45:00 239

原创 scala的高阶模式的案例

是一个通配符,表示匹配数组中剩余的所有元素,但不将它们赋值给任何变量。匹配的时候,case class的属性个数要对上,属性名不需要一一对应。match case 能根据 类名和属性的信息,匹配到对应的类。如果条件为真,那么就打印出对应的键。类型的对象,它会打印 "学生" 的班级和名字。将会分别被赋值为数组的第一个、第二个和第三个元素。不是这两种类型中的任何一种,它会打印 "其他"。类型的对象,它会打印 "普通人类" 后跟。这行代码是模式匹配的关键部分。的类型,并根据其类型执行相应的。

2024-12-05 01:00:00 362

原创 scala的高阶匹配之变量类型匹配

Scala的模式匹配是从上到下进行的,所以您应该将最具体的模式放在前面,以确保正确的匹配。在 Scala 的模式匹配中,变量类型匹配是一种常见的高阶匹配方式。:在匹配数组时,您需要指定数组的类型,否则编译器不知道您期望的数组类型。:在Scala中,您不能直接在模式中指定数组的长度。语句中指定类型来匹配变量的类型。是 Scala 中所有类型的超类型。来匹配任意数量的元素。

2024-12-04 14:18:17 187

原创 scala的守卫语句

分支上的条件表达式。它用于进一步筛选符合特定模式的情况,只有当模式匹配成功且守卫语句的条件也满足时,对应的。)中,守卫语句(Guard)是一种附加在。在 Scala 的模式匹配(以下是运用守卫语句的例子。

2024-12-04 01:00:00 424

原创 scala的swtich case精准匹配

成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。语法,但是更加强大。模式匹配语法中,采用match关键字声明,每个分支采用。,那么会执行case _分支,类似于Java中default语句。结构中,最基本的精准匹配是常量匹配。类似于 Java 中的。关键字进行声明,当需要。

2024-12-03 01:00:00 208

原创 scala的模式匹配swtich case++

它用于对一个值进行模式匹配,根据值的不同模式执行不同的代码块。是一个通配符模式,用于匹配前面没有匹配到的所有情况,类似于。等是当值匹配相应模式时返回的结果,最后的。结构类似于其他语言中的。是要进行模式匹配的值,在 Scala 中,

2024-12-02 14:54:06 289

原创 在scala中分析同学成绩

【代码】在scala中分析同学成绩。

2024-11-30 01:00:00 240

原创 Scala函数的字面量语法

Scala的函数字面量语法 Scala的函数字面量语法为: (参数列表) => {方法体} 与 定义函数 的语法相比,它省略了def关键字、函数名以及函数的返回类型。在Scala的函数字面量的定义中直接把参数列表与方法体通过=>相连。例如定义一个函数字面量对输入变量加1并返回,即 (x:Int)-=> {x+1}。由于Scala的函数字面量没有定义函数名,所以又把这种函数字面量称为匿名函数。

2024-11-29 01:00:00 589

原创 Scala链式风格

【代码】Scala链式风格。

2024-11-28 01:00:00 668

原创 scala统计词频

【代码】scala统计词频。

2024-11-27 15:39:28 1078

原创 Scala的身份证中的秘密

不知道大家有没有好奇过身份证上数字的排列,今天我们来了解一下身份证中的秘密。并且判断一下随便输入一串数字的身份证号是否合法。

2024-11-25 16:32:42 504

原创 Scala 中Stack和Queue两种常用集合类型

StackQueue。

2024-11-23 01:00:00 263

原创 Scala中在集合复习,Map, Set ,Array, List是不是只有这四个?他们之间有什么关系,区别?

Scala 中的集合类型丰富多样,除了 Map、Set、Array、List 之外,还有如 ListBuffer、Vector、Stack 等多种集合类型,但 Map、Set、Array、List 是比较常用和基础的几种。

2024-11-22 01:00:00 1634

原创 Scala练习题(梦想清单管理)

【代码】Scala练习题(梦想清单管理)

2024-11-21 01:00:00 730

原创 Scala的Array和ArrayBuffer集合及多维数组

平均插入/删除时间复杂度为O(1):向ArrayBuffer中添加或删除元素的平均时间复杂度为O(1),因为它会自动调整内部数组的大小。平均访问时间复杂度为O(1):由于Array的元素在内存中是连续存储的,因此通过索引访问元素的平均时间复杂度为O(1)。动态大小:ArrayBuffer的大小可以根据需要进行自动调整,因此它可以包含任意数量的元素,而不需要提前定义大小。不可变性:Array是不可变的,即不支持添加、删除或更新元素。可变性:ArrayBuffer是可变的,即可以在创建后添加、删除或更新元素。

2024-11-20 15:05:02 898

原创 scala的迭代器

会返回迭代器的下一个元素,并且更新迭代器的状态。不是一个集合,它是一种用于访问集合的方法。类似遍历器,一个不落,挨个访问。迭代器 it 的两个基本操作是。用于检测集合中是否还有元素。

2024-11-18 15:51:25 217

原创 Scala的case class

case class 类名(参数 1: 类型 1, 参数 2: 类型 2,...)3.自动重写方法:toString,equals,hashCode,copy。简洁的构造方式,自动生成方法,模式匹配,不可变数据结构,方便的复制和修改。1.语法简洁性2.模式匹配便利性3.不可变性与可变性4.复制便捷性。case class是scala中的一种特殊的类。2.创建对象不用写new。:创建对象的属性不可变。

2024-11-14 00:45:00 321

原创 scala的list

Scala 列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变,其次列表 具有递归的结构(也就是链接表结构)而数组不是。

2024-11-13 00:45:00 643

原创 scala创建一个可变map用于存储图书馆信息

1. 创建一个可变 Map,用于存储图书馆中的书籍信息(键为书籍编号,值为包含书籍名称、作者、库存数量的元组),初始化为包含几本你喜欢的书籍信息。4. 修改某本书籍的库存数量(假设可以通过键找到对应的元组并修改其中的值,这里体现可变 Map 的特性)。3. 根据书籍编号查询某一本特定的书籍信息,使用 get 方法,并输出结果。2. 使用 += 操作符添加两本新的书籍到图书馆集合中。6. 遍历图书馆书籍 Map,并打印出每本书的信息。5. 使用 -= 操作符从图书馆集合中删除一本书。

2024-11-12 01:00:00 366

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除