自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 hdfs和hive对于小文件的处理方案

通过合并、压缩、删除、设置过期时间等方法,我们可以有效地治理小文件问题,提高HDFS的存储效率和数据处理能力。压缩后的文件在HDFS上存储,不仅可以减少存储空间,还可以减少文件数量,提高处理效率。将多个小文件合并成一个大文件,减少文件数量。:对于一些小文件,可以考虑使用非HDFS的存储方式,如关系型数据库或NoSQL数据库,使数据存储更加灵活和高效。分区下,有很多小文件,例如一个分区有1000个文件,但每个文件大小是10k,数仓大量这种小文件。文件的处理为例,我们可以使用Hive的重写方式来合并小文件。

2025-01-03 11:57:59 1210

原创 Flink教程-keyby 窗口数据倾斜的优化(转发)

对于这种简单的数据倾斜,我们可以通过对分组的key加上随机数,再次打散,分别计算打散后不同的分组的pv数,然后在最外层再包一层,把打散的数据再次聚合,这样就解决了数据倾斜的问题。在这个sql的最内层,将分组的key,也就是plat加上一个随机数打散,然后求打散后的各个分组(也就是sql中的plat1)的pv值,然后最外层,将各个打散的pv求和。在这个sql里,我们统计一个网站各个端的每分钟的pv,从kafka消费过来的数据首先会按照端进行分组,然后执行。如果某一个端产生的数据特别大,比如我们的。

2025-01-01 20:33:54 353

原创 基于Doris实时数据开发的一些注意事项(转发)

所以我们有一个定性的结论,在亿级(或者数千万)数据规模以下,可以使用类似Doris这种的分析引擎,仿照离线数据一样进行分层和定时调度,处理大窗口数据(一般时间跨度超过30天),在保证性能的前提下,降低实时数据的开发成本,并且极大提高了数据的可观测性,开发。在更多的情况下,基于Flink的实时数据开发难度要显著高于离线任务(二者根本不在一个数量级),基于Doris的存储实时数据开发可以显著降低开发门槛,但是存在滥用的可能。上面几点是一些优势,但是基于Doris的这种方案也存在明显的短板,需要大家特别注意!

2024-12-29 19:15:35 509

原创 数据质量和数据治理的关系(转发)

很多时候,数据质量是数据治理的驱动因素之一,这是数据治理计划的最初重点,因此两者之间可能会混淆。但它们并不相同,它们是同一枚硬币的两面,而不是两枚硬币。

2024-12-26 23:34:50 547

原创 数仓行为域常见指标之归因分析

归因分析重在一个结果的产生可能是行为1也可能是行为2,那么行为1和行为2 对于达成这个结果的贡献度是多少呢?需要分析。而漏斗:事件1和事件2之间肯定是有关系的,而归因分析中事件1和事件2是没什么必然的联系的。按如所示:在做一些运营活动,广告投放后,都需要去评估活动或者广告的效应;我们的销量、拉新等业务目标,在广告投放或者运营活动组织后,有了明显的提升,但是这些提升是否是因为广告、运营活动导致的,需要有数据支撑!这些数据分析,就属于事件归因分析的范畴!

2024-12-11 15:31:14 915

原创 数据库中decimal、float 和 double区别

总的来说,decimal 适用于需要高精度计算的场景,而 float 和 double 适用于一般的科学计算和工程计算。- decimal 是一种精确的十进制浮点数表示,通常用于需要高精度计算的场景,比如财务应用。- double 指的是双精度浮点数,它与 float 类似,但具有更高的精度和范围,一般是float的2倍。在计算机科学中,decimal、float 和 double 是用于表示和处理数值的不同数据类型。- float 通常指的是单精度浮点数,但在表示小数时可能会出现精度损失。

2024-12-10 21:04:44 271

原创 MySQL中timestamp 和 datetime区别

