- 博客(52)
- 收藏
- 关注
原创 案例-流量统计
我们有一份统计数据,这个数据是关于手机号消耗流量的情况,需求统计每一个手机号耗费的总上行流量、总下行流量、总流量。在map阶段读一行数据,切分字段,抽取手机号,上行流量和下行流量。以手机号为key,bean对象为value输出。但是,map,reducer函数都需要我们使用键值对的数据,所以我们需要一个类来描述。reduce阶段将每个手机号对应的phoneFlowBean对象封装的信息。统计每一个手机号耗费的总上行流量、总下行流量、总流量。按行读出手机号,上行流量和下行流量。通过本堂课的学习,我们学习了。
2025-04-08 16:03:30
197
原创 HDFS概述
随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。寻址时间为传输时间的1%时,则为最佳状态。其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。搭建好了hadoop集群,并测试了它们的基本使用方式,下面几节课,我们来系统学习一下hadoop的三个组成之一:hdfs的相关内容。它有两种操作,一是移动,会把当前的文件删除,二是复制,保留当前的文件。
2025-04-01 14:47:04
464
原创 14 配置Hadoop集群-配置历史和日志服务
第一课时前面的课程我们搭建了hadoop集群,并成功启动了它,接下来我们看看如何去使用集群。测试的内容包括:1.上传文件,2.下载文件,3.运行程序为了查看程序的历史运行情况,需要配置一下历史服务器。这个历史服务器需要消耗的资源比较小,你可以选择把它配置在集群中的任意一台节点上。但是,请注意,在哪一台上配置了,就应该在哪一台上去启动。我们这把它配置在nn节点上。具体配置步骤如下:1配置mapred-site.xml。
2025-03-31 22:47:10
814
原创 13 配置Hadoop集群-测试使用
上传文件的时候,我们传一个大一点的(>128M),再传一个小一点的。对于大一点的文件,我们要去看看它是否会按128M为单位去拆分这个大文件,而拆分成大文件之后,我们又怎么才能去还原?上传完成之后,我们去查看,很明显大文件被分块了,128M一块,一共有两个块。在我们上一节的hadoop配置中,我们设置了保持文件的目录是/data,所以,我们进入hadoop的按照目录下的data中去看一看。hadoop集群配置完成之后的基本组成,测试了上传小文件,大文件和执行程序时的状态。
2025-03-31 22:38:10
707
原创 11 配置Hadoop集群-免密登录
hadoop101上。我们希望达成的目标是:希望用户在hadoop100登录到hadoop101时,hadoop101不需要输入密码。hosts文件中的主机名和ip地址是否与finalshell中的连接的主机名以及对应的虚拟机上的ip地址一致。目标:hadoop100通过ssh访问hadoop101,hadoop102时不需要密码,其他两台设备也类似。(4)在hadoop100上,输入ssh hadoop101命令,看看是否可以免密登录?例如:我们先登录hadoop100,然后去登录到hadoop101。
2025-03-31 22:20:42
704
原创 配置Hadoop集群环境-使用脚本命令实现集群文件同步
hadoop一共有如下三种运行方式:1. 本地运行。数据存储在linux本地,测试偶尔用一下。我们上一节课使用的就是本地运行模式hadoop100。2. 伪分布式。在一台机器上模拟出 Hadoop 分布式系统的各个组件,各个组件在逻辑上是分离的,但是都运行在同一台物理机器上,以此来模拟分布式环境。3. 完全分布式。数据存储在HDFS,多台服务器工作,企业中大量使用。要在本地去模拟这个真实的场景功能,我们需要做好如下的准备:1)准备3台客户机(关闭防火墙、静态IP、主机名称)
2025-03-31 22:13:50
930
原创 12配置Hadoop集群-集群配置
(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。刚才我们是在hadoop100这台机器上进行了正确的设置,但是,其他的2台机器也要做相同的配置。对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。在Hadoop3.X中,hadoop一共有三个组成部分:MapReduce,Yarn,HDFS。重新启动hdfs, yarn。
2025-03-17 23:37:06
496
原创 ssh命令
eg:目标:hadoop100通过ssh访问hadoop101,hadoop102时不需要密码,其他两台设备也类似。2.在hadoop100中,把自己的公钥传递给hadoop101,hadoop102。1.在hadoop100中生成公钥和密码。hadoop101 无密登录 hadoop100,hadoop102 与(1)类似。hadoop102 无密登录 hadoop100,hadoop101 与(1)类似。eg:从hadoop100进入hadoop101的命令就是。ssh命令无需密码也可登录。
2025-03-17 23:07:28
208
原创 配置Hadoop集群
也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类节点,特点:Hadoop 启动的这些守护进程都在同一台机器上运行,是相互独立的 Java 进程。在hadoop102上,将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。如果当前在A机器上,要把A机器上的/etc/tst下的所有内容拷贝到B机器上的/etc/tst目录下,应该的命令应该怎么写?在hadoop100机器上,把文件推送到hadoop101机器上(如上右图)。
2025-03-10 11:02:52
1098
原创 配置并克隆虚拟机
这里要注意一下:VMware net work Adpater VMnet8是安装了Vm这个软件之后会自动产生的。地址用来通信,我们要把多台虚拟机设置为一个集群来工作,就必须给他们配置相同网段的IP地址。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。命令是reboot,检查是否能Ping通外网。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。进入虚拟机,修改对应的IP。
2025-02-25 16:43:29
256
原创 安装vm和centOS
在 Windows 系统下安装 VMware Workstation Pro(简称 VM)虚拟机软件以及在该虚拟机中安装 CentOS 系统的步骤。安装 VMware Workstation Pro ####
2025-02-25 14:24:21
470
原创 vi的基本使用
是Linux的内置命令,以命令的方式来运行。命令格式:vi /路径/文件名注意以下两种情况:1.如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file2.如果文件已存在,此时就打开这个文件,进入命令模式。把文本内容添加到一个全新的文件的快捷方式:echo 1 >> 1.txt。
2025-02-24 14:16:29
230
原创 Linux常用命令
1.安装vm,安装Linux/:linux根目录~:当前用户的主目录2、Linux命令CD:切换目录touch:新建一个空文件ls:查看文件信息mkdir:新建目录mkdir -p:创建子目录rm:删除文件rm -f:删除文件,不提示rm -r:删除文件夹rm -rf:删除文件夹,不提示rm -rf/*删库跑路。
2025-02-24 14:16:18
225
原创 Linux操作系统命令
当前路径:也叫做当前工作目录是当下用户所处的位置。~波浪线,当前用户的home目录,比如root用户home目录是/root。rm -rf ./bbb 将目录及以下所有递归逐一删除,无需用户确认。相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认。mkdir -p:创建目录,如果父级目录不存在,就建立一个新目录。ll -a 命令,显示当前的目录下的文件,包括隐藏文件。ll 命令,用来显示当前的目录下的文件。
2025-02-24 07:52:17
199
原创 spark
阶段一:单机时代阶段二:大数据时代-分布式处理阶段三:实时大数据时代hadoop慢因为她的计算结果保存在磁盘 处理在spark中可解决属于内存。
2025-02-18 14:26:43
236
原创 scala-图书管理系统
表示层UI:用户直接操作,调用Service层。models:模型(操作文件,数据库)service:业务逻辑,调用DAO。附件:师承B站@凡友福 老师。
2024-12-26 10:45:50
114
原创 Scala-异常
case e:异常类型1 => 处理逻辑1。case e:异常类型2 => 处理逻辑2。无论是否有异常发生,都会做的事情。发生异常之后的处理逻辑。
2024-12-16 13:15:00
414
原创 Scala-隐式转换
函数的参数类型 和 返回值类型是重要的,它约定了把什么类型转成什么类型。系统自动完成的:把一种类型的数据转成了另一种类型的数据。不是所有的类型都可以执行隐式转换。
2024-12-05 10:02:49
467
原创 Scala文件读写——成绩分析
在本课内容的基础上,补充两门新课(Java,scala)的成绩,并完成。(1)计算每个同学的总分和平均分。(2)每个科目的平均分。3.每个学生的在班级的整体排名。1.读入txt文件:按行读入。2.单科成绩的前5名排名。1.总分和平均分的计算。
2024-11-25 14:47:58
438
原创 scala集合复习
先进先出.enqueue入队,dequeue出队。pop表示取出,push表示在栈中添加元素。Stack:栈,特殊的结构。它对元素的操作是在头部:栈顶。集Set:表示无序且不重复的集合。Seq表示有先后顺序的集合。映射Map:表示键值对。二.Queue 队列。
2024-11-18 22:30:00
115
原创 scala中的Array数组
Array数组:物理空间上连续的(一个挨着一个)优势:根据下标,能快速找到元素格式:数组名(下标)List列表:物理空间上不连续(不是一个元素挨着一个元素的)优势:插入元素,删除比较快。
2024-11-18 10:16:03
528
原创 Scala-迭代器
迭代器不是一种集合,它是一种用于访问集合的方法。需要通过集合对应的迭代器调用迭代器的方法来访问。支持函数式编程风格,便于链式操作。
2024-11-13 20:27:30
1408
原创 Scala中的case class
1.使用case class 创建图书信息类Book: 包含四个属性:ID,书名,作者,价格,数量。2.创建一个名为BookList的可变List,它只能用来保存Book的实例。3.初始化三本不同的书(注意id不同就是不同的书),加入到Booklist中。4、case class 和普通的class在哪些方面有区别?1、创建的对象的属性都是不能被修改的。3、case class 的特点有哪些?1、case class 的定义语法是?1、创建的对象的属性都是不能被修改的。10.展示全部的总的金额。
2024-11-13 20:27:26
457
原创 Scala-Set图书馆书籍管理系统
4.检查某一本特定的书籍(如“Python 从入门到实践”)是否在图书馆集合中,使用contains 方法,7.求出两个图书馆书籍集合的交集,使用intersect 方法,并输出结果。1.创建一个可变 Set,用于存储图书馆中的书籍信息(假设书籍信息用字符串表示,如“Java 编程思。6.求出两个图书馆书籍集合的并集,使用union 方法,并输出结果。5.创建另一个可变 Set,表示另一个图书馆的书籍集合。于另一个图书馆的差集,使用diff 方法,并输出结果。3.从图书馆集合中删除一本书,使用-=操作符。
2024-11-05 22:00:19
247
原创 scala访问权限
两种包的管理风格:(1)一个源文件,一个包(2)嵌套package表示层级关系。这样的好处是一个文件可以定义多个包,内层包也可以访问外层的包的类和对象。
2024-10-28 21:49:24
642
原创 scala——trait_多继承
作用:1、抽象类 2、多继承。相同点:都可以定义成员变量,继承时都可以用。trait的加载顺序。trait与类的区别。
2024-10-28 08:07:45
171
原创 scala学习记录trait
在scala中,trait是一种特殊概念。trait既可以作为接口,同时也可以定义抽象方法。在scala中,trait是一种特殊概念。trait既可以作为接口,同时也可以定义抽象方法。格式:类名 extends 特质1 with 特制2 with 特质3。3、一个类继承多个trait时,要使用___________关键字。4、判断:trait中只能包含抽象属性和抽象成员?2、类通过________关键字去继承trait。1、什么是trait?trait定义和作用。trait定义和作用。
2024-10-21 11:19:20
160
原创 scala抽象类
具体方法 完整的,有方法体的。抽象方法 只有 def 方法名。包含抽象方法的类就是抽象类。抽象方法只是有方法名,没有具体方法体的方法!4、子类继承抽象时, 必须要实现全部的抽象类中的属性和方法吗?抽象属性 var 属性名:类型。抽象类的作用:提供标准,供其他类来继承(实现标准)继承抽象类时,必须要实现所有的抽象属性和抽象方法。2、抽象类中的属性和方法必须全部是抽象的。1、定义抽象类要使用关键字?3、如何定义抽象方法?
2024-10-21 08:07:50
220
原创 scala类的继承
传入的对象不同,调用方法的效果就不同!原理:参数是父类类型。在原有类的基础上定义一个新类,原有类为父类,新类为子类。class 子类名 extends 父类名。override def 方法名(参数可选){}继承的好处:复用代码(不劳而获)和实现多态。当子类从父类继承的方法不能满足需要时。先调用父类构造器,再调用子类构造器。在子类中重新定义父类的同名方法。面向对象:封装,继承,多态。
2024-10-15 22:51:36
156
原创 高阶函数2
一种集合操作,用于对集合中的元素进行聚合操作,返回一个单一的结果。它是通过指定的二元操作,对集合中的元素进行递归处理。作用与reduce一样,区别在于提供了一个。作用是把多个数据合并成一个结果。对数值排序,对字符串排序。
2024-10-14 10:07:02
191
原创 高阶函数,map,foreach,filter,flatten函数
是一个特殊的函数,特殊之处:它指使用其他函数作为参数或者返回值map函数映射。给我一个值,我给你变成另一个值。y = x * 2map函数需要一个额外的函数作为参数,所以,它是一个高阶函数对数组的每一个元素都去执行一次函数与map函数的区别:没有返回值对数组元素使用函数进行过滤。如果返回true就把该元素保留。返回一个新的数组flatten函数。
2024-10-10 11:39:49
297
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人