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

原创 常用开发工具官方文档及源码链接入口页
Python:文档 (中文)、文档 (英文);CPython 源码numpy:文档pandas:文档matplotlib:文档sklearn:文档;源码NetworkX:文档XgBoost:文档Pylint:文档Black:文档PyCharm:文档ElasticSearch:文档;Python APIKafka:文档 (中文);源码;Python API
2023-04-20 13:16:34
268
原创 大数据|数仓分层的概念【学习笔记】
维度表,也称查找表,是与事实表相对应的已中标;它保存了维度的属性值,可以跟事实表做关联,相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。事实表,是指存储事实记录的表,比如系统日志、销售记录等。事实表的记录在不断地增长,所以事实表的体积通常远大于其他表。常见的维度表有:日期表(存储日期对应的周、月、季度等的属性)、地点表(包含国家、绳、州、城市等属性)
2023-09-23 11:59:59
24
原创 Hue|从 Hive 下载数据到本地
然后进入 Hue 的文件浏览器,找到写出 HDFS 文件,选择 “操作” - “下载” 即可下载到本地。需要每个文件单独点击下载,不支持多个文件一起下载。
2023-09-22 16:59:45
10
原创 Hue|在 Hue 查看 Hive 集群的方法
方法一:点击 Hue 左下角的头像,然后在出现的小窗口上选择 Desktop Setting。在页面上可以看到 Hive Server 中的集群地址和集群端口。方法二:直接访问如下地址。(Hue 首页地址为。
2023-09-22 11:49:06
9
原创 大数据|数据湖的基本概念【学习笔记】
有足够的数据存储能力可以存储任意类型的数据,包括结构化、本结构化和非结构化数据数据都是原始数据具备数据管理能力具有多样化的分析能力具有完善的数据生命周期管理能力(保存各类处理的中间结果,记录数据的分析处理过程)具备完善的数据获取和发布能力(支持各种各样的数据源,支持各种各样的访问需求)具有可拓展的大规模存储和处理能力。
2023-09-20 23:08:57
9
原创 Python 实例|清理包含 HTML 编码和 HTML 标签的文本
【代码】Python 实例|清理包含 HTML 编码和 HTML 标签的文本.md。
2023-09-20 08:23:15
6
原创 SQL|大量数据导入 MySQL 的性能优化方法
优化方法:先将需要写入到表 my_table 中的数据,按写入 MySQL 后的主键排序,然后再逐条写入到 MySQL 中。通过对主键排序,可以保证在写入数据时,新增的数据一定是写在最后一个数据页上的,已写完的数据页不会需要页分裂。当 MySQL 需要插入一条记录时,首先会定位到这条记录应该被插入到哪个叶子节点对应的数据页中;如该数据页空间足够,则直接插入数据,如果该数据页空间不足,则不能直接插入数据,而是需要进行页分裂。业务场景:需要将大量记录写入到表 my_table 中。
2023-09-19 22:52:03
8
原创 Python|正则表达式操作(re 模块)用法讲解及各函数样例
在 Python 的正则表达式 re 包中,有如下 4 个扫描正则表达式 pattern 是否与字符串 string 中的某个位置匹配,并返回或生成匹配结果的 Match 对象的函数。以字符串列表或字符串元组列表的形式,返回 pattern 在 string 中的所有重叠匹配。匹配到的最后一个命名组的名称。如果第 2 个子组没有匹配到,但第 3 个子组匹配到的话,会返回第 3 个子组的名称。需要注意的是,对于这 4 个函数中,在字符串中没有找到与模式匹配的位置,与在某个位置上找到零长度的匹配是不一样的。
2023-09-19 08:30:42
13
原创 大数据|TableStore 存储原理【学习笔记】
每个列都有一个名称和数据类型,用于定义该列可以存储的数据的类型。每个表中的行表示一个具体的实例或记录,而每个列则表示该实例或记录的不同属性。每列都可以存储多个版本的值,每个值会有一个版本号,同时也是一个时间戳,如果设置了数据自动过期,就会按照这个时间戳来判断数据是否过期,后台对过期数据自动清理。在主表的基础上,建立了一个从属性列到主键列的索引,相当于多了一张索引表,也相当于给主表提供了另外一种排序的方式。只能支持主键的点查和范围查(主键范围查询指的是整体主键的范围,而非单独某一列的范围)
2023-09-18 23:10:03
18
原创 各项常见运动的代谢当量(MET)整理
因为人体的能量来自于身体内的氧化反应,而人体的氧化反应必须依赖氧气进行,所以我们可以使用各项活动的 MET 值,来估算各个运动的能量消耗。当你在进行强度为 1 MET 的活动时,每分钟每公斤体重大约会消耗 3.5 毫升氧气。衡量运动强度的单位是 MET(代谢当量)。
2023-09-17 15:13:37
33
原创 Supervisor|官方文档梳理
通过 supervisorctl,用户可以连接到不同的 supervisord 进程(一次只能连接一个),获取由其控制的子进程的状态,停止和启动子进程,并获取运行中进程的列表。它负责在自身调用时启动子程序,响应来自客户端的命令,重新启动崩溃或退出的子进程,记录子进程的标准输出和标准错误输出,并生成和处理与子进程生命周期中的各个点对应的 “事件”。supervisor 的 HTTP 服务器既提供 Web 用户界面,也提供 XML-RPC 接口,可用于查询和控制 Supervisor 及其运行的程序。
2023-09-16 15:40:34
21
原创 Linux|文件系统挂载逻辑
因此,对于任意一个路径,我们只需要从其路径往上逐层查看,找到的最近一层的文件系统即这个路径存储的文件系统。命令可以看到 Linux 中各个文件系统的总空间、可用空间、已用空间和挂载点。时根分区,如果其他目录没有单独的文件系统, 则默认存放到该文件系统中。挂载到文件系统 B,则路径。挂载到文件系统 A,而。存储在文件系统 B 中。
2023-09-13 23:39:08
12
原创 SQL|使用游标分页优化深分页
业务场景:需要将有 500 万条记录的表 my_table 中的 content 字段取出。这显然需要分页取出,我们规定每一页取出 1000 条记录。
2023-09-13 23:37:27
61
原创 PyCharm|添加到 gitignore 的两种方法
路径下,所以不会被 Git 视为需要同步。因此,如果我们不需要将这个 ignore 规则推到远端,则需要选择这个选项。路径下,所以会被 Git 视为需要同步。因此,如果我们需要将这个 ignore 规则推到远端,则需要选择这个选项。第二个选项 “.git/info/exclude” 是将 ignore 的信息添加到项目根目录下的。第一个选项 “.gitignore” 是将 ignore 的信息添加到项目根目录下的。
2023-09-12 22:53:18
23
原创 MacOS|pem 文件报错问题
的权限当前被设置为 644,即所有者可读写,其他用户可读。我们需要将 pem 文件的权限设置为 400,即所有者可读,其他用户没有权限。这将将文件权限设置为只有所有者可读和写入,没有其他用户权限。这个报错是因为 pem 文件的权限设置不正确导致的。再次尝试使用 pem 文件,应该不再报错。从错误信息中可以看到,pem 文件。打开终端或命令提示符窗口。
2023-09-11 23:07:47
25
原创 《统计学习方法》啃书手册|第20章 潜在狄利克雷分配(教材全解 + 公式推导 + Python实现)- 2
位置:《统计学习方法》啃书手册 > 第20章 潜在狄利克雷分配20.4.1 变分推理【补充说明】联合概率分布p(x,z)p(x,z)p(x,z)中,xxx是观测变量,即一个文本的单词序列;zzz是隐变量,即与该文本的单词序列对应的话题序列;后验概率分布p(z∣x)p(z|x)p(z∣x)是给定文本的单词序列的条件下,各个话题序列的概率。【补充解释】变分推理的推导逻辑:KL散度是描述两个概率分布相似度的一种度量;那么你希望找到与p(z∣x)p(z|x)p(z∣x)在KL散度意义下最接近的分布
2023-09-10 15:43:05
39
原创 《统计学习方法》啃书手册|第20章 潜在狄利克雷分配(教材全解 + 公式推导 + Python实现)- 1
位置:《统计学习方法》啃书手册 > 第20章 潜在狄利克雷分配【学习建议】建议在学习20.2之前先学习附录E.1(KL散度的定义)和附录E.2(狄利克雷分布的性质)。【学习建议】建议在学习20.4.3之前先学习附录B(牛顿法和拟牛顿法)。20.1.1 分布定义【补充解释】在多项分布中,p1n1p2n2⋯pknkp_1^{n1} p_2^{n2} \cdots p_k^{nk}p1n1p2n2⋯pknk表示每一个满足条件的事件发生的概率,n!n1!n2!⋯nk!\frac{n!}{n_
2023-09-10 15:41:39
13
原创 刷题记录|牛客网报错处理|SQL_ERROR_INFO Not Select
通常来说,我们不会犯这个的错误,出现这个错误通常只是因为使用牛客了的自动代码格式化,自动格式化 SELECT 的第一个字段即为函数的 SQL 语句导致。在这种情况下,不使用牛客的代码自动格式化功能,或使用后记得修改。或格式化已在 SELECT 后添加空格的语句。SELECT 之后缺少空格。在 SELECT 后添加空格。
2023-09-10 12:22:31
27
原创 Spark|Spark 的 tranformer 算子和 action 算子整理
将数据集的元素以 Hadoop SequenceFile 的形式写入到指定路径中,可以是本地文件系统、HDFS 或任何其他受 Hadoop 支持的文件系统。将数据集的元素以文本文件(或一组文本文件)的形式写入到指定目录中,可以是本地文件系统、HDFS 或任何其他受 Hadoop 支持的文件系统。函数可以对 RDD 中的数据进行随机重分区,创建更多或更少的分区,并在它们之间实现负载均衡。的元素会被写入到进程的标准输入(stdin),而进程的标准输出(stdout)中的每一行会作为字符串的 RDD 返回。
2023-09-07 18:12:54
22
原创 Python|collections.abc 中容器的抽象基类整理
官方文档地址:https://docs.python.org/zh-cn/3/library/collections.abc.html各个抽象基类的引用关系如下图所示:
2023-09-05 22:38:48
22
原创 Python|Coverage|覆盖率报告生成常用参数整理
需要在报告中保留的文件名的模式(patterns)。需要在报告中剔除的文件名的模式(patterns)。(根据文件中表达式数量,多行表达式视作一个表达式),是否跳过已单元测试已 100% 完全覆盖的文件。参数筛选需要保留的文件名的集合,然后再根据。参数筛选需要保留的文件名的集合,然后再根据。是否跳过没有可执行代码的空文件。报告中各个文件的排序方法。参数从集合中剔除不需要的文件。参数从集合中剔除不需要的文件。(单元测试不覆盖表达式数量),(单元测试覆盖率)。前缀的话,则倒序排序。
2023-09-04 22:26:59
31
原创 Python 性能优化|使用单个 numpy 矩阵和使用多个 numpy 向量构造 DataFrame 的性能差异
参数的情况下,基于单个 numpy 矩阵的构造方法的新增内存和内存峰值不变,但是基于多个 numpy 向量的构造方法的新增内存增长为 80144000 B,内存峰值增长为 80376266 B。可以看到,在均不复制的情况下,用多个 numpy 向量构造的 DataFrame 内存占用是更多的,且构造过程中的内存峰值更大。可以看到,使用多个 numpy 向量构造 DataFrame 时,默认是复制数据的。构造过程的新增内存为 521466 B,内存峰值为 726434 B。
2023-09-04 22:26:05
19
原创 Python 性能优化|优化 pandas.concat 内存占用方法(避免复制数据)
因为 numpy 的切片方法通常不会导致复制数据,所有我们考虑将 DataFrame 中的每一列分别取出、切片后再重新构造 DataFrame。显然,在上述的操作中,复制了 DataFrame 中的数据。我们希望实现一种不需要复制,而是使用切片视图的方法。的参数,发现并不能有效降低内存,反而使内存峰值翻倍,具体原因待基于源码分析。监控内存,可知这一步操作的返回的 DataFrame 新增内存。因此,返回值的内存约占数据内存的 9.64%。在返回结果中,数据需要使用内存。使用上述逻辑,新增内存为。
2023-09-04 22:24:37
43
原创 Linux|内核态、用户态 CPU 时间
其中 CPU 跑分用于衡量 CPU 型号的计算速度,但是各评测网站的 CPU 跑分均使用 CPU 最大主频(部分开启睿频)评测,因此我们在估算 CPU 计算速度时,需要考虑到现场可能 CPU 主频可能不是最高。使用天梯图,结合参考系(建议使用 i7 8700 或 i7 12700)即可计算不同 CPU 之间的跑分差距,需要注意的是,该网站天梯图中提供的是多核性能的跑分。权限的系统内核中去执行这行代码,必然会造成 CPU 从用户态到内核态的切换,即代码会从应用程序所在的用户线程切换到内核中的内核进程去执行。
2023-09-03 22:59:55
25
原创 Linux|时间片和上下文切换
这就导致处理器需要更加频繁地切换上下文并执行不同的进程,从而使得被动的上下文切换次数激增(system time 激增),同时也会导致上下文切换占用更大比例的 CPU 时间。在 Linux 中,系统分配给每个进程的时间片的长短并不是固定的,而是受到进程父子关系、进程数量、进程交互性(趋向于 IO 密集型还是处理器密集型)等因素来分配不同的时间片长度。如果时间片的长度过长,那么当 CPU 正在执行的任务较多时,一些简单命令的响应时间也可能会因为 CPU 正在执行其他进程的时间片而延长。
2023-09-03 22:58:28
18
原创 Python 实例|监控函数运行占用资源的装饰器
为了方便优化函数的运行时间和运行空间,我实现了一个可以装饰器,只要为目标函数或目标方法添加这个装饰器,就可以在控制台输出目标函数/方法的运行时间和运行空间。具体地,使用标准库 time 来监视运行时间,标准库 tracemalloc 来监视运行空间。因为使用标准库 tracemalloc 来监视运行空间时,会大幅度地增加目标函数的运行时间;又因为使用标准库 time 来监视运行时间的话需要增加 2 个浮点型变量用于存储时间戳,会略微增大目标函数的运行空间。
2023-09-03 11:37:05
24
原创 Python 实例|doctest 函数预期抛出异常的写法
这样,就可以忽略打印堆栈中的文件路径及行数,可以准确测试函数是否能抛出异常。直接运行 doctest 用例。和函数抛出异常的最后一行。写出函数抛出异常的第一行。
2023-08-22 14:01:00
33
原创 SQL|练习数据:Kaggle 的 tmdb-box-office-prediction(转架构化数据,用于 SQL 练习)
将训练数据集中的 belong_to_collection、genres、production_companies、production_countries、spoken_lanuages、keywords、cast、crew 这 8 个字段改造为子表。(共 3000 条记录)
2023-08-14 08:17:35
41
原创 Python 实例|Kaggle 常用数据格式化工具函数
解析 Json 格式字符串表示的 Python 列表,也支持标准 Json 格式字符串,或在 Python 控制台直接打印的列表。3 个 Kaggle 常用的数据格式化工具函数,分别用于解析 Json 格式字符串表示的 Python 列表、浮点型数字和整型数字。实现,性能较差,但能够支持 Python 控制台直接打印的格式。解析字符串表示的浮点数。解析字符串表示的整型。
2023-08-13 17:34:09
29
原创 Python|cpython 源码解析|字符串的 __repr__ 方法
我们知道,在控制台打印一个 Python 对象时,会优先调用该对象的__str__方法(如果没有__str__方法,则会调用__repr__方法)。在 Python 的官方文档中,是如此描述__str__方法和__repr__
2023-08-13 15:22:09
28
原创 SQL|结构化数据库常用术语
在 WHERE 子句中的关键字,用来指定要匹配值的清单的关键字,功能与 OR 相当。外键为某个表中的一列,它包含另一个表的主键值,定义了两个表之间的关系。在 WHERE 子句中的关键字,用来指示检索满足所有给定条件的行。在 WHERE 子句中的关键字,用来表示索引匹配任一给定条件的行。在 WHERE 子句中的关键字,用来否定后跟条件的关键字。用来联结或改变 WHERE 子句中的子句的关键字。表中的一列,其值能够唯一区分表中的每一行。用来匹配值的一部分的特殊字符。字段所容许的数据的类型。
2023-08-13 08:37:22
20
Kaggle:tmdb-box-office-prediction(转结构化数据,用于 SQL 练习)
2023-08-14
请问大家有推荐的 CPython 相关教程或书籍吗?
2023-05-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人