数据仓库之拉链表实现

拉链表在实际工作中还是有使用的必要,能够大量的节省存储空间,我这次主要使用在商户信息构建,商户姓名存在改名字的可能性,但是商户id不变,下面是一个商户信息表做拉链表的例子。 主要构建思路:1、首先,找到记录最早一天的商户信息作为初始状态,写入到最后使用的表中 2、然后把...

2019-07-22 20:36:07

阅读数 9

评论数 0

阿里云环境下纯sql构建日期维度表

一个完整的数据仓库,日期维度表是必不可少的,对于数据的多维度处理是一个很好的东西。现在的工作环境是阿里云,在这个环境下用纯sql构建了一个日期维度表,主要字段包含以下结果,后续农历日期将通过udf实现,再补充进来 数据生产方案先借用调度系统的补数据方案补指定日期内的数据: 主要字段包含以下数据...

2019-07-01 22:59:04

阅读数 35

评论数 0

阿里云odps循环删除分区

阿里云环境下,循环删除分区操作,通过pyodps实现: 我的分区字段是dt,类型是bigint t = o.get_table('tmp_activity_push') for a in range(20190501,20190530): date = 'dt =' + str(...

2019-07-01 22:45:40

阅读数 60

评论数 0

hive-严格查询模式下set hive.mapred.mode=strict,order by必须加limit有没有系统性能的提升

一、hive严格查询模式下使用order by必须加limit有没有系统性能的提升,个人认为是没有的(如果不对,欢迎大佬留言打脸) 我理解就是加个必填项,让返回的结果集少点,别的在map-reduce阶段,没有任何性能的提升,order by执行完才执行的limit 我在别的博客中有这...

2019-05-18 21:59:00

阅读数 77

评论数 0

集成学习-Boosting

一、Adaboosting 1、Adaboosting的大致思路,第一个模型跑完之后,根据这个模型和实际数据的误差调整样本点的权值,不断进行下去 2、Adaboosting的公式推导(补) 3、Adaboosting的具体使用 import numpy as np import...

2019-04-06 00:50:43

阅读数 36

评论数 0

集成学习-随机森林

一、Random Forest 随机森林sklearn中有封装好的类库,不仅有对特征和数据集的随机选择,在节点划分上,在随机的特征子集上寻找最优划分特征(这也是开源库比自己实现的效果好的原因,在细微处都是有优化的,同时,看别人写的源码和自己实现都是获益匪浅)。 使用实例: impo...

2019-04-06 00:08:17

阅读数 70

评论数 0

集成学习-Bagging和Pasting

一、Bagging和Pasting 上一节说到了集成学习的Voting,基于投票的集成学习就集成了几个分类器的结果,相对来说不是很多,我们需要更多的模型,也就是投票的人更多,且这些模型之间不一样,使得我们的模型更为健壮。 我们可以让每个子模型只看数据的一部分,算法可以使...

2019-04-05 23:01:46

阅读数 83

评论数 0

集成学习-Voting

一、什么是集成学习 集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。一般情况下,集成学习中的多个学习器都是同质的"弱学习器"。 上面的描述来自百度百科,看定义的话知道是基于‘弱学习器’...

2019-04-05 21:40:41

阅读数 93

评论数 0

判断用户连续几天登录或者连续几天出单等

          工作中清洗日志数据的时候有时候会有这样的场景,要看用户连续登陆的情况,或者商家连续有单,用户持续下单的数据,这时候可以写个UDF,如果嫌麻烦的可以参考以下sql,可以计算出用户连续登陆的天数,diff = 1就是连续登陆2天的,大于1就是连续登陆多天以上的。 --假定数据形...

2019-01-19 14:40:52

阅读数 408

评论数 2

数据库设计三范式

            数据库表设计的时候有一定的科学规范,就是三范式 一、第一范式           数据库表中不能出现重复记录,每个字段是原子性的不能再分           理解:记录没有重复的,即使业务信息是重复的,主键不一样,也认为是不同记录;每个字段记录的信息是最小粒度 二、...

2019-01-07 00:28:11

阅读数 194

评论数 0

mysql-索引

一、什么是索引         索引被用来快速找出在一个列上用一特定值的行。没有索引,MySQL不得不首先以第一条记录开始,然后读完整个表直到它找出相关的行。表越大,花费时间越多。对于一个有序字段,可以运用二分查找(Binary Search),这就是为什么性能能得到本质上的提高。MYISAM和...

2019-01-06 16:19:40

阅读数 36

评论数 0

mysql存储引擎

     在建表的时候,我们都会在表中指定存储引擎,这个引擎有很多种。      首先,我们可以通过 SHOW ENGINES 命令查看我们的存储引擎,我这里用的是阿里云rds数据库,也就是mysql5.6版本。      如果修改现有表的引擎通过这个语句:ALTER TABLE TABLE_...

2019-01-05 22:33:02

阅读数 28

评论数 0

mysql约束

一、什么是约束,为什么使用约束        - 约束对应英语单词constraint,约束就是表中数据的限制条件        - 表在设计的时候加入约束的目的就是为了保证表中的记录完整和有效   二、约束包括哪些       1、 非空约束    not null         ...

2019-01-05 20:19:56

阅读数 24

评论数 0

计算文本相似度并将文件写到文本文件

 工作中有一个小需求找相近的颜色,就用文本相似度做了,包是直接找的一个包,大概是交集/并集的计算形式,然后将计算结果写到txt文件中 import difflib A = B = ['纯白', '纯黑色', '白红色Hi', '棕色/白色...

2018-12-30 00:30:28

阅读数 36

评论数 0

json数组解析的两种形式-hive

单个json我们很容易的可以用get_json_object进行解析,json数组就需要用复杂的方式了 1、可以用UDTF,这个是阿里云环境下小伙伴帮忙写的,但是这个不能和原数据进行关联,就是只能取这一个字段 import com.aliyun.odps.udf.UDFException; ...

2018-12-29 23:28:32

阅读数 394

评论数 0

数据仓库实践-阿里云环境

         上一篇文章大致讲了数据仓库构建的理论部分,这一篇以实际工作为例,大致的整理下数据仓库的构建,也算是工作的总结;同时由于使用的是云平台,所以很多hadoop系列的技术问题基本都没有。 一、工作背景        所在部门的主要业务主要做的是电商导购,主要数据分为订单业务数据和流...

2018-12-17 00:12:09

阅读数 228

评论数 0

K-means算法过程及使用实例

一、K-means算法主要过程          (1)从数据中选择k个对象作为初始聚类中心;   (2)计算每个聚类对象到聚类中心的距离来划分;   (3)再次计算每个聚类中心   (4)聚类中心不再变化或到最大迭代次数,则停止,否则,重复2、3。 二、K-means算法手写公式化表示...

2018-12-15 20:08:43

阅读数 294

评论数 0

特征编码方法-OneHotEncoding

对于一些特征工程方面,有时会用到LabelEncoder和OneHotEncoder。 一、为什么需要这种编码方式        在实际的机器学习的应用任务中,特征有时候并不总是连续值,有可能是一些分类值,如性别可分为“male”和“female”,如果我们用简单的0,1代替就会有问题,因为男...

2018-12-11 22:24:27

阅读数 370

评论数 0

降维算法--PCA理论、公式推导

一、降维算法的主要的目的        1、降维可以减少数据共线性,减少冗余特征,提高算法运行效率        2、可视化需要 二、主要的降维算法 三、降维算法的主要思想         在高维数据中,有一部分特征是不带有有效信息的,还有一部分特征之间存在共线性(特征间有线性关系)...

2018-12-08 17:55:23

阅读数 114

评论数 0

数据仓库基础知识

一、数据仓库是什么        引用百度百科:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监...

2018-12-07 23:17:14

阅读数 118

评论数 0

提示
确定要删除当前文章?
取消 删除