- 博客(66)
- 收藏
- 关注
原创 MR提交YARN详细流程
步、各个任务通过某个 RPC 协议向 ApplicationMaster 汇报自己的状态和进度,以让 ApplicationMaster 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。第3步、ApplicationMaster启动成功之后,首先向ResourceManager注册并保持通信,这样用户可以直接通过ResourceManage查看应用程序的运行状态(处理了百分之几);第6步、NodeManager 为任务设置好运行环境后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
2025-05-14 08:19:15
238
原创 hadoop的组成
对普通用户来说, Hadoop就是一个东西,一个整体,它能给我们提供无限的磁盘用来。但是,我们要把它搭建起起来,就必须要了解它的基本组成,知道它的内部分工。个组成部分:MapReduce,Yarn,HDFS。在Hadoop3.X中,hadoop一共有。MapReduce: 用来提供计算。HDFS:用来提供文件存储功能。Yarn: 用来协调调度。,可以使用提供强大的。
2025-05-14 08:19:00
227
原创 hdfs概述
随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。数据自动保存多个副本(可以灵活指定副本个数),它通过增加副本的形式,提高容错性。数据规模:能够处理数据规模达到GB、TB、甚至PB级别的数据。文件规模:能够处理百万规模以上的文件数量。
2025-05-14 08:18:41
212
原创 shell操作文件下载
示例需求: 把服务器上的shuguo.txt 下载到hadoop100的 files目目录下。下载就是把集群中的文件下载到本地。它要用到的命令是hadoop fs -get。hadoop fs -get 服务器上的文件路径 本地文件路径。
2025-05-14 08:18:25
299
原创 动态设置副本份数(参数优先级)
默认情况下,上传的文件会被保存3份,如果需要的话,我们可以随时去修改这个设置参数。客户端代码中设置的值。)服务器的默认配置(
2025-05-14 08:18:02
121
原创 HDFS文件更名和移动
文件更名和文件移动本质是一样的: 更新了这个文件的访问路径。这两个操作的的API都是rename。同样的,请大家运行之后,回去ui界面去检查。// 1 获取文件系统。// 2 修改文件名称。
2025-05-14 08:17:41
247
原创 MapReduce工作过程
每个Map任务读取数据,按行处理,按空格进行切分,组成KV键值对,单词为键,1为值,将键值对保存到磁盘。其他的mapTask也会去生成这样的文件,这个文件的内容会有两个部分:a-p是一部分,q-z是另一部分。reducer任务。根据具体的需求去启对应的数量的reducerTask(这里需要两个),每个ReducerTash会去每个节点上去拉取自己需要的数据。运行reduce程序,保存数据。绿色的文件有200M,并分成两个块。红色的文件有100M,所以一共分成了3个块。启动3个Map任务。
2025-05-14 08:17:25
136
原创 MapReduce的两个阶段
该阶段编程模型中有一个 reduce 函数需要开发人员重写,reduce 函数的输入也是一个 <key, value> 对,reduce 函数的输出也是一个 < key,List<value>> 对。但是它们的数据依赖于上一个阶段所有 mapTask 并发实例的输出。该阶段的编程模型中会有一个 map 函数需要开发人员重写,map 函数的输入是一个 < key,value > 对,map 函数的输出也是一个 < key,value > 对,key和value的类型需要开发人员指定。
2025-05-14 08:17:05
238
原创 MapReduce的编程规范
用户编写MapReduce程序的时候,需要设计至少三个类:Mapper, Reducer, Driver(用于提交MR的任务)。LongWritable: 即K1的数据类型,表示读取到的一行数据的行偏移量,只能设置为LongWritable类型。用户编写的程序分成三个部分:Mapper、Reducer和Driver。类,继承org.apache.hadoop.mapreduce.定义K1,V1,K2,V2的泛型(K1,V1是。,每一个键值对都会调用一次。Mapper的输出数据类型。Mapper的输入数据。
2025-05-14 08:08:16
123
原创 MapReduce的优缺点
比如其中一台机器挂了,它可以把上面的计算任务转移到另外一个节点上运行,不至于这个任务运行失败,而且这个过程不需要人工参与,而完全是由。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的。当你的计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出。的输入数据集是静态的,不能动态变化。会一条一条的过来,是动态产生的。
2025-05-14 08:07:57
256
原创 yarn流程
MR作业状态汇报 Container(Map|Reduce Task)-->Container(AppMaster)资源的申请 AppMaster-->RM。MR作业提交 Client-->RM。节点的状态汇报 NM-->RM。
2025-05-09 14:34:07
156
原创 压缩方式选择
压缩方式选择时重点考虑:压缩/解压缩速度、压缩率(压缩后存储大小)、压缩后是否可以支持切片。想支持切片需要额外创建索引。优点:压缩和解压缩速度快;优点:压缩率比较高;
2025-05-07 08:59:57
249
原创 压缩位置选择
hadoop自动检查文件拓展名,如果拓展名能够匹配,就会用恰当的编解码方式对文件进行压缩和解压。如果数据量小于块大小(128M),则不需要考虑切点问题,重点考虑压缩和解压缩速度比较快的LZO/Snappy。如果需要切片,重点考虑支持切片的Bzip2和LZO。如果数据需要永久保存,考虑压缩比比较高的Bzip2和Gzip。如果数据要作为下一个MapReduce的输入,需要考虑数据量和是否支持切片。为了减少MapTask和ReduceTask之间的网络IO,重点考虑压缩和解压缩快的LZO,Snappy。
2025-05-07 08:59:25
167
原创 shell操作文件上传
要在 shell 中上传文件, 可以使用 SCP(Secure Copy)命令。SCP 是一个安全的远程文件复制命令,它通过 Secure Shell (SSH) 进行加密传输。在执行命令时,系统会提示你输入远程主机的密码。输入密码后,文件将被安全地上传到远程主机上。请确保你拥有适当的权限来上传文件到远程主机。
2025-05-07 08:58:30
616
原创 数据压缩的优缺点
综上所述,数据压缩在存储和传输数据时具有明显的优势,但也需要权衡其带来的开销和潜在风险。数据压缩是将数据转换为更小的形式以节省存储空间或传输带宽的过程。
2025-05-07 08:56:41
389
原创 数据压缩的概念
数据压缩指的是通过各种压缩算法和技术,将原始数据转换为更小的形式,以减少数据占用的存储空间或减少数据在传输过程中所需的带宽。无损压缩:在无损压缩中,压缩后的数据可以完全还原为原始数据,没有任何信息丢失。这种压缩方法适用于那些对数据精确性要求高的情况,比如文本文件和程序文件的压缩。这种压缩方法适用于一些对数据精确度要求不高的情况,比如音频和视频文件的压缩。数据压缩在数据传输、存储和处理领域广泛应用,能够有效提高数据传输速度、减少存储成本,并且在网络通信和云计算等领域发挥着关键作用。
2025-05-07 08:56:03
239
原创 hadoop的序列化
这些框架可以帮助开发人员定义数据结构,然后自动生成相应的序列化和反序列化代码。Hadoop中的序列化是指将数据转换为字节流的过程,以便在网络上传输或存储。Hadoop使用自定义的序列化和反序列化机制来处理大量的数据,这有助于在分布式环境中高效地进行数据传输和处理。通过序列化,Hadoop可以将数据以紧凑的格式存储和传输,减少了网络传输和磁盘占用的开销。总的来说,Hadoop的序列化是非常重要的,它可以提高数据处理的效率和性能,同时还能降低资源消耗。
2025-05-07 08:55:18
281
原创 Java自带的序列化
在Java中,序列化是一种将对象转换为字节流的过程,这样可以将对象存储到文件中或通过网络进行传输。当一个类实现了 Serializable 接口后,可以使用 ObjectOutputStream 类的 writeObject() 方法将该类的对象序列化成字节流,然后可以使用 ObjectInputStream 的 readObject() 方法将字节流反序列化为对象。需要注意的是,虽然 Java 提供了默认的序列化机制,但在实际开发中有时候会遇到一些问题,比如序列化的性能问题、安全问题等。
2025-05-07 08:54:12
126
原创 序列化与反序列化
下面我们来看一个例子:通过代码来定义一个类,并创建它的一个对象,把这个对象保存到文件中(序列化),然后再写代码读取这个文件并还原回来。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据,转换成内存中的对象。序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。
2025-05-07 08:53:32
151
原创 设置reduceTask的值
reduceTask是指在MapReduce任务中用来处理中间数据的任务数量。你可以通过调整该值来改变任务的性能和资源利用情况。一般来说,设置reduceTask的值取决于数据量的大小和处理的复杂程度。较小的数据集和简单的处理可以考虑减少reduceTask的数量,而较大的数据集和复杂的处理可能需要增加reduceTask的数量。通过这种方式,你可以根据具体的需求来设置reduceTask的值,以达到最佳的性能和资源利用情况。
2025-05-07 08:51:49
151
原创 ETL介绍
Transform(转换):对抽取的数据进行清洗、转换、整合、规范化等处理,使数据变得更加干净、一致、可靠。转换的过程可能包括数据清洗、数据校验、数据标准化、数据聚合、数据计算等。Extract(抽取):从不同的数据源中提取数据,可以是关系型数据库、文件、Web服务等。Load(加载):将经过转换处理后的数据加载到目的端,一般是数据仓库、数据湖、数据集市等目标存储系统中,以供后续的分析和查询。ETL的核心作用是确保数据的质量,使数据变得更加可靠和有用,为后续的数据分析、报表生成、业务决策提供基础。
2025-05-07 08:50:59
377
原创 maven打包
Maven 是一个项目管理和构建自动化工具,可以用来管理 Java 项目的构建、依赖和发布。在 Maven 中,打包是将项目源代码编译、测试、打包并生成可部署的文件(如 JAR、WAR、EAR 等)的过程。Maven 的官方文档提供了详细的说明,可以帮助你更好地理解和使用 Maven 进行项目构建和打包。的 Maven 项目描述文件。执行该命令后,Maven 会自动执行项目的编译、测试和打包,并在项目的。目录下生成打包好的文件。如果你需要定制 Maven 打包的一些特殊操作,可以在项目的。
2025-05-07 08:50:16
190
原创 HDFS文件上传
HDFS(Hadoop Distributed File System)是一种分布式文件系统,可以用来存储大量的数据文件。以上是两种常见的方式,可以根据需要选择适合自己的方法来上传文件到HDFS。
2025-05-07 08:48:24
547
原创 maven基本介绍
Maven通过一个项目对象模型(Project Object Model,POM)文件来管理项目,其中包含了项目的基本信息、依赖项、插件等配置信息。Maven使用约定优于配置的原则,根据约定来管理项目的结构,并提供了一系列的生命周期和插件来执行各种构建任务。Maven是一个常用的项目构建工具,用于管理Java项目的构建、依赖管理和项目信息管理。总的来说,Maven是一个颇受欢迎的构建工具,它可以帮助开发人员简化项目构建流程,提高开发效率,并确保项目的一致性和可维护性。
2025-05-07 08:47:26
383
原创 什么是rdd,rdd有哪几种创造方式
RDD是Resilient Distributed Dataset的缩写,是Apache Spark中最基本的数据抽象,代表一个不可变、可分区、可并行操作的数据集合。
2025-05-07 08:41:44
308
原创 spark-standalone模式
可以通过启动Master节点和Worker节点的方式来配置和启动Spark Standalone集群。使用Spark Standalone模式可以简单地部署和管理Spark集群,适用于小型规模的集群部署。然而,对于大型和复杂的集群场景,通常会选择使用更强大和灵活的资源管理器,如YARN或Mesos。Spark Standalone模式是Spark集群的一种部署方式,即在没有使用其他资源管理器(如YARN或Mesos)的情况下,在Spark自身提供的集群管理器中部署和运行Spark应用程序。
2025-04-25 15:59:14
273
原创 spark和hadoop之间的对比和联系
总的来说,Spark和Hadoop是两种不同的大数据处理框架,具有各自的优势和适用场景,可以根据具体的需求选择合适的框架或者将它们结合使用来满足不同的大数据处理需求。Spark和Hadoop是两种不同但常常一起使用的大数据处理框架。
2025-04-23 11:10:25
371
原创 yarn的基本介绍
ResourceManager(RM): YARN集群中的主角色,决定系统中所有应用程序之间资源分配的最终权限,即最终仲裁者。ResourceManager,NodeManager 是集群物理层面的组件,ApplicationMaster(App Mstr) 是App层面的组件。应用程序内的“老大”,负责程序内部各阶段的资源申请,监督程序的执行情况。:将资源按照容量进行划分,为每个任务或用户分配固定的资源容量,确保资源的利用率和可靠性。:按照任务提交的先后顺序进行资源调度,即先提交的任务先被调度执行。
2025-04-18 15:01:11
306
原创 MapReduce的工作原理
Reduce阶段: 在Reduce阶段,相同键的中间结果会被传递给Reduce函数进行聚合。Reduce函数的任务是将相同键的中间结果合并并生成最终的输出结果。Map阶段: 在这个阶段,数据会被拆分成小的独立单元,然后每个单元会被传递给Map函数进行处理。Map函数的任务是将输入数据映射成键值对,并生成中间结果。总的来说,MapReduce通过将数据处理任务拆分成Map和Reduce两个阶段,并配以适当的数据分区、任务分配和结果合并机制,实现了高效的大规模数据处理。
2025-03-31 19:39:09
192
原创 hadoop集群的常用
Hadoop Spark:基于内存计算的大数据处理框架,提供了比MapReduce更快的计算速度和更多的操作。以上是Hadoop集群中的一些常用组件,它们共同构成了Hadoop生态系统,为大规模数据处理提供了强大的支持。Hadoop Common:Hadoop框架的共享工具集,提供了Hadoop集群中各个组件所需的支持功能。MapReduce:Hadoop的计算框架,用于将大规模数据分布式处理成小块,然后将结果合并。Hadoop Hive:基于Hadoop的数据仓库工具,可以方便地进行数据查询和分析。
2025-03-31 19:38:15
275
原创 如何配置虚拟机的IP上网
在网络设置中,选择手动配置IP地址(静态IP)或自动获取IP地址(动态IP)的方式,具体取决于你的网络环境和需求。打开虚拟机软件,确保虚拟机的网络设置为“桥接模式”或“NAT模式”,这样虚拟机可以与物理网络连接。测试网络连接,打开浏览器访问网页或者使用其他网络功能,确保虚拟机已经成功连接到网络并可以正常上网。如果选择自动获取IP地址,启用DHCP功能,虚拟机会自动从物理网络中获取IP地址等信息。在虚拟机操作系统中,打开网络设置界面,一般在控制面板或系统设置中可以找到网络设置选项。
2025-02-28 15:56:26
562
原创 虚拟机的运行命令
请注意,以上示例中的命令需要替换为您自己的虚拟机文件路径或名称。具体的运行命令还取决于您的操作系统和虚拟化软件版本。虚拟机的运行命令通常取决于使用的虚拟化软件。
2025-02-21 16:01:24
333
原创 vm+centos虚拟机
**VirtualBox**(免费,适用于Windows、Linux、macOS)- **硬盘空间**:建议至少20GB,具体取决于操作系统和应用程序需求。3. **仅主机模式**:虚拟机与主机形成独立网络,不与外部通信。2. **桥接模式**:虚拟机获得独立IP,与主机在同一网络。- **许可证**:某些虚拟机软件和操作系统可能需要许可证。1. **NAT模式**:虚拟机共享主机IP,适合上网。- **安全性**:虚拟机也应安装防病毒软件并定期更新。- **Hyper-V**(Windows自带)
2025-02-19 11:19:43
236
原创 Scala的泛型
协变指的是可以将泛型类型的子类赋值给泛型类型的超类,逆变指的是可以将泛型类型的超类赋值给泛型类型的子类。例如,可以定义一个泛型方法printList[A](list: List[A]),其中A是一个类型参数,可以处理任意类型A的列表。类型参数:在定义类、对象、方法时,可以通过使用类型参数来指定要处理的类型。Scala中的泛型与Java中的泛型类似,可以在类、方法等地方使用泛型。泛型类:使用类型参数的类被称为泛型类。例如,List[A]是一个泛型类,可以处理任意类型A的列表。
2024-12-12 09:23:21
146
原创 Scala的trait
trait还可以被其他对象混入(mixed in),这样就可以将trait中定义的方法和字段添加到这个对象中。这种混入的方式可以在不修改原有类的情况下,给类添加功能,实现了一种与传统继承不同的复用机制。类可以实现trait中的抽象方法,并且可以覆盖trait中的具体方法。Scala中的trait是一种特殊的抽象机制,可以用来定义一组相关的方法和字段,类似于其他编程语言中的接口或者混入。通过使用trait,Scala提供了一种更加灵活和强大的代码复用和组合机制,使得代码更加可扩展、可维护和可测试。
2024-12-11 21:14:45
312
原创 Scala的多态概述
子类型多态(Subtype Polymorphism): 子类型多态是指可以使用父类型的变量来引用子类型的对象。在使用子类型多态时,可以通过父类型的变量来调用子类型特有的方法。参数多态(Parametric Polymorphism): 参数多态是指可以使用一个通用的类型来代表不同类型的参数。在Scala中,多态(Polymorphism)是指可以使用一个通用的类型来代表多个不同的具体类型对象。总结起来,Scala的多态机制允许我们在不同的上下文中使用相同的代码处理不同类型的对象或参数。
2024-12-11 21:13:40
495
原创 Scala的map和foreach函数的应用
注意:map函数返回一个新的集合,而foreach函数没有返回值。因此,如果需要对集合进行转换操作并返回新的集合,可以使用map函数;如果只需要对集合中的元素进行操作,可以使用foreach函数。在Scala中,map和foreach函数是集合操作中常用的函数。map函数用于对集合中的每个元素进行操作,并返回新的集合;foreach函数用于对集合中的每个元素进行操作,但不返回任何结果。
2024-12-11 21:12:17
258
原创 Scala的集合和映射
在Scala中,集合(Collection)和映射(Map)是常用的数据结构。集合是一组相同类型的对象的容器,而映射是键值对的容器。Scala中的集合和映射有许多不同的实现类,每个实现类都有不同的特性和性能特点。使用集合和映射有很多常用的操作和方法,例如添加元素、删除元素、查找元素等,可以根据具体的需求选择合适的集合类和映射类来使用。
2024-12-11 21:09:48
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