![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据处理
文章平均质量分 87
小毕超
善于钻研思考,乐于追求新知识,热爱微服务架构,国内软考高级系统架构设计师职称,国际TOGAF鉴定级企业架构设计师、PMP项目管理师,华为云·云享专家,CSDN博客专家。曾获“联想杯”移动互联比赛 江苏省一和国二成绩,第四届全国应用型人才比赛“兄弟连杯”国一成绩。
展开
-
基于 Kettle + StarRocks + FineReport 的大数据处理分析方案
Kettle + StarRocks + FineReport 的大数据处理分析方案,其中 `Kettle` 负责数据的`ETL`处理,`StarRocks` 负责海量数据的存储及检索,`FineReport` 负责数据的可视化展示。原创 2023-10-08 14:02:36 · 911 阅读 · 0 评论 -
Java Spark 操作 Apache Kudu
`Apache Kudu`是一种列式分布式存储引擎,它的设计目标是支持快速分析和高吞吐量的数据访问,同时也能够支持低延迟、实时查询和更新操作。它被称为`Hadoop`生态系统的新一代存储层,能够与`Apache Spark、Apache Impala、Apache Hive`等大数据处理框架集成使用。原创 2023-06-18 14:53:24 · 903 阅读 · 0 评论 -
FineReport 使用 Echarts 绘制热力图
`FineReport` 支持使用 `Echarts` 进行图表的扩充,本文基于 `FineReport` 使用 `Echarts` 插件绘制热力图。原创 2023-05-28 22:30:32 · 781 阅读 · 0 评论 -
基于 FineReport 快速设计联动报表
FineReport 一款用于报表制作,分析和展示的工具,可以轻松的构建出灵活的数据分析和报表系统。原创 2023-05-07 17:48:39 · 1611 阅读 · 1 评论 -
ETL工具 - JAVA 调用 Kettle 转换、作业脚本
JAVA 调用 Kettle 转换、作业脚本。原创 2023-05-03 16:39:31 · 4041 阅读 · 2 评论 -
ETL工具 - Kettle 案例,拉取网络列表数据
的话就执行转化进行具体的获取数据写数据的操作,这里转换返回的结果把接口返回的。一页的大小,如果我们要获取全部的数据,肯定需要对这两个参数进行修改。下面通过计算总条数转换获取到总数,实际就是取的返回中的。工具访问该接口获取到数据,然后根据拿到的结果使用。对结果集进行解析,这里分了两个链路,上面的解析。的大部分算子都应该有了相应的了解,下面我们基于。的查询、连接、统计、脚本算子进行了介绍,对。在转换执行后,无需拿到转换的结果,直接对。拼接一个完整的访问接口,替换到原来的。下面又指向检验字段的值,一直递归计算。原创 2023-05-02 22:05:13 · 2305 阅读 · 3 评论 -
ETL工具 - Kettle 查询、连接、统计、脚本算子介绍
连接算子一般将多个数据集通过关键字进行连接,类似 `SQL` 中的连接操作,统计算子可以提供数据的采样和统计功能,脚本算子可以通过程序代码完成一些复杂的操作原创 2023-04-30 23:12:13 · 1967 阅读 · 0 评论 -
ETL工具 - Kettle 流程、应用算子介绍
流程算子主要用来控制数据流程和数据流向,应用算子则是 Kettle 给我们提供的一些工具类原创 2023-04-30 17:35:52 · 991 阅读 · 0 评论 -
ETL工具 - Kettle 转换算子介绍
转换是`ETL`里面的`T`(`Transform`),主要做数据转换,数据清洗的工作。原创 2023-04-30 16:46:03 · 1189 阅读 · 0 评论 -
ETL工具 - Kettle 输入输出算子介绍
上篇文章对Kettle进行了简单的介绍及做了个简单的案例,但是对Kettle的Step算子工具没有做过多的解释,本篇文章从输入输出算子工具开始进行介绍。ETL工具 - Kettle 介绍及基本使用输入是转换里面的第一个分类,用来完成ETL中的E抽取数据或者生成数据。在Kettle。原创 2023-04-30 15:19:09 · 2627 阅读 · 0 评论 -
ETL工具 - Kettle 介绍及基本使用
在介绍Kettle前先了解下什么是ETLETL是的缩写,即数据抽取、转换、装载的过程,对于企业或行业应用来说,经常会遇到各种异构数据的处理、转换、迁移等操作,这些操作有可能会面对大量的数据和繁琐的步骤,因此就萌生了一些ETL处理工具,市面上常见的ETL工具有很多,比如等,本篇文章就主要来介绍下Kettle工具。Kettle水壶)是一款国外开源的ETL工具,现在已经更名为PDI的缩写,由纯java编写,可以在上运行,绿色无需安装,数据抽取高效稳定。Kettle如上图介绍 ,Kettle分了两种脚本文件,原创 2023-04-28 23:56:44 · 5240 阅读 · 2 评论 -
Spark - 介绍及使用 Scala、Java、Python 三种语言演示
分布式机器学习的框架,可以使用许多常见的机器学习和统计算法,例如:支持向量机、 回归、 线性回归、 逻辑回归、 决策树、 朴素贝叶斯、汇总统计、相关性、分层抽样、 假设检定、随即数据生成等,简化大规模机器学习。的快速调度能力来运行流分析,通过时间窗口截取小批量的数据并可以对之运行。类似,Spark 也有本地模式,和线上集群模式,不过不同的是,是一个快速的,多用途的集群计算系统, 相对于。当然现在有了更为发展趋势,更好处理流式数据的。的基础,,提供了分布式任务调度和基本的。的数据抽象化的概念,提供了在。原创 2022-11-27 15:29:28 · 2993 阅读 · 1 评论 -
Spark - RDD 的分区和Shuffle
将一定范围内的数映射到某一个分区内,尽量保证每个分区中数据量的均匀,而且分区与分区之间是有序的,一个分区中的元素肯定都是比另一个分区内的元素小或者大,但是分区内的元素是不能保证顺序的。前面在学习 MapReduces 的时候就提到分区,在RDD中同样也存在分区的概念,本质上都是为了提高并行度,从而提高执行的效率,那在 Spark 中的分区该怎么设置呢?来拉取自己对应的数据,可以大幅度减少所产生的中间文件,从而能够更好的应对大吞吐量的场景,在。的操作,在不同的分区之间拷贝数据, 必须跨分区聚集相同。原创 2022-12-02 21:15:00 · 1035 阅读 · 0 评论 -
Spark - OnYARN 模式搭建,并使用 Scala、Java、Python 三种语言测试
安装前需要提前安装好 环境,关于 和 集群的搭建可以参考下面我的博客:下面是我 的安装结构开始前请确保 已经成功启动起来。准备一台服务器,可以和 装在一台机子上,下面有需要读取 的配置,如果是台纯净的服务,需要将 的配置文件放上去。Yarn 需要配置历史服务器,如果没有配置通过修改下面文件开启:修改 Hadoop 安装目录 文件:添加下面配置:该需要同步到集群的其他节点:重启 集群:下载 安装包,这里我用的 版本:先将下载后的安装包上传至 节点,解压安装包:进入到加压目录原创 2022-12-04 20:14:28 · 1509 阅读 · 1 评论 -
Spark - Standalone搭建及HA模式搭建,并使用 Scala、Java、Python 三种语言测试
节点只有一台,一旦主节点宕机,集群便不可使用,此时我们可以多启动几台主节点已达到。模式,那么多主节点,之间的协调肯定是必不可少的,此时可依赖于。的位置,以及主节点的主机,如果数据没有读。先将下载后的安装包上传至。将修改好的安装包上传至。进去到解压目录下,启动。,增加下面配置,如果。安装前需要提前安装好。原创 2022-11-27 19:45:00 · 356 阅读 · 0 评论 -
Spark - RDD 算子介绍及使用 Scala、Java、Python 三种语言演示
整个过程是共享内存的, 而不需要将中间结果存放在分布式文件系统中,这种方式可以在保证容错的前提下, 提供更多的灵活, 更快的执行速度。, 意为是否取样以后是否还放回原数据集供下次使用, 简单的说,如果这个参数的值为 true, 则抽样出来的数据集中可能会有重复。算子,传入两个参数,一个是当前值,一个是局部汇总,这个函数需要有一个输出, 输出就是这个。的时候会进行惰性求值,执行到转换操作的时候,并不会立刻执行,直到遇见了。对整个结果集规约, 最终生成一条数据, 是整个数据集的汇总。原创 2022-11-27 22:44:03 · 1213 阅读 · 1 评论 -
Spark - COVID-19 案例实践使用 Scala、Java、Python 三种语言演示
对该数据集进行分析,下面是。新冠肺炎案例,本篇基于。在前面的文章中,有使用。原创 2022-12-02 19:00:00 · 652 阅读 · 1 评论 -
SparkSQL - 介绍及使用 Scala、Java、Python 三种语言演示
前面的文章中使用 进行数据的处理,优点是非常的灵活,但需要了解各个算子的场景,需要有一定的学习成本,而 语言是一个大家十分熟悉的语言,如果可以通过编写 而操作,学习的成本便会大大降低,在大数据领域 已经是数一个非常重要的范式,在 生态圈中,我们可以通过 进而转换成 进行数据分析,在后起之秀的 中也有 来简化数据的操作。 可以理解成是将 解析成: 再执行。的数据抽象是 和 ,底层都是。 可以理解为是一个分布式表,包括: 。 在 的基础上增加了泛型的概念。例如:有文本数据,读取为原创 2022-12-04 16:48:43 · 2144 阅读 · 1 评论 -
Hadoop3 - MapReduce COVID-19 案例实践
COVID-19,简称“新冠肺炎”,世界卫生组织命名为“2019冠状病毒病” [1-2] ,是指2019新型冠状病毒感染导致的肺炎。方法用于将当前对象与方法的参数进行比较。如果指定的数与参数相等返回0。如果指定的数小于参数返回 -1。如果指定的数大于参数返回 1。数据集目录和输出目录通过参数传递进来,这里我将数据集放在了。实现排序的效果,不过在上面我们已经实现了。创建 Mapper 类,截取出。输出的结果在进行处理,利用。创建 Reducer ,对。接口,在上篇文章中就讲到。, 无需做任何操作直接。原创 2022-10-23 17:08:16 · 1519 阅读 · 2 评论 -
Hadoop3 - MapReduce Join 关联注意点
上面虽然实现了数据的整个,但是 Reduce 端 join最大的问题是整个 join 的工作是在 Reduce 阶段完成的,但是通常情况下MapReduce中 Reduce 的并行度是极小的(默认是1个),这就使得所有的数据都挤压到 Reduce 阶段处理,压力颇大,极易出现数据倾斜现象。在使用 MapReduce 处理数据的时候,难免其中部分数据在其他文件中存在,因此就可能出现类似 DB 中的 Join 关联操作。如果需要得到完整的州对应的数据,就需要进行两个文件的Join 关联。原创 2022-11-03 20:45:00 · 275 阅读 · 0 评论 -
Hadoop3 - MapReduce 并行机制
Map 阶段并行度是由客户端在提交job时决定的,即客户端提交job之前会对待处理数据进行逻辑切片。切片完成会形成切片规划文件,每个逻辑切片最终对应启动一个 MapTask。其中设计到三个重要的参数:minSize、maxSize、blockSize,其中真正的切片大小,则是根据下面方式选择出来的。但是 Map 阶段的并行好像没有这种直接设置数量的参数给我们,那正常处理文件 Map 阶段的并行是怎么分割呢。总共 4 个 MapTask 进行处理。原创 2022-11-03 22:00:00 · 712 阅读 · 0 评论 -
Hadoop3 - MapReduce 分组介绍及案例实践
排序进行筛选的,这种情况在数据量巨大的情况下很容易产生。分区进行了介绍,通过分区规则控制不同的数据进到不同的。,因此可以基于自定义排序加分组的方式计算出。中,而本篇文章将的分组则是进到同一个。阶段进行分组之前,会首先进行数据排序行为(则认为前后两个相等分为一组,该类需要在。下面利用上面的特征对前面文章讲解的。两个属性,其中自定义分组中根据。相同则认为一组,可以发现在遍历。执行成功后,到输出目录中查看结果。都是不同的,因此可以通过便利。的内容,而 key 则根据。如果需要自定义规则,只需继承。原创 2022-10-24 22:30:00 · 990 阅读 · 0 评论 -
Hadoop3 - MapReduce DB 操作
对于本专栏的前面几篇文章的操作,基本都是读取本地或 HDFS 中的文件,如果有的数据是存在。不过如果要把数据库内容映射成对象实体,还需要该实体实现。数据库中,然后读取表信息作为数据集分析每个州的。案例进行试验,首先将文本类型的数据集导入。类,由于这里无需聚合分组操作,可以不做。已经写入成功,下面基于该表统计每个。方法用来指定获取数据库中的字段,现在和上面不同的是,输入和输出都是。方法用于指定写入数据库字段。负责把数据最终写入数据库中。的总数,并将计算结果写入。负责从数据库中读取数据,中的我们要怎么处理呢?原创 2022-10-27 21:00:00 · 1065 阅读 · 0 评论 -
Hive3 - HiveSQL 特征及操作
支持根据用户指定的字段进行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段。拥有该表的结构和文件,删除内部表时,它会删除数据以及表的元数据。对英文字母大小写不敏感,如果定义的数据类型和文件不一致,会尝试隐式转换,但是不保证成功。:分区字段不能是表中已经存在的字段,因为分区字段最终也会以虚拟字段的形式显示在表结构上。Hive的视图同MySQL中的视图一致,是一种虚拟表,只保存定义,不实际存储数据。,如果创建的表已存在数据,并且数据存在其他位置,可以通过。默认情况下创建的表就是内部表,原创 2022-11-10 21:45:00 · 1413 阅读 · 0 评论 -
Hadoop3 - MapReduce ORC 列式存储
在大数据场景下,核心便是 OLAP,对于这种场景下,如果是行式存储,一个典型的查询需要遍历整个表,进行分组、排序、聚合等操作,而一般情况下仅仅对其中某些感兴趣的列做运算,那一行中那些无关的列也不得不参与扫描。ORC文件中保存了三个层级的统计信息,分别为文件级别、stripe级别和row group级别的,他们都可以用来根据 Search ARGuments(谓词下推条件)判断是否可以跳过某些数据,在统计信息中都包含成员数和是否有null值,并且对于不同类型的数据设置一些特定的统计信息。原创 2022-11-04 21:00:00 · 1042 阅读 · 0 评论 -
Hadoop3 - MapReduce 数据压缩
程序运行速度,还可以减少文件存储所占空间,加快文件传输效率,并降低降低IO读写的次数。在我们平常给别人传文件时,都会习惯性的将文件压缩下再进行发送,因为这样不仅可以加快传输的速度,而且还节省空间,这种方式同样可以适用于。操作、网络数据传输需要花费大量的时间,对于大数据处理本身就是一个花费时间的问题,在磁盘。或 网络传输上再占用大量的时间无疑是额外的消耗,那需要如何解决呢!通过进入压缩的方式,计算每个州的累计 deaths 总和。的负荷,压缩算法越复杂,解压时间越长。的输出进行压缩,以减少磁盘。原创 2022-11-05 08:30:00 · 293 阅读 · 0 评论 -
Hive3 - 性能优化
此时我们可以先通过子查询查出所有A表的所有的去重的。计算处理,造成资源的浪费,尽管上面的方式可以进行文件的合并,但是有可能因为场景的不同还是产品小文件,因此在读取时就需要进行小文件的合并,在。文件的性能,当用户写入数据时,可以指定构建索引,当用户查询数据时,可以根据索引提前对数据进行过滤,避免不必要的数据扫描。分布式计算中最常见的,最容易遇到的问题就是数据倾斜,数据倾斜的现象是,当我们提交运行一个程序时,这个程序的大多数的。有效利用,向表中加载数据时,必须对需要使用索引的字段进行排序,否则,原创 2022-11-13 22:02:34 · 767 阅读 · 0 评论 -
Hadoop3 - MapReduce 分区介绍及自定义分区
当MapReduce中有多个reducetask执行的时候,此时maptask的输出到底给哪个reducetask来处理呢?其中有个分区规则,默认情况下采用也就是根据key % 分区数确定到底是哪个分区:那如果默认的无法满足我们,也是可以进行自定义分区规则的,只需要继承类,然后在方法中返回具体的分区编号即可。下面还是使用上篇文章的案例,如果我们对五个州的数据统计放在一起,其他的州放在一起。static {} }修改驱动类,设置为6,原创 2022-10-23 17:36:47 · 1192 阅读 · 0 评论 -
Hadoop3 - MapReduce 介绍于基本使用
它的出现解决了人们在最初面临海量数据束手无策的问题,同时,它还是易于使用和高度可扩展的,使得开发者无需关系分布式系统底层的复杂性即可很容易的编写分布式数据处理程序,并在成千上万台普通的商用服务器中运行。集群是分布式搭建和部署得,任何单一机器节点宕机了,它可以把上面的计算任务转移到另一个节点上运行,不影响整个作业任务得完成,过程完全是由。方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的结果,把各部分的结果组成整个问题的结果。使用了自己的序列化机制,因此也提供了常用的数据类型,都实现了。原创 2022-10-08 23:15:00 · 990 阅读 · 0 评论 -
Hadoop3 - MapReduce SequenceFile 、MapFile 格式存储
上篇文章说 MapReduce 并行机制时,讲到如果是针对小于 block 的小文件的话,会每个拆分成一个 MapTask 导致对大量小文件的处理,另外 HDFS 对大量小文件的存储效率其实也是不高,MapReduce在读取小文件进行处理时,也存在资源浪费导致计算效率不高的问题。当文件被访问的时候,索引文件会被加载到内存,通过索引映射关系可以迅速定位到指定。时,并不是将整个文件压缩成一个单独的单元,而是压缩文件里的。本身就是用来处理大型文件的,小文件是不适合的,所以用一个。存储文件的数据索引,记录了每个。原创 2022-11-04 20:00:00 · 867 阅读 · 0 评论 -
Hive3 介绍与安装使用
是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言HQL,用于访问和分析存储在Hadoop文件中的大型数据集。Hive的核心是将HQL转换为MapReduce程序,然后将程序提交到Hadoop群集执行。这里需要注意下:在 Hive2 中,由于MapReduce的特征,就已经不建议继续使用MapReduce运算,推荐使用速度更快的spark或tez。原创 2022-11-06 17:47:56 · 1406 阅读 · 0 评论 -
Hadoop3 - MapReduce 属性优化
任务都启动之后才会启动推测任务,并只针对已经运行一段时间(至少一分钟)且比作业中其他任务平均进度慢的任务。如果原任务在推测任务之前完成则推测任务就会被中止,同样,如果推测任务先完成则原任务就会被中止。任务运行比预期慢时,程序会尽量检测并启动另一个相同的任务作为备份,但是如果同时启动两个相同的任务他们会相互竞争,导致推测执行无法正常工作,这对集群资源也是一种浪费。阶段的结果,并写入缓冲区然后持久化到硬盘,处理时再从硬盘中取出,如果内存允许的情况下,可以将。的任务失败,立即重新分配资源,重新运行该失败的。原创 2022-11-05 12:00:00 · 421 阅读 · 0 评论 -
Hadoop3 - HDFS Block 负载平衡以及 Disk 平衡
发生这种情况的原因可能是由于大量的写入和删除操作,也可能是由于更换了磁盘。如果我们使用基于可用空间的选择策略,则每个新写入将进入新添加的空磁盘,从而使该期间的其他磁盘处于空闲状态。计划中的每个移动步骤都具有目标磁盘,源磁盘的地址。的正值表示磁盘未充分利用,而负值表示磁盘相对于当前理想存储目标的利用率过高。值表示该机器节点具有较好的扩展性,而较高的值表示节点具有更倾斜的数据分布。,就可以找到集群中数据分布倾斜的节点,或者可以获取给定节点的。所谓的平衡指的是每个。的存储,在所在机器上的磁盘之间分配数据块。原创 2022-10-07 12:00:00 · 1614 阅读 · 0 评论 -
Hadoop3 - HDFS DataNode 动态扩容和缩容
已有HDFS集群容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的DataNode节点。节点已经上线,但没有数据块的存储,使得集群整体来看负载不均衡。DataNode 缩容,不像扩容那样启动一个节点即可, 缩容还需要把当前节点数据移出去才可以,:旧的服务器需要进行退役更换,暂停服务,需要在当下的集群中停止某些机器上HDFS的服务。上的磁盘使用量与群集中的总体使用量相差不超过。过大的话,有可能影响业务服务的操作。的总体使用率是集群磁盘总存储容量的。例如,如果集群中所有。原创 2022-10-06 18:13:33 · 2546 阅读 · 0 评论 -
Hadoop3 - HDFS 文件存储策略
允许将不是热数据或者活跃数据的数据分配到比较便宜的存储上,用于归档或冷存储。可以设置存储策略,将较旧的数据从昂贵的高性能存储上转移到性价比较低(较便宜)的存储设备上。例如冷热数据的存储,对冷数据采取容量大,读写性能不高的存储介质如机械硬盘,对于热数据,可使用。不再使用的数据或需要归档的数据从热存储移动到冷存储。首先将副本写入RAM_DISK,然后将其延迟保存在DISK中。热时,其某些副本存储在DISK中,其余副本存储在ARCHIVE中。及以上版本都支持存储策略,在该策略下,不仅可以在默认的传统磁盘上存储。原创 2022-10-06 13:26:42 · 3421 阅读 · 0 评论 -
Hadoop3 - Java Api 操作 HDFS
如果在 windows 环境下使用 Java Api 进行操作,需要 hadoop.dll 和 winutils.exe ,可以下载Hadoop源码在windows平台编译,编译出windows本地库。如果出现下面错误,是因为以Windows登录用户访问HDFS,而该用户不具备在HDFS操作权限,可以通过修改HDFS文件系统权限,或者设置客户端身份,该身份具备在HDFS操作权限。针对不同文件系统有不同具体实现。该类封装了文件系统的相关操作方法。配置对象类,用于加载或设置参数属性。获得一个文件系统连接。原创 2022-10-05 17:17:00 · 1211 阅读 · 0 评论 -
Hadoop3 - HDFS 介绍及 Shell Cli 操作
f 同 linux 一至可以动态显示文件中追加的内容。原创 2022-10-05 15:57:43 · 889 阅读 · 0 评论 -
Hadoop3 - 集群搭建
集群启动有两种方式,一种是在每台主机中启动相应的组件,另一种 hadoop 为我们提供了一键启停脚本,前提是配置好机器之间的SSH免密登录和workers文件。访问地址:http://resourcemanager_host:8088。访问地址:http://namenode_host:9870。集群,两者逻辑上分离,但物理上常在一起。进行了简单的介绍,并搭建了单机版的。,本篇文章继续搭建集群版本的。三台主机需具备 Java 环境。下面准备在三台服务器上安装。原创 2022-10-04 09:44:24 · 1893 阅读 · 0 评论 -
Hadoop3 - 基本介绍与使用
Hadoop是Apache旗下的一个用java语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台。允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理。广义上来说,Hadoop通常是指Hadoop生态圈,狭义上说,Hadoop指ApacheHDFS(分布式文件系统):解决海量数据存储YARN(作业调度和集群资源管理的框架):解决资源任务调度MAPREDUCE(分布式运算编程框架):解决海量数据计算。原创 2022-10-03 16:47:07 · 2271 阅读 · 0 评论