timestamp 类型的取值范围是 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。- datetime 类型的取值范围是 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。- timestamp 存储的值会受到时区的影响,它会将存储的值转换为 UTC 时间,并在检索时再转换回当前时区的时间。展示的格式是年月日时分秒。- datetime 存储的值不受时区影响,它会以原始值存储和检索。

2024-12-10 20:59:39 567

原创 指标体系这个概念的剖析

在日常生活中,想把一个事情说清楚是非常不容易的,比如你在金融公司工作,工作过程中可能会听到这样的话,本月申请贷款审批怎么这样严格,10000 人申请贷款吧,感觉好多都被拒绝了,咱们银行也太严格了吧。这样的话,闲聊还行,但是如果你向领导汇报工作,就不能这样说了,而应该如下表述:截至到 12 月 10 日,共有 10000 份申请贷款的请求,实际通过审批的有 2000 人,审核通过率 20%。

2024-12-10 18:07:59 905

原创 基于最新的Apache StreamPark搭建指南

官方文档Github地址Apache StreamPark™ 是一个流处理应用程序开发管理框架,旨在轻松构建和管理流处理应用程序,提供使用 Apache Flink® 和 Apache Spark™ 编写流处理应用的开发框架和一站式实时计算平台,核心能力包括不限于应用开发、部署、管理、运维、实时数仓等。为什么要使用 StreamPark 呢?它降低了学习成本和开发障碍,开发人员可以专注于业务逻辑。

2024-12-09 18:24:20 1172

原创 spark关联hive 报 Filesystem Close 错误

我的环境是pyspark,pyspark中操作hive,使用datagrip关联spark,在datagrip中进行查询没有问题,但只要insert into 就报:FileSystem Close错误,如何处理呢?然后使用datagrip等第三方工具进行连接,再执行以前的sql就不抱错了。假如我想将一个sql语句插入hive表中时,比如。

2024-12-09 14:25:31 446

原创 Flink学习连载文章13--FlinkSQL高级部分

说明创建窗口的时候,使用的字段不是时间字段,需要写成时间字段TIMESTAMP(3),使用了eventtime需要添加水印,否则报错。2、kafka 对接的 server,写全 bigdata01:9092,bigdata02:9092,bigdata03:9092。需求:按照滚动窗口和EventTime进行统计,每隔1分钟统计每个人的消费总额是多少。窗口分为滚动和滑动,时间分为事件时间和处理时间,两两组合,4个案例。需求:每隔1分钟统计这1分钟的每个用户的总消费金额和消费次数。

2024-12-07 22:14:19 885

原创 Flink学习连载文章12--FlinkSQL

因为DataStream中是Row 类型,所以打印的格式是Row 这个类中的toString方法决定的。这个地方的 +I 的意思是新增的数据。toAppendStream: 适用于生成新的计算结果,并不会对老的计算结果进行修改。从Kafka的topic1中消费数据并过滤出状态为success的数据再写入到Kafka的topic2。从Kafka的topic1中消费数据并过滤出状态为success的数据再写入到MySQL。以下内容是FlinkSQL的全新的方式,更加简单高效。Table风格/DSL风格。

2024-12-07 22:08:43 686

原创 Flink学习连载文章11--双流Join

一个流中有相同 Key 并且位于同一窗口的元素都会保存在同一个迭代器(Iterable),本示例中绿色流为 greenIterable,橘色流为 orangeIterable,如果要实现 RightJoin,实现原理跟 LeftJoin 一样,需要保证 greenIterable 中没有元素,orangeIterable 中的元素也能输出。需要注意的是,一个元素可能会落在不同的窗口中,因此会在不同窗口中发生关联,例如,绿色流中的0元素。其中a和b分别是上图中绿色流和橘色流中的元素,并且有相同的 key。

2024-12-06 17:21:07 1277

原创 在企业中如何保证数据安全(大数据方向)

