自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Yarn-tool接口2

/ 它要做7件事 hadoop jar mc8.js com.example.mapreduce.WordCountDriver /要处理的文件夹 /结果路径。// 6. 设置输入路径(D:\vm\wcinput)和输出路径(D:\vm\output01)(4)重新打包生成jar,假设名称为MapReduceDemo1-1.0-SNAPSHOT.jar。// 5. 设置Reduce的键值对泛型。// 4. 设置Map的键值对泛型。// 2. 关联本地的jar包。// 连接到hadoop集群。

2025-05-13 14:12:52 306

原创 Yarn-tool接口

org.apache.hadoop.util.Tool 是 Apache Hadoop 框架里的一个接口,其用途是协助开发可通过命令行运行的 Hadoop 应用程序。ToolRunner 是 Hadoop 提供的一个实用类,可用于运行实现了 Tool 接口的应用程序。run(String[] args):此方法为应用程序的主要执行逻辑,接收命令行参数,返回一个整数代表执行结果(通常 0 表示成功,非 0 表示失败)。让自己编写的程序打包之后得到jar包,也可以支持动态参数,例如在指定的队列中运行程序。

2025-05-13 14:10:39 302

原创 数据清洗3

即使你的MapReduce的输入输出文件都是未压缩的文件,你仍然可以对Map任务的中间结果输出做压缩,因为它要写在硬盘并且通过网络传输到Reduce节点,对其压缩可以提高很多性能,这些工作只要设置两个属性即可,我们来看下代码怎么设置。基于WordCount案例,只需要在dirvier类的代码中,去设置在reduce端输出压缩开启,并设置压缩的方式即可。运行代码之后,是否在输出结果中看到了压缩的格式。对应的代码有如下两行,其他的代码不动。// 设置reduce端输出压缩开启。// 设置map端输出压缩方式。

2025-05-13 14:09:34 421

原创 数据压缩2

hadoop自动检查文件拓展名,如果拓展名能够匹配,就会用恰当的编解码方式对文件进行压缩和解压。如果数据量小于块大小(128M),则不需要考虑切点问题,重点考虑压缩和解压缩速度比较快的LZO/Snappy。如果需要切片,重点考虑支持切片的Bzip2和LZO。为了减少MapTask和ReduceTask之间的网络IO,重点考虑压缩和解压缩快的LZO,Snappy。压缩方式选择时重点考虑:压缩/解压缩速度、压缩率(压缩后存储大小)、压缩后是否可以支持切片。优点:压缩/解压速度比较快;缺点:压缩/解压速度慢。

2025-05-13 14:06:51 232

原创 数据压缩1

就好比有一堆杂乱的积木,压缩算法呢,就像是把这些积木按照一定规则整理起来,装进一个小盒子里,这样占用的空间就变小了,这个过程就是压缩。不同的压缩算法整理积木的方式不一样,有的整理得更紧凑但花时间,有的速度快但可能没那么紧凑哦。有损压缩则会在一定程度上牺牲数据的精度来换取更高的压缩比,适用于对数据质量损失有一定容忍度的场景,如图像、音频、视频等多媒体数据。数据压缩是指在不丢失或尽可能少丢失数据信息的前提下,通过特定的算法和技术,对原始数据进行重新编码和处理,以减少数据存储空间或传输带宽的过程。

2025-05-13 14:05:44 156

原创 在Idea中编写Spark程序并运行

复制之前的文件,重命名为WordCount_online,并修改两个地方:输入目录改成args(0), 输出的目录改成args(1)。我们学习了如何在Idea中编写程序的基本流程,并写了一个wordcount程序,可以对比它和mapreduce的使用方式区别。// 写一个spark程序,统计input目录下所有文本文件中单词的词频。完成修改之后,要刷新maven,以下载相关的插件。// 将所有分区的数据合并成一个分区。// 读取目录下的所有文本文件。// 把结果保存在output下。// 保存结果到文件。

2025-05-13 14:04:20 392

原创 如何在idea中写spark程序

