- 博客(93)
- 收藏
- 关注
原创 Hadoop的序列化
序列化的时候,它会自动被调用,将一个内存中的对象,序列化成为一个字节序列。如果序列化的属性不是Hadoop的序列化类型,就要调用相应的方法把它进行序列化。下面我们来看一个例子:通过代码来定义一个类,并创建它的一个对象,把这个对象保存到文件中(序列化),然后再写代码读取这个文件并还原回来。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。),一个对象被序列化后,会附带很多额外的信息(各种校验信息,
2025-04-08 11:27:28
214
原创 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中的正则表达式
正则表达式是一种针对于字符串的操作,主要功能有匹配、切割、替换和获取的作用,在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的函数字面量语法 Scala的函数字面量语法为: (参数列表) => {方法体} 与 定义函数 的语法相比,它省略了def关键字、函数名以及函数的返回类型。在Scala的函数字面量的定义中直接把参数列表与方法体通过=>相连。例如定义一个函数字面量对输入变量加1并返回,即 (x:Int)-=> {x+1}。由于Scala的函数字面量没有定义函数名,所以又把这种函数字面量称为匿名函数。
2024-11-29 01:00:00
589
原创 Scala的身份证中的秘密
不知道大家有没有好奇过身份证上数字的排列,今天我们来了解一下身份证中的秘密。并且判断一下随便输入一串数字的身份证号是否合法。
2024-11-25 16:32:42
504
原创 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的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关注的人