1、数据安全,可以从几个层面去保障,首先是物理安全,比如可靠的机房,防火,防水,严格的安全管理和监控,防止别人共计机房和恶意访问终端节点,接着放着网络安全,防止非法人员进入,我们可以使用软件或者硬件来保障访问服务器的安全性,比如使用openVPN等vpn工具,或者工作机上插入一些U盾之类的设备才能访问服务器节点。第三点也是最重要的一点,做好数据的备份和恢复,防止数据丢失或者硬盘损坏带来的问题,对所有的数据进行访问权限的控制。

2024-12-06 17:11:29 403

原创 手把手教你搭建Redis集群

需要注意的是,Redis集群在实现上是一个相对复杂的系统,需要一些配置和管理的工作。例如,需要设置节点间的通信和复制机制,以及监控和管理集群的状态。因此,在使用Redis集群时,建议参考Redis官方文档或其他相关资源,以确保正确配置和操作集群。小伙伴们大家好,上一次给大家发了一个手把手教你使用哨兵模式搭建redis主从模式之后,收到了很多小伙伴的催更,让我出一个搭建Redis的教程,那么它来了!第九步:创建集群的意思。

2024-12-04 22:22:25 340

原创 Neo4J-图数据库入门

Neo4j是一种基于图形数据库模型的开源图形数据库管理系统。它专注于存储和处理图形数据结构,如节点、关系和属性,以提供高效的图形数据查询和分析功能。基于硬盘为什么要使用对数据的需求不在局限于对数据本身的获取,还需要获取数据与数据件的关系(就是连接数据)简单来说,图数据库主要用于存储更多的连接数据。

2024-12-04 22:20:47 1165

原创 阿里云中Flink提交作业流程

有些程序,是需要环境的,假如数据需要依赖我们虚拟机的环境,是没办法在flink上运行的,因为flink访问不到虚拟机的服务,可以写死一些数据,比如自定义数据源,或者写死一些数据,进行测试。访问阿里云首页面:https://www.aliyun.com/查看创建的工作空间,当工作空间状态为运行中时,点击控制台。可以选择SQL开发或者作业运维运行自己的Flink程序。作业运维在本地IDEA开发,将jar包上传。通过选择区域,看哪个区域有虚拟交换机。

2024-12-02 18:12:14 555

原创 如何使用哨兵模式搭建Redis主从模式?

主节点负责写入和读取数据,而从节点复制主节点的数据,并提供读取服务。如果主节点发生故障或不可用,从节点可以接管主节点的角色,继续提供服务,确保系统的可用性。总的来说,Redis主从模式提供了高性能、高可用性和数据冗余的优势,使得Redis成为处理大数据和高并发场景的理想选择。好了,以上就是在一台服务器上,搭建redis主从模式,并使用哨兵模式自动将从节点推选为主节点的过程,希望对大家有所帮助。我们的方案就是在服务器上安装主从,一个主,一个从,通过redis.conf 来区分谁是主,谁是从。

2024-12-02 08:41:31 595

原创 Python脚本实现datax全量同步mysql到hive

在我们构建离线数仓时或者迁移数据时,通常选用sqoop和datax等工具进行操作,sqoop和datax各有优点,datax优点也很明显,基于内存,所以速度上很快,那么在进行全量同步时编写json文件是一项很繁琐的事,是否可以编写脚本来把繁琐事来简单化,接下来我将分享这样一个mysql全量同步到hive自动生成json文件的python脚本。

2024-12-01 19:59:08 382

原创 ELK超详细操作文档

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与 Elasticsearch 通信。

2024-12-01 19:57:29 1172

原创 Maxwell的入门实战

Maxwell 是美国 Zendesk 开源,用Java 编写的 Mysql 实时抓取软件。实时读取 mysql 的二进制日志 Binlog,并生成 JSON 格式的信息,做为 生产者 发送 给 Kafka、Kinesis、RabbitMQ、Redis、Goodle Cloud Pub/Sub、文件 或 其他平台的应用程序。官网:常用的就是,将 MySQL 的数据 同步到 hdfs 上注意:也可以通过 sqoop 编写脚本的方式将 mysql的数据同步的hdfs上 (离线)

2024-12-01 19:55:01 1062

