- 博客(41)
- 收藏
- 关注

原创 Flink 应用案例——求网页访问量Top N 实时计算(附可执行代码)
以下数据 为某网站的访问日志 现要求通过以下数据 统计出最近10s内最热门的N个页面(即url链接),并且每5s更新一次;即求出页面访问量中的TOP N
2023-03-17 17:54:44
1876
1

原创 Flink 从 kafka 中读取数据并输出到 kafka
Flink 从 kafka 中读取数据并输出到 kafka。FlinkKafkaConsumer()和FlinkKafkaProducer ()介绍
2023-03-05 00:27:28
4323
4

原创 理解.exe文件的结构原理即运行过程
windows上运行一个.exe文件的原理和过程。一、什么是exe? 二、exe文件结构及原理 三、运行exe的原理和过程 四、exe文件病毒原理
2022-05-06 17:17:10
19872
1
原创 python中单例模式应用
下面这段代码实现了一个数据库连接池,并且通过单例模式确保整个程序中只有一个连接池实例,包含扩容机制。避免频繁创建和销毁数据库连接,通过单例复用连接池
2025-03-01 16:28:49
437
原创 python中单例模式介绍(含线程安全的单例模式)
在Python中,单例模式(Singleton Pattern)确保一个类只有一个实例,并提供一个全局访问点。这三个方法的作用和调用顺序。:通过装饰器控制类的实例化过程,确保仅生成一个实例。:上述方法在并发环境下可能创建多个实例。2. 在装饰器中管理实例的创建和返回。理解单例模式之前,确实需要先掌握。2. 在元类中检查是否已存在实例。方法中返回已有实例或创建新实例。1. 在类中定义类变量存储实例。1. 定义一个装饰器函数。1. 定义一个元类,重写。方法,直接控制实例创建。方法控制实例创建流程。
2025-03-01 11:20:16
382
原创 python中的__init__、__new__、__call__
方法触发时机主要职责返回值__new__对象创建时(第一步)创建并返回实例(内存分配)必须返回实例对象__init__对象初始化时(第二步)初始化实例属性无(返回None__call__实例被调用时(如obj()定义实例的可调用行为任意值(视需求而定)
2025-03-01 09:30:32
280
原创 Docker Compose部署项目flask+mysql + redis
Docker Compose通过一个单独的docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。
2024-05-02 18:02:34
675
3
原创 docker挂载数据卷-以nginx为例
docker挂载数据卷本质上就是实现容器内文件和宿主机文件的双向绑定。挂载数据卷可以使容器内的数据持久化保存在宿主机上,我们可以在容器内外对数据进行修改和访问,即使容器被删除,数据也不会丢失。这对于保存重要的数据或配置文件非常有用。
2024-05-02 16:54:48
981
2
原创 Spark 中数据结果传输到 Driver 端
我们知道将大量数据传输到 Driver 端可能会导致和的问题。这究竟是怎么一回事呢?让我们来一探究竟吧。
2023-10-13 11:15:18
852
原创 spark中使用flatmap报错:TypeError: ‘int‘ object is not subscriptable
spark中使用flatmap报错:TypeError: ‘int‘ object is not subscriptable
2023-10-12 13:12:09
1399
原创 spark中的shuffle简述 那些会导致shuffle的算子
比如join、cogroup等join类的操作:两个rdd进行join,就必须将相同join key的数据,shuffle到同一个节点上,然后进行相同key的两个rdd数据的笛卡尔乘积。重分区: 一般会shuffle,因为需要在整个集群中,对之前所有的分区的数据进行随机,均匀的打乱,然后把数据放入下游新的指定数量的分区内。byKey类的操作:因为你要对一个key,进行聚合操作,那么肯定要保证集群中,所有节点上的,相同的key,一定是到同一个节点上进行处理。可以发现这段程序经历了shuffle。
2023-10-12 12:18:40
1719
原创 Spark中join和cogroup
join算子相当于将两个rdd进行内连接,在join的结果中,返回值是key和元组.cogroup算子相当于将两个rdd中 相同键的每个元素的value进行合并中。
2023-08-27 10:55:55
515
原创 hive分区表 静态分区和动态分区
在动态分区中,分区值是根据插入的数据动态计算得出的,无需事先创建分区目录。这样的分区方式更加灵活,适用于数据分布不确定或分区值频繁变化的情况。动态分区操作通常会涉及到 MapReduce 任务。在静态分区中,你在创建表时预先定义了分区值,并手动创建了相应的分区目录。这意味着你需要为每个可能的分区值手动创建一个目录,然后将数据加载到这些目录中。静态分区需要事先知道数据应该放置在哪些分区中,适用于在创建表时已经确定分区结构的情况。
2023-08-25 10:15:54
1130
原创 SQL计算出每年在校人数
【代码】SQL计算出每年在校人数。以下是一个录取学生人数表的示例,记录了每年录取学生的人数和入学学制。根据以上示例计算出每年在校人数,写出SQL语句。
2023-07-11 13:54:07
2846
原创 spark应用----统计分析电商网站的用户行为数据
本项目的数据是采集电商网站的用户行为数据,主要包含用户的4种行为:搜索、点击、下单和支付。需求说明:品类是指产品的分类,大型电商网站品类分多级,咱们的项目中品类只有一级,不同的公司可能对热门的定义不一样。我们按照每个品类的点击、下单、支付的量来统计热门品类。编号字段名称字段类型字段含义1dateString用户点击行为的日期2user_idLong用户的ID3session_idStringSession的ID4page_idLong某个页面的ID5String。
2023-06-27 15:26:29
1079
原创 Spark 实现重新分区 partitionBy、coalesce、repartition(附代码演示)
coales参数1,传入分区个数参数2,传入 shuffle,默认为 False,为False则不进行shuffle,带有分区捆绑进行重新分区若shuffle = True, 则进行shuffle操作,不带有分区捆绑进行重新分区 分区更加均匀(避免数据倾斜)调用方式 coalesce既可以实现RDD分区的合并缩小,也可以实现RDD分区的扩大调用方式 返回一个新的RDD,它刚好有numPartitions(参数1)个分区。调用方式 repartition默认开启s
2023-04-18 09:05:52
4434
2
原创 Flume kafkasource报错:GC overhead limit exceeded
笔者在集成kafka和flume时 kafkasource报出如下错误:Exception in thread "PollableSourceRunner-KafkaSource-r1" java.lang.OutOfMemoryError: GC overhead limit exceeded
2023-04-06 19:27:53
930
原创 Flink 水位线、窗口、窗口分配器、窗口函数 四者简述 (附可运行代码)
一个水位线t 表示在当前数据流中,事件时间已经达到了时间戳t,这代表t之前的所有数据都到齐了,之后出现的数据流中不会出现 t0。而将flink中无界流的数据进行切分,切分为一个个有限数据的数据块,这就是所谓的窗口(windows)顾名思义,窗口分配器就是将数据划分到它应有的数据块(窗口)中,构建窗口函数前 我们都要先构建窗口分配器。长度为10s 滑动步长为5s的滑动窗口,5s统计一次,每次统计当前10s内的数据。长度为5s的滚动窗口,每隔5s 对当前 5s 内的数据进行一次统计。作为数据流中的数据类型。
2023-03-08 22:53:16
594
原创 Flink程序入门 ( java API )
Flink程序其实就是对数据流DataStream 进行各种转换简单来说Flink 由以下五个步骤构成:1、执行环境2 、数据源(source)3 、数据转换操作(Transformation)4 、数据输出(sink)5 、触发程序执行
2023-03-01 15:50:04
918
原创 AttributeError: module ‘pyspark.rdd‘ has no attribute ‘V‘
AttributeError: module 'pyspark.rdd' has no attribute 'T'AttributeError: module 'pyspark.rdd' has no attribute 'V'
2022-11-15 13:36:45
1560
1
原创 Java中集合的介绍(附测试代码)
我们知道java中常常需要对多个对象进行存储和操作,而使用array数组存储对象时有一些弊端(数组中提供的属性和方法少,不便于进行添加、删除、插入等操作)。因此集合应运而生(虽然集合底层也和数组密切相关)。Java 集合可分为 Collection 和 Map 两种体系
2022-11-02 19:27:21
431
原创 HBase读写流程
首先明确一点:region server主要用来服务读和写操作。当用户通过client访问数据时,下面我们进入正题。(5)客户端 调用Table的put方法写入数据:解析RowKey并对照缓存的MetaCache,查看具体写入的位置由哪个 RegionServe负责,将put请求发送到对应的RegionServer;
2022-10-08 20:30:25
1345
1
原创 学习笔记:深入理解MapReduce
为什么是MapReduce? MapReduce流程介绍,MapReduce中的shuffle洗牌机制。的作用与理解。
2022-10-06 09:01:11
626
2
原创 中国各区域天气情况统计可视化Scrapy+MySQL+Flask(内附完整代码)
利用python scrapy框架实现天气情况统计,同时连接mysql数据库,利用Flask框架可视化处理。实高性能异步爬取并实现定时爬取。(内附完整代码)
2022-07-26 10:39:15
1281
原创 Python中URL的编码和解码:quote, unquote, urlencode
python中urllib.parse有三个方法:quote, unquote, urlencodeunquote负责解码quote和urlencode负责编码,但二者的使用方式和返回值又有所不同
2022-05-23 20:03:29
1789
1
原创 MTPuTTY报错:Unable to run PuTTY 系统找不到指定的文件
打开MTPuTTY时遇到报错:Unable to run PuTTY 系统找不到指定的文件。显然是PuTTY文件路径问题
2022-04-29 11:30:28
1990
原创 Python验证码图片去噪并识别,tesserocr,image,numpy库的应用
Python验证码图片去噪并识别,tesserocr,image,numpy库的应用
2022-03-26 20:31:29
3992
1
原创 java多线程对Runnable和Thread的理解及简述,内附实例。
实现了接口Runnable中的run方法的对象就像是一份被指定的工作。而Thread就像是一个等待接收工作的工人。因此把实现了接口Runnable中的run方法的对象传入Thread()时就相当于给一个工人指定了工作。而这个被指定了工作的工人也就相当于一份可执行的线程。模拟三个人排队买票,张某、李某和赵某买电影票,售票员只有三张五元的钱,电影票5元钱一张。张某拿二十元一张的新人民币排在李的前面买票,李某排在赵的前面拿一张10元的人民币买票,赵某拿一张五元的人民币买票。
2022-03-16 10:18:35
2329
2
原创 java中监听器的简单介绍。窗口实现一个文本框随另一个文本框输入而实时自动更新。
java实现自动更新实时更新的触发事件。当我们在一个文本区中输入若干个数时,另一个文本区同时对你输入的数进行求和运算并求出平均值,也就是说随着你输入的变化,另一个文本区不断地更新求和及平均值。
2022-03-12 17:11:53
2708
原创 java异常处理及自定义异常
有风险的行为(方法)可能会将异常抛出(throws)。调用该方法的程序会尝试(try)去运行,运行的同时捕捉(catch)异常。让编译器确定你了解所调用的方法是有风险的,并也准备好用try和catch来处理它。如果对有风险的行为不进行异常状况处理则无法通过编译。
2022-03-09 12:21:23
857
原创 爬虫简述与爬虫实例
response = requests.get(url = url)page_text = response.text print(page_text)
2022-03-09 01:58:28
643
原创 操作系统,shell, 内核三者简述
操作系统是人们为了方便管理计算机而创造出来的,它由shell和内核以及其他等系统软件组成,覆盖在计算机硬件的第一层。操作系统负责与直接硬件打交道,是介于用户应用程序与计算机硬件之间的一层系统软件。通俗一点讲,操作系统就是用户和计算机硬件二者连接的桥梁。
2022-03-09 01:26:36
2783
原创 什么?java也能弹钢琴?
通过 import javax.sound.midi.*; 编写的一个小小的java音乐播放器,是的,他只会发出奇怪的一声“den~” 。仅此而已。
2022-03-06 03:16:29
807
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人