- 博客(19)
- 收藏
- 关注
原创 finalshell 连接出现channel is not opened问题
可能原因1: 由于登录记录中记录的log日志过大导致的,可尝试进行清理下登录记录日志。
2023-10-31 09:51:38 797 1
原创 selenium 下 chrome 和 chromedriver的版本保持
chrome浏览器由于会自动更新, 会导致chromedriver版本不匹配而出现错误。为了避免这种情况可以进行以下操作
2023-07-31 17:03:32 235 1
原创 Selenium反反爬
实际上,我们使用默认的方式初始化 WebDriver 打开一个网站,下面这段 JS 代码永远为 true,而手动打开目标网站的话,则为:undefined。# 通过这段 JS 脚本区分是爬虫还是人工操作 window.navigator.webdriver。window.navigator.webdriver 的值为 undefined 即可。有时候,我们利用 Selenium 自动化爬取某些网站时,极有可能会遭遇反爬。cdp 全称是:Chrome Devtools-Protocol。
2023-07-19 09:39:48 2900 1
原创 Linux下Miniconda的安装及其使用
Miniconda的安装1.官网下载你需要的版本Miniconda — conda documentation2.将文件上传到linux系统 并修改权限chmod 777 安装包名3.安装miniconda
2023-07-11 16:18:53 1323
原创 阿里云ECS 服务器CentOS 8.4 64位 SCC版 安装MySQL
1.运行以下命令安装MySQLsudo dnf -y install @mysql2.安装完成后,运行以下命令查看MySQL版本信息mysql -V3.运行以下命令启动MySQL,并设置为开机自启动sudo systemctl enable --now mysqld查看返回结果中Active: active (running)表示已启动
2023-07-11 11:41:13 1246
原创 spark提交过程
1.(NodeManager向ResourceManager汇报资源)在Client提交application,首先在Client启动Driver。6.ApplicationMaster连接NodeManager,启动Executor(内有线程池ThreadPool,用来run task)1.在client提交application,首先client向RS申请启动ApplicationMaster。4.ApplicationMaster会向ResourceManager申请资源,用于启动Executor。
2022-12-20 00:33:20 219 1
原创 spark的shuffle过程
这样就减少了文件数,但是假如下游 Stage 的分区数 N 很大,还是会在每个 Executor 上生成 N 个文件,同样,如果一个 Executor 上有 K 个 Core,还是会开 K*N 个 Writer Handler,所以这里仍然容易导致OOM。v2: 一个 Executor 上所有的 Map Task 生成的分区文件只有一份,即将所有的 Map Task 相同的分区文件合并,这样每个 Executor 上最多只生成 N 个分区文件。记录每个 Partition 的大小和偏移量。
2022-12-18 20:32:41 283
原创 数仓开发流程及维度建模过程
声明粒度:精确定义每一行事实表所代表的业务含义,粒度传递的是与事实表度量相关的细节层次 一般是原子粒度 来保证事实表最大的灵活度。选择业务过程:对业务进行理解 进行详细的需求分析 对业务生命周期进行分析 明确业务步骤。确认维度:业务确定后 可以确认相关维度 应该选择能够清晰描述业务过程所处环境的维度信息。1.数据调研:和业务方沟通进行业务调研和需求分析,充分了解业务场景和业务含义。3.构建业务总线矩阵:根据业务数据进行分析 抽象出业务过程和维度。2.明确数据域:按照业务的特定标准对数据进行划分。
2022-12-17 12:18:20 820
原创 mysql基础优化
在MySQL中,执行 from 后的表关联查询是从左往右执行的(Oracle相反),第一张表会涉及到全表扫描,所以将小表放在前面,先扫小表,扫描快效率较高,在扫描后面的大表,或许只扫描大表的前100行就符合返回条件并return了。当删除全表中记录时,使用delete语句的操作会被记录到undo块中,删除记录也记录binlog,当确认需要删除全表时,会产生很大量的binlog并占用大量的undo数据块,此时既没有很好的效率也占用了大量的资源。另外,使用truncate可以回收表的水位,使自增字段值归零。
2022-11-29 17:57:28 232
原创 常用shell命令
rm: 删除文件 -f 强制删除不提示 -r递归删除。df: 查看当前文件占磁盘大小。pwd: 查看当前目录地址。ls: 查看当前文件夹内容。top: 查看资源使用情况。tar: 打包/解压文件。mkdir: 创建目录。cat: 查看文件内容。chmod: 修改权限。mv: 重命名/移动。scp: 跨节点传输。
2022-11-29 17:44:29 253
原创 python2和python3的区别
python2使用ASCII编码,需要更改字符集才能正常支持中文.python3中字符串是Unicode (utf-8)编码,支持中文做标识符。python2中可以使用file( ..... ) 或 open(.....),python3中只可以使用open(.....)python2中有long类型,python3中取消了long类型,并将int类型增加到long类型的取值范围。python2中任意对象都可以比较,在python3中只有相同类型才可以比较。=和,python3中只能使用!
2022-11-11 00:18:12 273
原创 HDFS数据压缩算法及每种算法使用场景
1.gzip压缩优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直 接处理文本一样;大部分linux系统都自带gzip命令,使用方便。缺点:不支持split。 应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格式。例如说一天或 者一个小时的日志压缩成一个gzip文件,运行mapreduce程序的时候通过多个gzip文件达到并发。hive程序, streaming程序,和java写的mapreduce程序完全
2022-11-09 20:59:30 267
原创 RDD弹性机制与缓存持久化
1.内存弹性,内存不够时会在内存和磁盘之间切换2.容错弹性,数据丢失可以自动回复3.计算弹性,计算出错可以重新计算4.分片弹性,可以根据需要重新分片
2022-11-09 20:53:11 122
原创 Yarn的架构与工作流程
resourcemanager: 负责资源的调度,管理资源和分配资源,负责接受任务,但不会追踪或监听任务的执行过程,任务失败与否和他无关. nodemanager需要定时与resourcemanager保持心跳,报告内存和core资源nodemanager: 提供资源的节点.负责启动APPmaster申请的进程资源和关闭APPmaster使用完的进程资源applicationMaster(APPmaster): 负责向resourcemanager申请资源,连接nodemanager,在nodema
2022-10-20 20:22:56 365
原创 HDFS的角色与工作原理
HDFS的角色一个Master: NameNode NameNode负责存储元数据,以树形结构储存目录,但是block块位置不会长久保存,每次开机需要重新获取block块位置(由DataNode汇报给NameNode)多个Slave: DataNode 负责储存数据,一个大文件会被切分成多个block块,每块128M,并且会有三份副本,保证数据安全SecondaryNameNode: 负责辅助NameNode处理元数据
2022-10-17 23:34:51 462
原创 MapReduce工作原理
1.从HDFS中读取数据,并按照block块(128M)划分split(128M),每个split对应一个maptask2.map对每个分片的每行数据进行(key,value)处理,得到中间数据3.将中间数据储存到环形缓冲区(默认100M),并给每个键值对赋予partition属性,当文件大小达到阈值时生成一个小文件写入磁盘,并再写入前根据key值进行排序(溢写过程)
2022-10-17 00:29:08 1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人