原创 一键生成数据库对应的所有DataX的json文件

Datax是一个非常优秀的数据导入导出工具,想必小伙伴们都使用过,但是今天老板说:小张,你把mysql中的所有表都导入到hive的ods层,这该怎么办?一张表对应一个json文件,这不得写一个月?我们可以通过python编写一个脚本来实现,说干就干。

2024-12-01 19:53:17 413

原创 Flink学习连载文章10--CheckPoint和维表Join

所谓的维表Join: 进入Flink的数据,需要关联另外一些存储设备的数据,才能计算出来结果,那么存储在外部设备上的表称之为维表,可能存储在mysql也可能存储在hbase 等。维表一般的特点是变化比较慢。重启策略的意义:流式数据是不可能停止的,假如有一条错误数据导致程序直接退出,后面的大量数据是会丢失的,对公司来讲,意义是重大的,损失是惨重的。运行,刷新查看checkpoint保存的数据,它会先生成一个新的文件夹,然后再删除老的文件夹,在某一时刻,会出现两个文件夹同时存在的情况。

2024-11-28 15:41:20 1348

原创 Flink学习连载文章9--状态(State)

注意: Flink默认已经支持了无状态和有状态计算!例如WordCount代码:已经做好了状态维护, 输入hello,输出(hello,1),再输入hello,输出(hello,2)以wordcout为例,说明上图的流程对Managed State继续细分,它又有两种类型:Keyed State和Operator State。Flink 为每个键值维护一个状态实例,并将具有相同键的所有数据,都分区到同一个算子任务中,这个任务会维护和处理这个key对应的状态。

2024-11-28 15:37:00 1279

原创 impala入门与实践

impala是cloudera提供的一款高效率的sql查询工具,提供实时的查询效果,官方测试性能比hive快10到100倍,其sql查询比sparkSQL还要更加快速,号称是当前大数据领域最快的查询sql工具。impala是参照谷歌的新三篇论文(Caffeine--网络搜索引擎、Pregel--分布式图计算、Dremel--交互式分析工具)当中的Dremel实现而来,其中旧三篇论文分别是(MapReduce)分别对应我们即将学的HBase和已经学过的HDFS以及MapReduce。

2024-11-27 20:51:44 1347

原创 搭建单机版dolphinscheduler【实战很强,亲测可用】

但是单机版有一个致命的问题,就是当你重启ds服务之后,H2中的数据就没有了,下一次还需要重新配置,所以我们希望将H2数据库修改为mysql数据库,说干就干!修改配置文件:/opt/modules/ds/apache-dolphinscheduler-3.1.8-bin/standalone-server/conf。这个软件下面有很多的服务,将每一个服务下的common.properties中的内容全部修改一遍。使用laoyan 账户登录,或者修改admin 的租户,并授权项目管理。进程中,并且其中内置了。

2024-11-27 08:41:28 465

原创 Flink学习连载文章8--时间语义

EventTime:事件(数据)时间,是事件/数据真真正正发生时/产生时的时间IngestionTime:摄入时间,是事件/数据到达流处理系统的时间ProcessingTime:处理时间,是事件/数据被处理/计算时的系统的时间总结:1.事件时间确实重要, 因为它能够代表事件/数据的本质,是事件/数据真真正正发生/产生的时间2.按照事件时间进去处理/计算,会存在一定的难度, 因为数据可能会因为网路延迟等原因, 发生乱序或延迟到达, 那么最后的计算结果就有可能错误或数据丢失。

2024-11-26 20:48:42 1232

原创 Yarn中多队列的配置以及更换公平调度器

首先为什么要配置多队列呢?当我们使用 yarn 的时候,一个任务提交后,另一个任务也提交,有可能第二个任务提交成功了,但是迟迟不运行,原因是我们默认的调度器,只有一个队列,队列中假如有一个大任务,会阻塞后面的小的任务的运行。提交第二个任务:所以我们需要调整 yarn 的队列,要么更换调度器,要么添加队列,以下根据两个情况,分别进行演示。

