avatar
Articles
263
Tags
59
Categories
0

Home
Archives
Links
Games
  • MikuTap 初音未来
  • StartBattle 星际大战
  • 2048 经典游戏
  • BattleCity 坦克大战
  • PacMan 吃豆人
  • Tetris 俄罗斯方块
  • CatchCat 困住小猫
Moments
  • Music
  • Diary
  • Gallery
More
  • Tags标签
  • About关于
  • Messageboard留言板
All wisdom begins with memory.
Search
Home
Archives
Links
Games
  • MikuTap 初音未来
  • StartBattle 星际大战
  • 2048 经典游戏
  • BattleCity 坦克大战
  • PacMan 吃豆人
  • Tetris 俄罗斯方块
  • CatchCat 困住小猫
Moments
  • Music
  • Diary
  • Gallery
More
  • Tags标签
  • About关于
  • Messageboard留言板

All wisdom begins with memory.

【Python爬虫(一)】爬虫前置问题总结
Created2023-10-11
文章内容部分来自Chatgpt。 了解网站的访问限制 当您想要获取某个网站的数据的时候总要知道一些网站的规则吧,要不然(IP,账号)怎么被封的都不知道。 一般网站会限制什么 访问频率限制:就是控制服务器的负载,防止服务器崩掉 相应的测试:逐渐增加自己的访问频率,观察是否出现访问被限制的情况。最开始可以以较低的访问频率进行测试,例如每分钟只访问一次,然后逐渐增加访问频率。如果在某个阶段发生了访问限制,那么该阶段的访问频率就是网站的限制阈值。 解决方案:控制爬虫的访问频率。 IP地址限制:限制IP 测试:使用不同的IP地址进行访问,观察是否出现了访问被限制的情况。可以通过使用代理服务器或者虚拟专用网络(VPN)来切换IP地址,以模拟不同的访问来源。如果使用不同的IP地址进行访问时出现了访问限制,那么网站可能对IP地址进行了限制。 解决方案:使用proxy远程代理(VPN),或者使用虚拟机。 如何查看自己被ban了 访问错误提示:观察访问被限制时的错误提示信息。有些网站会返回特定的HTTP状态码或者错误信息来指示访问被限制,例如403 Forbidden、429 Too ...
【PythonScript(二)】脚本解析-续
Created2023-10-10
今天只看了一部分,主要还是有关以连接数据库的一部分代码。 Python代码写的还是比较6的,很多东西我是可能写不粗来,不过能看懂,加上之前自己写过工具类,这里大差不差,无非就是表名,数据库名,一些逻辑发生了变化,这里简单记录一下。 当然代码量是比较大的,先从工具类开始记录。 DBHandler数据库工具类 这个类的作用就是连接MySQL数据库,然后在实例化对象之后就可以对MySQL数据库做一些增删改查之类的操作了。 以下方法都需要有日志的产生,所以后面会阐述日志工具类。 关闭连接方法- close方法 将查询到的数据转为DownloadModel对象- query_for_download方法 向表中插入当前时间的数据- update_download_info方法 更新表中时间- update_business_time方法 将查询到的结果封装成一个ExecutorModel对象- query_for_operation方法 更新数据表business_rule_operation中update_time字段和操作人 - update_for_operation方法 更新表bu ...
保留近7天文件且清理旧文件
Created2023-10-09
清理旧文件的脚本 清理(Linux)本地文件,防止磁盘撑爆;此脚本经过测试没问题。 测试截图:(在有Python解释器的服务器上测试就行) 同时在清理文件的基础上添加了删除空文件夹的一个逻辑,代码很简单。 这个脚本需要配合Azkaban或者Oozie或者DS进行调度,才能达到定时清理旧文件的目的。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455# 保留最近7天的文件(linux本地文件 & 递归遍历)import osimport timeimport sys# 定义全局变量接收用户传入的参数,args为列表,args[0]为文件名args = sys.argvdef delete_old_files(directory): """ 传入给定文件目录,删除该目录下时间超过7天的文件,后续会产生空文件夹 :param directory: 要进行处理的文件目录 :ret ...
【PythonScript(一)】脚本解析
Created2023-10-08
Python脚本解析和KeyPoint 接触到的第一个脚本,实际开发周期为一周时间。 脚本的功能已经在代码之前贴上了。 其实这里的Python脚本无非就是用到了一些第三方类库,比如HDFS,Redis,FTP文件服务,还有比如说文件,文件的遍历什么的,把这些东西搞懂这些Python代码基本就没有什么问题了。 手动总结一下: HDFS相关 首先必须安装HDFS 12345678910# 不指定版本号安装pip install hdfs# 指定版本号安装pip install hdfs==2.7.0# 首先导入hdfs或者from hdfs import InsecureClientimport hdfshdfs_url = 'http://172.17.4.9:9870' 后续操作 创建HDFS连接对象,相当于pymysql中的conn连接对象:link = InsecureClient(hdfs_url) 获取HDFS路径下的所有文件和目录,返回值是一个列表:link.list(path) 创建文件夹:link.makedirs(path) 写文件:link. ...
项目全流程
Created2023-10-07
项目透析 https://www.mubu.com/doc/6pyW5wz3yYq
【FLink教育】Hudi整合Hive实现湖仓一体
Created2023-09-16
数据湖简介数仓和数据湖数据仓库数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。 数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持(DecisionSupport)。 数据仓库的特点是本身不产生数据,也不最终消费数据。 每个企业根据自己的业务需求可以分成不同的层次。但是最基础的分层思想,理论上分为三个层:操作型数据层(ODS)、数据仓库层(DW)和数据应用层(DA)。 数据湖数据湖是一个集中式数据存储库,用来存储大量的原始数据,使用平面架构来存储数据。 数据湖一个以原始格式(通常是对象块或文件)存储数据的系统或存储库,通常是所有企业数据的单一存储。 数据湖可以包括来自关系数据库的结构化数据(行和列)、半结构化数据(CSV、日志、XML、JSON)、非结构化数据(电子邮件、文档、pdf)和二进制数据(图像、音频、视频)。 数据湖中数据,用于报告、可视化、高级分析和机器学习等任务。 数据仓库VS数据湖 湖仓一体 湖仓一体(LakeHouse):是新出现的一种数据架构,它同时吸收了数据仓库和数据湖的 ...
【FLink教育】FlinkCDC介绍&集成Hive
Created2023-09-15
之前已经聊过了目前市面上常用的一些架构及技术选型。 传统数据入仓 - 离线方向 MySQL→Sqoop→HDFS→Hive 传统数据入仓架构 1.0,主要使用 DataX 或 Sqoop 全量同步到 HDFS,再围绕 Hive 做数仓。 此方案存在诸多缺陷:容易影响业务稳定性,因为每天都需要从业务表里查询数据;天级别的产出导致时效性差,延迟高;如果将调度间隔调成几分钟一次,则会对源库造成非常大的压力;扩展性差,业务规模扩大后极易出现性能瓶颈。 传统数仓2.0 - 增加实时方向(Canal、dataX实时采集增量数据到Kafka上再Sink到HDFS上,最后增量全量做合并,最终还是围绕Hive) 分为实时和离线两条链路,实时链路做增量同步,比如通过 Canal 同步到 Kafka 后再做实时回流; 全量同步一般只做一次,与每天的增量在 HDFS 上做定时合并,最后导入到 Hive 数仓里。 此方式只做一次全量同步,因此基本不影响业务稳定性,但是增量同步有定时回流,一般只能保持在小时和天级别,因此它的时效性也比较低。同时,全量与增量两条链路是割裂的,意味着链路多,需要维护的组件 ...
【FLink教育】Flink技术选型
Created2023-09-14
传统方案传统数据集成方案的痛点 大数据技术的应用可以从海量的用户行为数据中进行挖掘分析,根据分析结果优化平台的服务质量,最终满足用户的需求。大数据分析平台就是将大数据技术应用于教育培训领域,为企业经营提供数据支撑: 建立集团数据仓库,统一集团数据中心,把分散的业务数据进行预先处理和存储。 根据业务分析需要,从海量的用户行为数据中进行挖掘分析,定制多维的数据集合,形成数据集市,供各个场景主题使用。 前端业务数据展示选择和控制,选取合适的前端数据统计、分析结果展示工具。 - 上图为传统数据入仓架构 1.0,主要使用 DataX 或 Sqoop 全量同步到 HDFS,再围绕 Hive 做数仓。 此方案存在诸多缺陷:容易影响业务稳定性,因为每天都需要从业务表里查询数据;天级别的产出导致时效性差,延迟高;如果将调度间隔调成几分钟一次,则会对源库造成非常大的压力;扩展性差,业务规模扩大后极易出现性能瓶颈。 上图为传统数据入仓 2.0 架构。分为实时和离线两条链路,实时链路做增量同步,比如通过 Canal 同步到 Kafka 后再做实时回流;全量同步一般只做一次,与每天的增量在 HDFS ...
ClickHouse全面解析
Created2023-09-13
https://www.mubu.com/doc/Ud_30MJRFa
【Flink】FlinkSQL| 状态编程| 自定义函数
Created2023-09-12
Flink 中的状态编程 在 Flink 中,算子任务可以分为无状态和有状态两种情况。 在传统的事务型处理架构中,这种额外的状态数据是保存在数据库中的。而对于实时流处理来说,这样做需要频繁读写外部数据库,如果数据规模非常大肯定就达不到性能要求了。所以 Flink 的解决方案是,将状态直接保存在内存中来保证性能,并通过分布式扩展来提高吞吐量。 有状态算子的一般处理流程: 算子任务接收到上游发来的数据; 获取当前状态; 根据业务逻辑进行计算,更新状态; 得到计算结果,输出发送到下游任务。 状态分类按照由 Flink 管理还是用户自行管理,状态可以分为原始状态 ( Raw State ) 和托管状态 (Managed State)。 原始状态:即用户自定义的 State。Flink 在做快照的时候,把整个 State 当做一个整体,需要开发者自己管理,使用 byte 数组来读写状态内容。 托管状态:是由 Flink 框架管理的 State,如 ValueState、ListState 等,其序列化和反序列化由 Flink 框架提供支持,无需用户感知、干预。通常在 DataStre ...
1…111213…27
avatar
李俊泽
机器都在学习,你有什么理由不学习?
Articles
263
Tags
59
Categories
0
Follow Me
Announcement
博客为本人搭建 Github托管 仅记录学习过程 不做引流 不做排名 不打广告!
Recent Post
Golden-Sentence2028-05-10
金句-尽信书不如无书&道阻且长行则将至2027-05-10
Exp_01-健康-黄帝内经2026-06-14
心经2026-05-13
金刚经2026-05-10
Tags
AI AI,ESG Azkaban Blog CDH CERT DS Diary ES ETL FTP FineBI Flink Github Gitlab HBase HDFS HQL Hadoop Hexo Hive Interview Java Kafka Kettle Linux MapReduce MarkDown MongoDB MySQL Nginx Ollama P2P Presto Pycharm Python Redis SQL Spark Spark项目 Spider Sqoop Tools Zookeeper doc 前端 剑指offer 基本语法 常用操作 数仓 数据结构 环境搭建 科学库 计网 设计模式 调研 逆向 集群 面向对象AI AI,ESG Azkaban Blog CDH CERT DS Diary ES ETL FTP FineBI Flink Github Gitlab HBase HDFS HQL Hadoop Hexo Hive Interview Java Kafka Kettle Linux MapReduce MarkDown MongoDB MySQL Nginx Ollama P2P Presto Pycharm Python Redis SQL Spark Spark项目 Spider Sqoop Tools Zookeeper doc 前端 剑指offer 基本语法 常用操作 数仓
Archives
  • May 20281
  • May 20271
  • June 20261
  • May 20264
  • April 20263
  • November 20256
  • October 20253
  • September 20252
Info
Article :
263
UV :
PV :
Last Push :
©2020 - 2026 By 李俊泽
Framework Hexo|Theme Butterfly
Welcome to 李俊泽 の Blog!
Search
Loading the Database