【Linux】Gitlib部署过程
Gitlib部署前置软件的安装1234567891011yum install curl policycoreutils openssh-server opensh-clientssystemctl enable sshdsystemctl start sshdyum install postfixsystemctl enable postfixsystemctl start postfixfirewall-cmd --permanent --add-service=httpsystemctl reload firewalldyum install policycoreutils-python
Gitlib安装123456# rpm -ivh 后面接你的rpm包名rpm -ivh gitlab-ce-13.2.6-ce.0.el7.x86_64.rpm-i:表示进行安装操作。-v:表示在安装过程中显示详细的输出信息,即详细模式(verbose mode)。-h:表示以哈希进度条的形式显示安装进度。
修改默认的配置文件安装完成之后
123vim /etc/gitlab/gitlab. ...
【Python爬虫(三)】某眼查爬虫
Demo123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133import timefrom io import BytesIOfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsfrom scrapy import Selector # 使用S ...
【Linux】服务自启动脚本
之前一直用别人写的自动化脚本,自己写的很少,说实话Linux的三剑客至今还是懵懵懂懂的状态,没关系慢慢来。
基础知识必会
查看服务器中某个脚本的位置
比如说咱们经常用到的start-all.sh,一直在用却不知道在哪个位置,这就有点尴尬。
start-all.sh 脚本用于启动 Hadoop 集群中的所有组件,该脚本通常位于 Hadoop 安装路径下的 sbin 目录中。
12# 通过脚本名称搜索该脚本的位置sudo find / -name start-all.sh 2>/dev/null
运行结果
12345678910111213/usr/local/dolphinscheduler.bak/bin/start-all.sh/usr/local/dolphinscheduler.bak/script/start-all.sh/usr/local/dolphinscheduler-bin.bak/script/start-all.sh/usr/local/dolphinscheduler-bin.bak/bin/start-all.sh/usr/local/ ...
【Python爬虫(二)】Xpath和CSS选择器
这两个东西简直无语,不常用根本记不住。已经记不清在网上搜过多少教程了,今天就自己写一个教程。
Xpath选择器
XPath 是一种用于在 XML 或 HTML 文档中进行导航和查找元素的语言。
这里咱们使用到最多的就是①,②,③,④,⑥,好吧,基本都用到了,这里还是要掌握的。
调试自己写的Xpath到底对不对:
通过在浏览器的开发者工具中的 “Elements” 或 “Inspect” 面板中使用 XPath 选择器来调试和测试 XPath 表达式的准确性。
选择元素:
选择所有元素://*
选择指定标签的元素://tagname
选择指定 class 的元素://*[@class='classname']
选择指定 id 的元素://*[@id='idname']
精确匹配属性:
通过属性值精确匹配元素://*[@attribute='value']
层级关系选择:
选择父子关系的元素://parent/child
选择所有后代元素://ancestor//descendant
位置选择:
选择第一个匹配的元素: ...
【Python爬虫(一)】爬虫前置问题总结
文章内容部分来自Chatgpt。
了解网站的访问限制
当您想要获取某个网站的数据的时候总要知道一些网站的规则吧,要不然(IP,账号)怎么被封的都不知道。
一般网站会限制什么
访问频率限制:就是控制服务器的负载,防止服务器崩掉
相应的测试:逐渐增加自己的访问频率,观察是否出现访问被限制的情况。最开始可以以较低的访问频率进行测试,例如每分钟只访问一次,然后逐渐增加访问频率。如果在某个阶段发生了访问限制,那么该阶段的访问频率就是网站的限制阈值。
解决方案:控制爬虫的访问频率。
IP地址限制:限制IP
测试:使用不同的IP地址进行访问,观察是否出现了访问被限制的情况。可以通过使用代理服务器或者虚拟专用网络(VPN)来切换IP地址,以模拟不同的访问来源。如果使用不同的IP地址进行访问时出现了访问限制,那么网站可能对IP地址进行了限制。
解决方案:使用proxy远程代理(VPN),或者使用虚拟机。
如何查看自己被ban了
访问错误提示:观察访问被限制时的错误提示信息。有些网站会返回特定的HTTP状态码或者错误信息来指示访问被限制,例如403 Forbidden、429 Too ...
【PythonScript(二)】脚本解析-续
今天只看了一部分,主要还是有关以连接数据库的一部分代码。
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天文件且清理旧文件
清理旧文件的脚本
清理(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(一)】脚本解析
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. ...
项目全流程
项目透析
https://www.mubu.com/doc/6pyW5wz3yYq
【FLink教育】Hudi整合Hive实现湖仓一体
数据湖简介数仓和数据湖数据仓库数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。
数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持(DecisionSupport)。
数据仓库的特点是本身不产生数据,也不最终消费数据。
每个企业根据自己的业务需求可以分成不同的层次。但是最基础的分层思想,理论上分为三个层:操作型数据层(ODS)、数据仓库层(DW)和数据应用层(DA)。
数据湖数据湖是一个集中式数据存储库,用来存储大量的原始数据,使用平面架构来存储数据。
数据湖一个以原始格式(通常是对象块或文件)存储数据的系统或存储库,通常是所有企业数据的单一存储。
数据湖可以包括来自关系数据库的结构化数据(行和列)、半结构化数据(CSV、日志、XML、JSON)、非结构化数据(电子邮件、文档、pdf)和二进制数据(图像、音频、视频)。
数据湖中数据,用于报告、可视化、高级分析和机器学习等任务。
数据仓库VS数据湖
湖仓一体
湖仓一体(LakeHouse):是新出现的一种数据架构,它同时吸收了数据仓库和数据湖的 ...