2024-11-26 16:36:38 1365

原创 Flink学习连载文章7--window的窗口函数

输入类型是输入流中的元素类型,AggregateFunction有一个add方法可以将一个输入元素添加到一个累加器中。该接口还具有创建初始累加器(createAccumulator方法)、将两个累加器合并到一个累加器(merge方法)以及从累加器中提取输出(类型为OUT)的方法。指在窗口触发的时候才会对窗口内的所有数据进行一次计算(等窗口的数据到齐,才开始进行聚合计算,可实现对窗口内的数据进行排序等需求)l 增量函数:窗口保存一份中间数据,每流入一个新元素,新元素与中间数据两两合一,生成新的中间数据。

2024-11-25 22:07:24 412

原创 Flink学习连载文档6--Window的分类

按照指定的数据条数生成一个Window,与时间无关。滚动计数窗口,每隔N条数据,统计前N条数据滑动计数窗口,每隔N条数据,统计前M条数据按照时间生成Window。(重点)滚动时间窗口,每隔N时间,统计前N时间范围内的数据,窗口长度N,滑动距离N滑动时间窗口,每隔N时间,统计前M时间范围内的数据,窗口长度M,滑动距离N,按照会话划定的窗口流是连续的,无界的(对于这个问题,肯定是无法回答的,为何?因为,统计是一种对固定数据进行计算的动作。

2024-11-25 22:04:54 841

原创 帆软之FineBI案例分享--银行理财案例分析

视频:数据:制作步骤:导入数据。

2024-11-24 22:21:20 282

原创 Flink学习连载文章5--Flink的各种Sink操作

jdbcSink官方已经提供过了,此处仅仅是模拟它的实现,从而学习如何自定义sink/*** @基本功能:* @author: 闫哥**/@Data@Override// 这个里面编写连接数据库的代码)");@Override// 关闭数据库的代码ps.close();@Override// 将数据插入到数据库中。

2024-11-24 22:17:59 770

原创 Flink学习连载文章4-flink中的各种转换操作

关于分区,很多技术都有分区:1、hadoop 有分区2、kafka 有分区3、spark 有分区4、hive 有分区使用用户定义的Partitioner 为每个元素选择目标任务/*** @基本功能:* @author: 闫哥**/@Overridereturn 0;return 1;public class _11_自定义分区规则 {//1. env-准备环境@Override});// 每一个分区的数据量有多少@Override。

2024-11-22 17:55:52 867 1

原创 Flink学习连载文章3-Flink中各种Source源

基于本地集合的source(Collection-based-source)基于文件的source(File-based-source)基于网络套接字(socketTextStream)在flink最常见的创建DataStream方式有四种:l 使用env.fromElements(),这种方式也支持Tuple,自定义对象等复合形式。注意:类型要一致,不一致可以用Object接收,但是使用会报错,比如:env.fromElements("haha", 1);

2024-11-22 08:42:55 1241

原创 Flink学习连载第二篇-使用flink编写WordCount(多种情况演示)

使用Flink编写代码,步骤非常固定,大概分为以下几步,只要牢牢抓住步骤,基本轻松拿下:1. env-准备环境2. source-加载数据3. transformation-数据处理转换4. sink-数据输出5. execute-执行。

2024-11-21 11:52:18 1566

原创 Flink学习连载文档第一篇--Flink集群的安装

Flink支持多种安装模式。local(本地)——本地模式standalone——独立模式,Flink自带集群,开发测试环境使用standaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用yarn——计算资源统一由Hadoop YARN管理,生产环境测试。

2024-11-21 09:45:39 776

原创 hadoop集群搭建

web访问:namenode 在哪一台,就访问哪一台。分发mapred-site.xml & yarn-site.xml 到另外两台电脑上。目前有两台,克隆第一台(因为第一台上安装了hadoop), 克隆结束后,进行修复操作。路径:/opt/installs/hadoop/etc/hadoop。1) 修改IP 2) 修改主机名 3)修改映射文件hosts。继续配置:为了防止报AppMaster的错误,需要如下配置。修改完了第一台的配置文件,开始分发到其他两台上去。6、修改linux的⼀个安全机制。