(1)访问Scala官方网站(https://www.scala-lang.org/download/)下载适合操 作系统的Scala安装包。安装Scala的操 作,也是一路默认安装即可。(2) 打开命令提示符(CMD),输入以下命令:scala -version 如果显示Scala 的版本信息,说明安装成功。Spark是基于scala的,当然它也可以支持java和scala还有python语言,我们这里会使用scala。它的功能是wordcount的功能:从指定的文件夹中去读取文件,并做词频统计。

2025-05-13 14:03:17 422

原创 hadoop 集群的常用命令

如果要一次性创建多级目录,可以加上`-p`参数,如`hdfs dfs -mkdir -p /user/hadoop/level1/level2`,这样即使`level1`目录不存在,也会自动创建`level1`和`level2`目录。例如,`hdfs dfs -put /home/hadoop/localfile.txt /user/hadoop/hdfsdir`会把本地的`localfile.txt`文件上传到 HDFS 的`/user/hadoop/hdfsdir`目录下。

2025-05-13 10:43:05 446

原创 Spark集群搭建-Standalone

进入到hadoop100机器,切换目录到/opt/module/spark-standalone/sbin下,运行命令 ./start-all.sh。切换到目录 /opt/module/spark-standalone/bin下,可以看到有一个spark-submit可执行文件,我们通过它来提交任务。进入/opt/module/把解压的内容重命名一下,mv spark-3.1.1-bin-hadoop3.2/ spark-standalone。

2025-05-13 10:41:30 407

原创 spark基础介绍

为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个简易调度器,叫作独立调度器。Spark:Spark Streaming 提供了强大的实时数据处理能力,它可以将实时数据流分割成小的批次进行处理,实现准实时的数据分析。这里的 \ 是换行输入的意思,整体的代码就只有一句,只不过太长了,我们把它拆开成几个部分来输入,其中\ 的意思就是这里写不下,写在下一行。

2025-05-13 10:39:25 1020

原创 spark和Hadoop的区别和联系

而Spark的编程模型更加灵活和简洁,它提供了丰富的API和高级的抽象(如RDD、DataFrame、Dataset等),使得开发者可以更方便地实现复杂的计算逻辑。例如,在进行大规模数据处理时,如果数据可以完全或部分存储在内存中,Spark的处理速度会比传统的基于磁盘存储的Hadoop MapReduce快很多。例如,Hive可以将数据存储在HDFS中,Spark可以作为Hive的执行引擎,通过Spark SQL来执行Hive的SQL查询,从而提高查询性能。• 日志处理:用于处理大规模的日志数据。

2025-05-12 11:26:31 936

原创 案例-流量统计

String flowDesc = String.format("总的上行流量:%d,总的下行流量是:%d,总流量是:%d",upFlowSum, downFlowSum,sumFlowSum);我们有一份统计数据,这个数据是关于手机号消耗流量的情况,需求统计每一个手机号耗费的总上行流量、总下行流量、总流量。在map阶段读一行数据,切分字段,抽取手机号,上行流量和下行流量。//1.遍历集合,取出每一个元素,计算机上行流量和下行流量的汇总。//三个属性:手机号,上行流量,下行流量。

2025-05-12 11:25:51 441

原创 HDFS概述

其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。前面的课程我们搭建好了hadoop集群,并测试了它们的基本使用方式,下面几节课,我们来系统学习一下hadoop的三个组成之一:hdfs的相关内容。一个副本丢失之后,它可以自动恢复。它有两种操作,一是移动,会把当前的文件删除,二是复制,保留当前的文件。

2025-05-12 11:24:44 365

原创 14 配置Hadoop集群-配置历史和日志服务

echo " =================== 启动 hadoop集群 ==================="echo " =================== 关闭 hadoop集群 ==================="echo " --------------- 启动 historyserver ---------------"我们基本上完成了hadoop集群的所有配置了,涉及到的服务也非常多。echo " --------------- 启动 yarn ---------------"

2025-05-12 11:23:53 510

原创 13 配置Hadoop集群-测试使用

这个存储的目录特别深,大概类似于:/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-1436128598-192.168.10.102-1610603650062/current/finalized/subdir0/subdir0。上传文件的时候,我们传一个大一点的(>128M),再传一个小一点的。在我们上一节的hadoop配置中,我们设置了保持文件的目录是/data,所以,我们进入hadoop的按照目录下的data中去看一看。文件的名称是blk_xxx。

2025-05-12 11:23:09 520

原创 11 配置Hadoop集群-免密登录

前面的课程中我们在虚拟机上安装并测试使用了hadoop的示例程序wordcount,并且在准备好了集群的同步工具,那接下来,我们就可去配置hadoop集群了。将公钥拷贝到hadoop101上。所以,对于hadoop100来说,它要生成公钥,并拷贝到hadoop100, hadoop101, hadoop102上去。我们希望达成的目标是:希望用户在hadoop100登录到hadoop101时,hadoop101不需要输入密码。在hadoop100中,把自己的公钥传递给hadoop101,hadoop102。

2025-05-12 11:22:33 487

原创 配置Hadoop集群环境-使用脚本命令实现集群文件同步

在一台机器上模拟出 Hadoop 分布式系统的各个组件,各个组件在逻辑上是分离的,但是都运行在同一台物理机器上,以此来模拟分布式环境。任务1:在hadoop102上,将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。如果当前在A机器上,要把A机器上的/etc/tst下的所有内容拷贝到B机器上的/etc/tst目录下,应该的命令应该怎么写?现在的目标是:要把hadoop100上的jdk文件夹拷贝到hadoop101中的相同的目录下。(3)修改执行权限。

2025-05-12 11:21:06 499

原创 12配置Hadoop集群-集群配置

(1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等。刚才我们是在hadoop100这台机器上进行了正确的设置,但是,其他的2台机器也要做相同的配置。对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来保存文件,可以使用提供强大的计算能力。接下来配置第二个文件,/opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml。

2025-05-12 11:19:12 907

原创 ssh命令

eg:目标:hadoop100通过ssh访问hadoop101,hadoop102时不需要密码,其他两台设备也类似。2.在hadoop100中,把自己的公钥传递给hadoop101,hadoop102。hadoop101 无密登录 hadoop100,hadoop102 与(1)类似。hadoop102 无密登录 hadoop100,hadoop101 与(1)类似。ssh 命令:全面解析ssh命令,轻松掌握远程登录与数据传输安全。eg:从hadoop100进入hadoop101的命令就是。

2025-05-12 11:18:09 111

原创 配置Hadoop集群

伪分布式:也是在一台单机上运行,但用不同的 Java 进程模仿分布式运行中的各类节点,特点:Hadoop 启动的这些守护进程都在同一台机器上运行,是相互独立的 Java 进程。在hadoop102上,将hadoop101中/opt/module/hadoop-3.1.3目录拷贝到hadoop102上。如果当前在A机器上,要把A机器上的/etc/tst下的所有内容拷贝到B机器上的/etc/tst目录下,应该的命令应该怎么写?在hadoop100机器上,把文件推送到hadoop101机器上(如上右图)。

2025-05-12 11:16:53 399

原创 配置并克隆虚拟机

配置服务器IP地址用来通信,我们要把多台虚拟机设置为一个集群来工作,就必须给他们配置相同网段的IP地址。重启的命令是reboot,检查是否能Ping通外网。注意:这里的第三个部分的10并不是固定的,我们自己可以约定,但是约定之后就要固定下来。如果不进行设置,每次启动机器时都可能是随机的IP,不方便我们后续操作。让所有的vm配置的虚拟机使用NAT时,它们的网段都是一致的。Step3: 设置虚拟机hadoop100的IP。(3)最后,关闭服务器的防火墙。具体设置为:进入虚拟机,修改对应的IP。

2025-05-12 11:15:56 211

原创 安装vm和centOS

在“新建虚拟机向导”中,选择“典型(推荐)”,然后点击“下一步”。- 选择“安装程序光盘映像文件(ISO)”,点击“浏览”找到下载好的 CentOS `.iso` 镜像文件,然后点击“下一步”。- 在安装信息摘要界面,设置“安装位置”、“软件选择”等选项: - 点击“安装位置”,选择自动分区或手动分区,然后点击“完成”。- 点击“软件选择”,根据你的需求选择安装的软件包组,例如选择“最小安装”。- 选择安装位置,你可以使用默认位置,也可以点击“更改”选择其他路径,之后点击“下一步”。

2025-05-12 11:15:02 311

原创 vi的基本使用

1.如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file。vi编辑器有三种工作模式,分别为:命令模式,输入模式,底线模式。提示:在命令模式下按shift + zz,可实现快速保存退出。由于没有鼠标,我们的操作都是用键盘来控制光标的。2.如果文件已存在,此时就打开这个文件,进入命令模式。底线命令模式:以:开始,通常用于文件的保存和退出。是Linux的内置命令,以命令的方式来运行。4.G键(大写g)可以跳到文件的最后一行。5.8g键(两个小g)跳到文件的第一行。

2025-05-12 11:14:21 246

原创 Linux的操作系统命令

当前路径:也叫做当前工作目录是当下用户所处的位置。~波浪线,当前用户的home目录,比如root用户home目录是/root。rm -rf ./bbb 将目录及以下所有递归逐一删除,无需用户确认。相对路径:当前相对当前工作目录开始的路径,会随着当前路径变化而变化。rm -rf /* 将根目录及以下所有递归逐一删除,无需用户确认。mkdir -p:创建目录,如果父级目录不存在,就建立一个新目录。ll -a 命令,显示当前的目录下的文件,包括隐藏文件。ll 命令,用来显示当前的目录下的文件。

2025-05-12 11:12:10 190

原创 spark

慢因为她的计算结果保存在磁盘 处理在spark中可解决属于内存。大数据时代-分布式处理。

2025-05-12 11:10:23 189

原创 spark和hadoop的区别与联系

Spark是如何将数据缓存到内存中的。对比一下Spark和Hive的优缺。介绍一下Hadoop的发展历程。

2025-04-21 08:24:59 447

原创 虚拟机ip配置

与 VMware 中 Windows 系统 IP 配置方法类似,通过 “控制面板” -> “网络和 Internet” -> “网络连接”,右键点击网络连接,选择 “属性”,然后配置 IPv4 的静态 IP 地址、子网掩码、网关和 DNS 服务器地址。VMware 提供了三种常用的网络连接模式:桥接模式、NAT 模式和仅主机模式。VirtualBox 提供了多种网络连接模式,如桥接网卡、NAT、仅主机(Host - Only)网络等。同样需要先确认虚拟机的网络连接模式,这里以桥接模式为例。

2025-03-03 19:29:29 566

原创 linux常见操作命令

【代码】linux常见操作命令。

2025-03-03 19:24:13 2342

原创 vm和centos

1. 下载 VMware Workstation Pro。安装 VMware Workstation Pro。1. 下载 CentOS 镜像文件。5. 命名虚拟机并选择存储位置。4. 选择客户机操作系统。8. 安装 CentOS。2. 创建新的虚拟机。7. 完成虚拟机创建。

2025-02-24 19:25:02 506

原创 vi基本使用

在使用 vi 时,需要注意命令的大小写敏感问题,并且要熟练掌握三种模式之间的切换,以便高效地进行文本编辑。命令模式,插入模式,末行模式。

2025-02-24 19:23:01 365

原创 如何安装vm和centos

2025-02-24 19:21:52 131

原创 scala

2024-12-09 10:28:04 141

原创 scala

2024-12-09 10:26:27 115

原创 Set 去重

val book1 = new Book(id = "001", name = "红楼梦", stock = 3)val book2 = new Book(id = "001", name = "红楼梦", stock = 3)val book3 = new Book(id = "001", name = "红楼梦", stock = 3)val book1 =new Book(id = "001", name = "红楼梦", stock = 3)4.添加一本已经存在的书。

2024-12-09 08:06:34 468

原创 Scala

先进先出.enqueue入队,dequeue出队。pop表示取出,push表示在栈中添加元素。Stack:栈,特殊的结构。它对元素的操作是在头部:栈顶。集Set:表示无序且不重复的集合。Seq表示有先后顺序的集合。映射Map:表示键值对。二.Queue 队列。

2024-12-09 08:04:04 110

原创 scala 身份证号码

case "15" => "内蒙古"case "23" => "黑龙江"case "11" => "北京"case "12" => "天津"case "13" => "河北"case "14" => "山西"case "21" => "辽宁"case "22" => "吉林"case "31" => "上海"case "32" => "上海"case "33" => "浙江"case "34" => "安徽"case "35" => "福建"case "36" => "江西"

2024-12-09 08:02:51 573

原创 Scala 正则表达式

\d 是的表现方式。

2024-12-09 01:27:23 690

原创 Scala 隐式转换

系统自动完成的:把一种类型的数据转成了另一种类型的数据。不是所有的类型都可以执行函数的和 返回值类型是重要的,它约定了把什么类型转成什么类型。

2024-12-09 01:26:00 365

原创 Scala

Scala is amazing.提取出"Scala isamazing.子串,并将其与“Programmming in Scala is fun.”连接起来。的浮点数,将其转换为浮点效英型,然后再将这个浮点数类型,然后再将这个浮点数转换回字符串并打印。4.编写程序,对于给定的英文字符串,统计其中每个单词出现的次数(假设单词之间以空格分隔)3.创建一个字符串,包含姓名、年龄和成绩(如"John,20,85")通过。双引号 三引号。

2024-12-09 01:24:17 504

原创 Scala

def sayName(implicit name: String = "小雪花"): Unit = {//1.在函数的默认参数的前面补充关键字:implocit。implicit val defaultValues = "小高"//给参数一个默认值:如果不传入就使用这个值。print(s"我叫:$name")//2.在定义变量的前面 补充关键字。// sayName("小明")//sayName("小雪")//需求:能够给自己设置默认值。//3.调用函数时,不加()

2024-12-09 01:20:21 256

空空如也

空空如也

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

TA关注的人

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