- 博客(1136)
- 资源 (74)
- 问答 (1)
- 收藏
- 关注
原创 用Python打开数据库的大门-数据库的JOIN语句
上图的连接方式被称为左外连接(left outer join)或左连接(left join),是以外出记录为左表,基础信息为右表进行的连接,保留了左表的所有信息,而不展示右表连接失败的数据。了解了这四种连接方式,连接的操作就没有多大问题了。这里LEFT JOIN可以替换成任意的连接方式,只要数据库支持即可,在LEFT JOIN左边的是左表,在右边的则是右表,而ON引导的是一个判断语句,判定两个表的某个字段为共同字段。连接的目的是尽量减少数据的冗余,减少重复性的工作,而这部分构思最好在数据库的设计时就完成。
2023-01-30 22:56:58
6
原创 Spark性能优化指南——高级篇
有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。
2023-01-28 22:11:17
11
1
原创 Spark性能优化指南——基础篇
在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。
2023-01-28 22:10:13
7
原创 Spark调优
由于大部分Spark计算都是在内存中完成的,所以SparkCPU、网络带宽、或者内存等。最常见的情况是,数据能装进内存,而瓶颈是网络带宽;当然,有时候我们也需要做一些优化调整来减少内存占用,例如将RDD以序列化格式保存。本文将主要涵盖两个主题:1.数据序列化(这对于优化网络性能极为重要);2.减少内存占用以及内存调优。同时,我们也会提及其他几个比较小的主题。
2023-01-28 22:08:22
5
原创 spark参数介绍
属性名默认值属性说明512m在客户端模式()下,yarn应用master使用的内存数。在集群模式()下,使用代替。1在集群模式()下,driver程序使用的核数。在集群模式()下,driver程序和master运行在同一个jvm中,所以master控制这个核数。在客户端模式()下,使用控制master使用的核。1在客户端模式()下,yarn应用的master使用的核数。在集群模式下,使用代替。100ms在集群模式(cluster mode)下,yarn应用master等待初始化的时间。
2023-01-28 22:05:36
4
原创 基础进阶ODS、DWD、DWM等模型分层
问:还是不太明白 ods 和 dwd 层的区别,有了 ods 层后感觉 dwd 没有什么用了。答:嗯,我是这样理解的,站在一个理想的角度来讲,如果 ods 层的数据就非常规整,基本能满足我们绝大部分的需求,这当然是好的,这时候 dwd 层其实也没太大必要。但是现实中接触的情况是 ods 层的数据很难保证质量,毕竟数据的来源多种多样,推送方也会有自己的推送逻辑,在这种情况下,我们就需要通过额外的一层 dwd 来屏蔽一些底层的差异。
2023-01-18 21:48:29
30
原创 Hive SQL优化思路分享
2、尽量不要用COUNT DISTINCT,因为COUNT DISTINCT操作需要用一个Reduce Task来完成,这一个Reduce需要处理的数据量太大,就会导致整个Job很难完成,一般COUNT DISTINCT使用先GROUP BY在COUNT的方式替换,虽然会多用一个Job来完成,但在数据量大的情况下,这个绝对是值得的。原因是在Join操作的Reduce阶段,位于Join操作符左边的表的内容会被加载进内存,将条目少的表放在左边,可以有效减少发生OOM错误的几率。select a.*
2023-01-14 22:30:19
14
1
原创 7000字的SQL语法速成手册
数据控制语言 (Data Control Language, DCL) 是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。外连接返回一个表中的所有行,并且仅返回来自次表中满足连接条件的那些行,即两个表中的列是相等的。更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。游标(cursor)是一个存储在 DBMS 服务器上的数据库查询,它不是一条 SELECT 语句,而是被该语句检索出来的结果集。
2023-01-05 21:00:48
23
原创 研究烛条分析技术(第四部分):形态分析器的更新和补充
在本系列的早期文章中,我们创建了一个 MetaTrader 5 应用程序,该应用程序能够测试现有烛条形态的相关性。后续的版本可以根据简单的烛条类型创建自定义形态,例如长/短实体蜡烛,十字星,顶纺锤,等等。在最新的部分,我们开发了一个函数库,可根据烛条形态创建指标和智能交易系统。本文论述了形态分析器(Pattern Analyzer)应用程序的新版本。此版本修复了已发现错误并提供了一些新功能,还改进了用户界面。在新版本的开发过程中参考了上一篇文章中的意见和建议。最终的应用程序会在本文中进行说明。
2022-11-29 23:04:53
79
1
原创 开发一个跨平台网格 EA
经常访问本网站的用户都很清楚, MQL5 是开发自定义 EA 交易的最佳选择,不幸的是, 并不是所有的经纪商都允许创建 MetaTrader 5 的账户。. 就栓您现在使用的经纪商允许这一点,您也许也会在将来换到只提供 MetaTrader 4 的经纪商那里,您将如何处理在这种情况下开发的所有 MQL5 EA 交易呢?您是否要花费大量时间对它们进行返工以适应MQL4?也许,开发一个既能在MetaTrader 5中工作又能在MetaTrader 4中工作的EA更为合理?
2022-11-29 23:02:26
362
原创 HiveSQL中的JOIN ON条件
HiveSQL很常用的一个操作就是关联(Join)。Hive为用户提供了多种JOIN类型,可以满足不同的使用场景。但是,对于不同JOIN类型的语义,或许有些人对此不太清晰。简单的问题,往往是细节问题,而这些问题恰恰也是重要的问题。本文将围绕不同的JOIN类型,介绍JOIN的语义,并对每种JOIN类型需要注意的问题进行剖析,希望本文对你有所帮助。
2022-11-26 13:14:57
844
1
原创 数据仓库:详解维度建模之事实表
每个数据仓库都包含一个或者多个事实数据表。其中可能包含业务销售数据,如现金登记事务所产生的数据,通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性。
2022-10-26 20:05:32
61
原创 Pandas性能优化:基础篇
Pandas 号称“数据挖掘瑞士军刀”,是数据处理最常用的库。在数据挖掘或者kaggle比赛中,我们经常使用pandas进行数据提取、分析、构造特征。而如果数据量很大,操作算法复杂,那么pandas的运行速度可能非常慢。本文根据实际工作中的经验,总结了一些pandas的使用技巧,帮助提高运行速度或减少内存占用。
2022-10-24 21:03:21
335
原创 编程神器Copilot逐字抄袭他人代码?
据 OpenAI 的介绍,Codex 接受了“数以千万计的公共 repo”的训练,其中当然包括 GitHub 上的代码。Matthew 认为,通过将 Copilot 当作海量开源代码的替代接口,微软不仅借此切断了开源作者与用户之间的法律关系,甚至建立起新的“围墙花园”——阻止程序员接触传统开源社区,从而消除了他们为之贡献的可能性。对此,GitHub Copilot 的发明者 Alex Graveley 回应道,Tim Davis 写的代码和 Copilot 产生的代码不同,“相似,但不同”。
2022-10-22 21:15:36
414
原创 数据分析落地全流程
问题场景:某大型售后连锁服务商,同时承接厂商、企业、个人的服务需求,由客服接需求以后生成工单,分配给自营的服务点或外包的服务商,上门完成服务。现在已定下,北极星指标是:实际完成工单件数,问:如何做进一步落地分析。
2022-10-16 21:52:15
66
原创 9个python vscode 插件
Python Snippets有大量的代码段,涵盖了所有最常见的需求,如字符串、列表、集合、元组、字典、类。所有的代码段都至少有一个例子,帮助你快速查阅和学习使用。一个可视化的python插件,帮助你更好的调试和修复bug,觉得是debug一大利器。更友好的缩进,帮助你更好的找到for,if等结束的位置,眼神不好的人的福音。帮助你管理好python中的缩进,而不是每次回车都在窗口的最左边。看到python运行结果的插件,在写一些小脚本的时候超有用!同时,帮助你自动填充括号,更好的敲代码。
2022-10-09 22:32:57
872
原创 数据思维的关键是什么?
如何提升员工的“数据思维”,让每一个人都能理解数据的价值和规律,甚至都具备数据分析的能力。即便是对于金融这样走在数字化前排的行业来说,也在受类似问题的困扰。和其它传统的实体行业不同的是,金融几乎就是一个基于数字的“游戏”。但是,拥有数据是一回事,能把数据价值释放出来又是另一回事。不少金融企业表示,虽然行业整体在平台建设和数据整合方面取得了可观进展,然而对于如何提高数据的利用率,真正释放数据要素价值,还有很多问题亟待解决——比如,内部员工如果不具备数据思维,就不能在日常开展业务的过程中把数据的价值纳入考虑范围
2022-10-08 20:50:58
48
原创 python项目开发常用的目录结构
settings.py:conf文件夹下,项目配置文件,有的是py脚本,而有的是ini、.conf、.yaml。run.py:项目启动脚本,在项目的根目录下,或bin目录下。views(templates):存放项目中所需要的模版文件,MVC模型中的视图。setup.py:安装、部署、打包的脚本,一键安装所需要的所有依赖环境。models:存放项目中与数据库打交道的脚本,MVC模型中的模型。controller:存放项目中的主流算法,MVC模型中的控制。static:存放项目中所需要的静态文件。
2022-09-27 21:56:54
1984
原创 9种最常用数据分析方法
用户路径分析追踪用户从某个开始事件直到结束事件的行为路径,即对用户流向进行监测,可以用来衡量网站优化的效果或营销推广的效果,以及了解用户行为偏好,其最终目的是达成业务目标,引导用户更高效地完成产品的最优路径,最终促使用户付费。比如一个商超进行产品分析的时候,就可以对每个商品的利润进行排序,找到前20%的产品,那这些产品就是能够带来较多价值的商品,可以再通过组合销售、降价销售等手段,进一步激发其带来的收益回报。分析业务数据,确定当前最关键的改进点,作出优化改进的假设,提出优化建议;
2022-09-14 21:50:31
68
转载 def pdf2imgs(pdf_path:str, out_dir=“.“) -> None:
通过查找资料,再知道这好像是一个公司的代码规范但没啥大用,因为即使比如我现在的__init__()函数写明了啥也不返回(返回None)但是我偏要在代码实现的时候返回些内容,当然也是可以的,不报错。这个东西一般是出现在代码补全上,比如我就是在PyCharm上,我通过点击Code--Override Method这个方法,为我的继承nn.Module添加一些代码补全,然后就长这样了。2.def __init__(self, value) -> None: - 山河已无恙 - 博客园。那么这个东西时干啥的呢?
2022-09-11 22:36:29
51
原创 快速掌握数据分析思路
这一份攻略,首先从梳理需求开始,对于下面几种情况进行了详细的讲解,并且针对五个基本问题类型,给出了解答思路。这些问题,都包含了销售、运营、产品的业务知识,如果不加以区分,很容易因为不了解业务动作,或者无法量化业务动作,导致而被问题困住,无法进一步用数据计算。如果是求职、职业发展类的问题,可能不太适合把个人隐私进行群体讨论,可以先看星球内求职专栏,然后加我的私信,一对一单独做诊断。这一份攻略,也清晰区分了数据问题和业务问题,对于下面情况进行详细介绍,并且给了5个现实中案例,带大家看清拆解思路。
2022-09-01 22:27:13
236
原创 Inmon 范式建模与 Kimball 维度建模
建模方式没有好与坏之分,只有合适与不合适之分,在实际数仓建设中,需要灵活多变,不能全依赖建模理论,也不能不依赖。适时变通,才能建设一个好的数据仓库。
2022-09-01 22:24:49
111
原创 Hadoop数仓知识小结
1. RDD的概念,就是说它会把一个比较大的数据集,然后分成很多个不同的部分,这叫分区。它就是如果有的计算节点失败了,它能够按照。计算的定义的那个计算图重新去构建它失败的那一部分,能够起到一个重视作用,也就是一个,能够保证这个计算的时候,能够在有问题的时候能够鼓掌恢复,然后还能够做这种分布式的计算。2. join的时候一定要看好join的类型:left join、right join、inner join以及左表右表的join字段名称,每join一个表就执行测试下,看看数据效果。
2022-08-22 22:29:20
251
原创 数据分析的价值是什么?
还有一个很重要的,数据分析可以主动做的事,就是围绕目标,积累经验。业务部门处于本位考虑,经常是各自为各自项目摇旗呐喊,容易忽视不同项目之间交叉作用。比如用户流失问题,很有可能流失的用户本身是某些商品的粉丝,本身是季节性购物需求,他不会响应会员中心盲目派的券,而会响应商品部门推送的活动。此时数据部门,可以主动收集各部门活动,以用户为单位,展示各类活动影响用户全景,这种全景式的数据,业务站在自己部门很少看得到,很容易引发业务思考。因此特别建议数据部门,主动收集各类业务动作,围绕同一个业务目标综合起来。...
2022-08-20 22:05:04
73
原创 Python附录B 更多关于IPython的内容
第2章中,我们学习了IPython shell和Jupyter notebook的基础。本章中,我们会探索IPython更深层次的功能,可以从控制台或在jupyter使用。Ipython维护了一个位于磁盘的小型数据库,用于保存执行的每条指令。它的用途有:这些功能在shell中,要比notebook更为有用,因为notebook从设计上是将输入和输出的代码放到每个代码格子中。Ipython可以让你搜索和执行之前的代码或其他命令。这个功能非常有用,因为你可能需要重复执行同样的命令,例如%run命令,或其它代码。
2022-08-20 22:04:50
46
原创 数仓建模方法和数仓分层架构
星形模型是最简单,也是最常用的模型。星型架构是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,所以数据有一定的冗余,如在地域维度表中,存在国家 A 省 B 的城市 C 以及国家 A 省 B 的城市 D 两条记录,那么国家 A 和省 B 的信息分别存储了两次,即存在冗余。建立核心模型与扩展模型体系,核心模型包括的宇段支持常用的核心业务,扩展模型包括的字段支持个性化或少量应用的需要 ,不能让扩展模型的宇段过度侵人核心模型,以免破坏核心模型的架构简洁性与可维护性。...
2022-08-04 21:28:37
106
原创 HADOOP数据仓库
数仓特点面向主题:为数据分析提供服务,根据主题将原始数据集合在一起,属于OLAP在线分析处理系统,主要操作是批量读写,关注数据整合,以及分析、处理性能;会有意引入冗余,采用反范式方法设计...
2022-08-04 21:15:21
218
原创 Hive性能调优实战
Hive性能调优多样性通过改写SQL优化,减少MR任务数需要理解基本的MR过程和原理,理解HiveSQL是如何转换成计算引擎能运行的算子多张表关联时,将关联条件相同的表放在一起,只会生成一个MR任务...
2022-08-04 21:13:22
380
原创 Hive常用函数
数学函数round(double d, int n):返回保留n位小数的近似d值floor(double d): 返回小于d的最大整值ceil(double d): 返回大于d的最小整值rand(int seed): 返回随机数,seed是随机因子
2022-08-04 21:01:17
54
原创 Anaconda下安装Talib库
pipinstallC\Users\我的名字\Anaconda3\Scripts\TA_Lib-0.4.19-cp38-cp38-win_amd64.whl”安装该库。而从TA-Lib的官网http//ta-lib.org下载的安装包其实也是32位的,如果你的系统平台是64位的,一样无法正确安装。C\Users\我的名字\TA_Lib-0.4.19-cp38-cp38-win_amd64.whl。正确的方法是下载64位的安装包,本地安装,64位安装包官网并没有提供,我们必须自行下载。......
2022-07-25 22:35:52
963
原创 Python学习完基础语法知识后,如何进一步提高?
如果你已经完成了Python基础语法的学习,想要知道接下来如何提高,那么你得先问问自己你要用Python来做什么?目前学习Python后可能的就业方向包括以下几个领域,我把每个领域需要的技术作为了一个简单的关键词摘要。...
2022-07-08 22:36:00
146
原创 Python惯例
“惯例”这个词指的是“习惯的做法,常规的办法,一贯的做法”,与这个词对应的英文单词叫“idiom”。由于Python跟其他很多编程语言在语法和使用上还是有比较显著的差别,因此作为一个Python开发者如果不能掌握这些惯例,就无法写出“Pythonic”的代码。下面我们总结了一些在Python开发中的惯用的代码。...
2022-07-08 22:33:48
61
经典数据结构和算法20220724
2022-07-24
spark-2.2.0-bin-hadoop2.7.zip
2021-11-10
昨夜星辰昨夜风,画楼西畔桂堂东。
2021-03-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人