2024-11-20 08:45:21 713

原创 虚拟机和远程工具的安装(hadoop集群安装01)

在普通的物理机上,虚拟出来一块资源,安装另一个操作系统,这样的软件就称之为虚拟机。它可以自动的切割一些资源(内存,硬盘,CPU,网络)相当于是模拟器(windows -->模拟器--> 安卓系统-->王者荣耀)远程连接工具非常多:XShell、FinalShell、SSH、Moba双击连接,第一次会出现提示点击:接收并保存,以后就不提示了。如果连接不上,如下进行:1、输入 ip addr 看是否有IP地址,如果没有,重置一下。2、关闭linux的防火墙3、直接重置网卡。

2024-11-20 08:43:53 775

原创 虚拟机的克隆和免密(hadoop集群03)

一定要注意:此脚本文件,不要在windows进行编辑,否则会报错,全程使用linux进行编辑,原因是windows中的字符集和linux中的不一样。如果我们想在Bigdata01 这台电脑上,查看整个集群的服务启动情况,可以使用这个脚本文件。能否实现,在bigdata01上输入一个命令,直接出三台服务器上的所有正在运行的jps。可以一个命令下去,分发所有的Linux服务器,不用一个个的长拷贝了。所有的自定义的脚本文件,存放在/usr/local/bin 下面。需要在所有的分发的电脑上安装 rsync。

2024-11-20 08:42:17 312

原创 Linux设置以及软件的安装(hadoop集群安装02)

快照就是将来可以恢复,以及可以clone(克隆) 的基础,记得先关机, 再克隆。因为我们想将来操作某台服务器,不想通过IP操作,想通过用户名操作。1、创建一个文件夹,用于存放安装包 /opt/modules。假如检查了IP,发现没IP,也没有虚拟网卡,怎么办?点击虚拟机的编辑界面,点击【虚拟网络编辑器】,进入后,将你的hostname 跟 IP 进行一个对应。将软件解压到/opt/installs。思考:为什么号段是从128开始的呢?6、刷新配置文件,让配置文件生效。7、验证配置是否生效。

2024-11-20 08:39:59 509

里面全部都是浪漫的爱心特效,有html和python编写的,大概几十种,欢迎下载,收藏

里面全部都是浪漫的爱心特效,有html和python编写的,大概几十种,欢迎下载,收藏

2024-11-09

使用一堆JS编写的一个特效表达爱心树

使用一堆JS编写的一个特效表达爱心树

2024-11-02

html编写的一个爱心特效,保证浪漫

html编写的一个爱心特效,保证浪漫

2024-11-02

XTerminal 一款全新的远程连接Linux服务器的软件

XTerminal 一款全新的远程连接Linux服务器的软件

2024-10-30

azkaban的数据库文件,和azkaban.tar.gz 一起使用

azkaban的数据库文件,和azkaban.tar.gz 一起使用

2024-10-30

azkaban-3.56.0.zip azkaban的安装包

azkaban-3.56.0.zip azkaban的安装包

2024-10-30

vagrant_2.2.14_x86_64

vagrant MacOS 版本在官网下载很慢,好不容易下载下来供大家使用,该工具非常好用

2020-12-09

ecshop批量上传

ecshop自带的图片详情里面的上传,只能一张一张传,此插件可以实现批量上传哦,亲,还不赶紧试试。

2014-04-09

java程序员上班那些事

本书就是让我们即将走向程序员岗位的朋友们, 能够做到既"知己"又"知彼", 在入职前 能够对这个职业有一个清楚的了解, 在入职后对职业方向有更清晰的认识, 从而, 使大家更 加充满自信的走向工作岗位。

2010-03-11

spring in action中文版

很好的spring 教程书,我强烈建议大家将其作为一本参考书,真的很不错

2009-09-08

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

TA关注的人

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