自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 一篇文章带你快速搞懂数据仓库的流程

–来,我们直接对照这张流程图用大白话讲解:OLTP层用来存放原始数据的数据库,不同的数据可能来自于不同的数据库。比如CRM系统的数据来自于oracle数据库,ERP系统的数据来自于mysql数据库。这一层的数据可能是包含不同格式,各种各样的“脏数据”。比如说CRM系统的数据中,性别是用0,1来区分男女,而ERP系统的性别是用M,F来区分。为了数据质量过关,数据好用,我们就需要对这些数...

2020-04-14 17:43:57 1288

原创 电商用户画像python实战

目录1.我认为的用户画像2.某电商用户画像分析2.1 分析目的2.2 数据说明2.3 分析思路2.4 分析过程2.4.1 用户基本属性分析2.4.1.1 数据清洗2.4.1.2 男女占比分析2.4.1.3 年龄段占比分析2.4.1.4 地区/省份/城市用户TOP10分布2.4.1.4.1 地区用户TOP10分布2.4.1.4.2 省份用户TOP10分布2.4.1.4.3 城市用户TOP10分布2....

2020-04-11 20:48:53 5689 22

原创 win10下修改jupyter notebook默认路径

1、找到anaconda navigator,打开。2、选择open terminal。3、输入jupyter --config-dir查看路径,切换到该路径下。4、输入jupyter notebook --generate-config,重写默认配置?,Y。5、找到C:\Users\bobo.jupyter\jupyter_notebook_config.py路径(这是我的路径)...

2020-04-02 22:49:15 841

原创 hive窗口函数之ntile、lag、lead、first_value、last_value

目录1.样例数据2.ntile(n)2.1实例1.样例数据id crtime pvcookie1,2015-04-10,1cookie1,2015-04-11,5cookie1,2015-04-12,7cookie1,2015-04-13,3cookie1,2015-04-14,2cookie1,2015-04-15,4cookie1,2015-04-16,4cook...

2020-03-17 01:07:18 1617

原创 linux常用命令

常用命令1.磁盘管理cd(change directory)pwd(print working directory)ls(list)1.磁盘管理cd(change directory)cd / cd ~:进入用户主目录cd -:相当于返回按钮,返回进入此目录之前的目录cd . . :返回上一级目录cd . ./. .:返回上二级目录$代表普通用户,#代表root用户pwd(...

2020-03-04 13:37:38 3059 3

原创 mysql使用between and在处理时间范围时的区间边界问题

前提:基于emp表,我想获取入职日期在1980-12-17到1981-02-22的人员信息。使用between…and…时发现无法获取到日期为1981-02-22的人员记录。between是左右闭区间,为什么无法获取右边区间的数据呢?原因:1.首先emp表格中hiredate的数据类型是datetime类型,当你使用between查找日期范围的时候,会将左区间‘1980-12-1...

2020-02-19 17:03:27 1848

原创 mysql语法-日期时间函数

目录1. 获取系统日期、时间1.1 now()1.2 sysdate()1.3 curdate()1.4 curtime()2. 日期、时间相减2.1 dateiff()2.2 timeiff()3. 日期、时间运算函数3.1 date_add()3.2 date_sub()4. 日期、时间函数5. dayofxxx(date)显示时间日期6. 返回星期和月份名称7.unix时间戳8.date_f...

2020-02-19 00:58:24 873

原创 pandas-分组聚合(agg、transform、apply)理解

目录1. 示例数据2. agg3. transform4. apply1. 示例数据2. aggagg返回的是分组求和后的标量。3. transformtransform返回的是分组求和后的原dataframe的数据结构。4. applyapply返回的是pandas的对象或者标量。另一例子,按照data2进行分组...

2020-01-19 16:22:59 1570

原创 matplotlib绘图原理

目录1. 绘图原理2. 绘图区域设置2.1 add_subplot方法2.2 subplot方法2.3 subplots方法1. 绘图原理2. 绘图区域设置当我们需要在一个画布figure上画多个不同的图形axis时,可以将不同的图形axis绘制在多个不同的区域axes当中。有三种方法:通过Figure对象调用auto_subplot()方法通过plt的subplot()方法通过...

2020-01-16 00:26:31 770

原创 pandas-轴axis理解

目录之前写了一篇关于numpy的axis=?的理解,可以翻看numpy-轴axis理解。其实pandas中的axis与numpy一样,以二维数组为例:axis = 0代表高维在变,低维不变,即[0][0]、[1][0]、[2][0]…以列为一组;axis = 1代表高维不变,低维在变,即[0][0]、[0][1]、[0][2]…以行为一组。那么为什么有时候在pandas中会遇到当axi...

2020-01-15 16:04:05 833

原创 pandas-数据清洗

目录1. 缺失值处理1.1 判断缺失值1.2 丢弃缺失值1.3 填充缺失值1.4 describe()2. 重复值处理2.1 发现重复值2.2 删除重复值1. 缺失值处理1.1 判断缺失值1、info()2、isnull(),可与any()和all()结合使用3、notnull()导入数据:使用info()可以查看每一列的相关信息,可以知道每一列有多少个非空数值。使用isnu...

2020-01-14 00:10:10 275

原创 pandas-分组聚合

目录1.groupby分组1.1 分组的方式2.agg聚合2.1 dataframe.agg方法2.2 分组对象的agg方法1.groupby分组通过groupby方法对series或者dataframe对象进行分组,该方法会返回一个分组对象。但是无法直接打印查看该分组对象的信息。groupby的一个属性二个方法:groups:返回一个字典类型的对象,包含分组信息。size():返回...

2020-01-13 16:09:48 1151

原创 pandas-数据连接合并

目录1.concat连接1.1 axis、ignore_index参数1.2 join参数1.3 keys参数1.4 join_axes参数2.append追加3.merge合并3.1 how参数3.2 on参数3.3 left_on、right_on、suffixes参数3.4 left_index、right_index参数4.join交叉1.concat连接通过concat进行data...

2020-01-10 12:41:43 578

原创 pandas-数据转换

目录1.数据映射(apply、map、applymap)1.1 series(apply、map)1.1.1 apply1.1.2 map1.2 dataframe(apply、applymap)1.2.1 apply1.2.2 applymap1.3 小实例1.4 小结2.数据替换(replace)2.1单值替换2.2列表替换2.3字典替换2.4正则替换,必须设置regex=True3.str属...

2020-01-08 22:50:51 260

原创 pandas-数据过滤

目录1.df[condition]2.df.query()导入数据1.df[condition]使用condition条件来进行过滤,实际上是通过判断True和False,返回布尔数组True的值来进行过滤。2.df.query()expr:过滤表达式。inplace:默认False,True即直接在原DataFrame上进行修改。另外,在query方法中,如果要使用外面的定...

2020-01-08 11:04:44 659

原创 pandas-数据加载(read_csv)数据写入(to_csv)常用参数解析

目录1.CSV与TSV2.read_csv()2.1 header2.2 names2.3 index_col2.3 usecol3.小结1.CSV与TSVC:逗号分隔的结构化文件T:制表符分隔的文件关于CSV已经形成了一种惯性认识:只要是普通的文本文件,并且是结构化的所以不管是什么分隔符,都是CSV格式狭义上,必须是逗号但是现在一般都把结构化的普通文本文件,用CSV的方式来对待,...

2020-01-07 15:37:20 6689

原创 pandas-DataFrame行列访问

目录1.DataFrame概念2.DataFrame行列访问2.1 访问一列,多列2.2 访问一行,多行2.3 访问某几行中的某几列2.4 访问某几列中的某几行2.5 如何获取单元格的值1.DataFrame概念DataFrame可以理解为是由一个或多个不同数据类型的Series组成,DataFrame的一列其实就是一个Series。DataFrame包括三部分:index行索引co...

2020-01-04 00:16:55 7465

原创 pandas-series索引

目录1.Series概念2.创建方式3.索引3.1 标签索引与位置索引3.2 索引返回的是拷贝,切片返回的是视图3.3 总结1.Series概念Series可以理解为是一个带标签的一维数组,可以是任何数据类型。Series有2部分构成:索引index:一维数组值对应的标签,可以利用索引取值。值values:一维数组的各元素值,是一个ndarray类型数据。2.创建方式先给出结...

2020-01-03 20:42:28 9518

原创 numpy-轴axis理解

目录1.例子(二维数组)2.例子(三维数组)1.例子(二维数组)2.例子(三维数组)

2019-12-30 11:55:40 315

原创 numpy索引和切片,重点理解x[0,1]和x[[0,1]]区别

目录1.例子2.索引3.切片1.例子2.索引重点区分:1、基本的索引x[0]x[0,1] # 第0行,第1列2、整数数组的索引x[[0,1]] # 第0行,第1行3、布尔数组的索引x[[True, False]]3.切片...

2019-12-30 11:07:11 582

原创 Python数据分析--numpy基本使用

放在了github上:https://nbviewer.jupyter.org/github/TaoyiOU/numpy-pandas-matplotlib/blob/master/Python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90–numpy–01–%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.ipynb...

2019-12-30 09:49:14 572

原创 informatica增量抽取

目录1.需求2.操作3.测试1.需求将ods_cust_info表抽取到edw层,当表中有新增记录,只抽取新增记录,而不全表重新执行抽取。2.操作1.导入源表:从oltp用户下导入ods_cust_info表。2.定义目标表:根据源表,在目标表新增edw_date日期字段,命名为edw_cust_info表,在edw用户下创建该表。3.创建映射:使用lookup查找转换组件,查找目...

2019-12-24 00:17:55 2881

原创 informatica同构与异构

目录1.同构需求1.1 将emp表和dept表进行内连接1.2 将emp表和dept表进行左连接2.需求一3.同构与异构总结1.同构需求1.1 将emp表和dept表进行内连接1.导入源表:emp表和dept表。2.定义目标表:在emp表中加入2个dept的字段,生成sql语句,在edw用户下创建表。3.创建映射:删除原本连着各自源表的源限定符,新建一个源限定符同时选择两张源表...

2019-12-22 16:54:28 507

原创 informatica组件操作

目录1.需求一1.2 使用Lookup组件1.3 使用sort排序组件2.需求二2.1 filter过滤器组件3.需求三3.1 存储过程转换组件3.2 序列生成器组件seq3.3 汇总器转换组件aggregator4.需求四4.1 路由器转换组件router1.需求一根据供应商id去供应商表查找供应商名称1.2 使用Lookup组件1.创建源表:从scott用户导入供应商表2.创建...

2019-12-20 16:51:09 1046

原创 informatica快速上手实例操作

目录1.目标2.创建EDW用户3.info的客户端介绍4.打开R客户端,创建文件夹5.打开D客户端,定义源表、目标表和创建映射6.打开W客户端,创建任务和工作流7.M客户端,工作流调度监控1.目标将scott用户下的emp表数据通过informatica抽取到EDW层中。2.创建EDW用户在Oracle数据库中创建EDW用户,并授权。3.info的客户端介绍R客户端:用于创建文件夹...

2019-12-18 11:56:40 2371

原创 Oracle基本操作4-存储过程

目录存储过程存储过程的参数--in,默认可省略存储过程的参数--out存储过程的参数--in out存储过程create [or replace] procedure 实例名[变量 in/out/in out数据类型]as[变量 数据类型]begin 主程序语句; commit;--如果有insert、update、delete语句,一定要commitend;例子:给部门表...

2019-12-16 21:09:37 251 1

原创 Oracle基本操作3-游标

目录1.游标1.游标# 将sql返回的结果集用游标进行标注,以后通过对游标的操作来获取结果集的数据# 定义游标cursor 游标名 is select语句;#打开游标open 游标名;#提取游标fetch 游标名 into 变量;#关闭游标,释放占用的系统资源close 游标名;例子Select有多条数据,声明一个游标,存这些数据。open打开游标,因为有多条...

2019-12-16 17:57:26 232

原创 Oracle基本操作2-PL/SQL

目录1.PL/SQL语法结构2.%type和%rowtype3.循环3.1 loop循环3.2 while loop循环3.3 for loop循环1.PL/SQL语法结构declare 变量、常量、游标begin sql语句 pl/sql控制语句 exception 异常执行语句end;例子:打印当前日期异常处理更新指定员工(788)工资,如工资小于4...

2019-12-16 16:18:34 185

原创 Oracle基本操作1

目录1.查询当前用户下所有表名2.行转列3.时间截取4.数据合并5.递归1.查询当前用户下所有表名select table_name from user_tables;2.行转列统计每个部门下的人数行转列语法:case when…then…else…end我们只想要一列显示一个结果,所以在前面加个max3.时间截取dual是一张虚拟表,当你只有一个字段,可以使用...

2019-12-16 15:27:49 268

原创 Oracle数据迁移备份、授权和创建表空间、用户

目录1.Oracle数据迁移备份(cmd方式)2.Oracle用户授权3.创建表空间和用户1.Oracle数据迁移备份(cmd方式)从Oracle导出数据到本地电脑C:\Users\bobo>exp scott/tiger@orcl tables=emp,dept rows=y file=d:\emp_dept.dmp log=d:\emp_dept.log—rows是行,y代...

2019-12-13 16:08:41 411

原创 漏斗转化率统计实战 &(hive严格模式,本地模式)

目录1. 求每一步相对于第一步的转化率2. 求每一步相对于上一步的转化率转化率统计表名order.txt字段id, name, pv1,广告,100002,菜单,30003,详情,26004,购物车,3005,下单,2006,支付,1907,支付ok,189用到关键技术:自连接,窗口函数max前期准备:create database if not exists h...

2019-12-12 17:03:43 1020

原创 TopN,窗口函数(row_number, rank, dense_rank)实战

目录(求TopN)求出每种爱好中,年龄最大的两个人(姓名,爱好,年龄)四个字段的意思:id,姓名,年龄,爱好表名topn字段id, name, age, favor1,ngxiaoming,45,a-c-d-f2,huangzitao,36,b-c-d-e3,huanglei,41,c-d-e4,liushishi,22,a-d-e5,liudehua,39,e-f-d6,...

2019-12-11 15:37:14 1014

原创 自连接,窗口函数(sum、avg、max、min)实战

采用自连接和窗口函数两种方法解题:求每个用户截止到每月为止的当月访问次数、最大单月访问次数、累计到该月的总访问次数。三个字段的意思:用户名,月份,访问次数表名visits字段id, vmonth, pv数据:A,2015-01,5A,2015-01,15B,2015-01,5A,2015-01,8B,2015-01,25A,2015-01,5A,2015-02,4A,2...

2019-12-11 15:18:56 2234

原创 hive分区表和分桶表

目录1.分区表1.1静态分区小结1.2动态分区2.分桶表先创建一个数据库myhive2019create database if not exists myhive2019;在myhive2019数据库下创建内部表 student:create table student(id int,name string,gender string,age int,department string...

2019-12-07 00:15:16 787 2

原创 hive数据导入的6种方式

目录1.hadoop fs -put的方式2.load的方式3.insert...values的方式4.insert...select的方式5.CTAS的方式1.hadoop fs -put的方式创建库create database if not exists 数据库名;创建的数据库存放在hive2.load的方式创建库create database if not exist...

2019-12-04 22:31:00 2008

原创 数据库和数据仓库的区别(个人理解)

数据库和数据仓库的区别针对导入数据的操作1) 数据库:OLTP,一定会对要插入的数据进行严格的检查,不满足要求不能插入。2) 数据仓库:OLAP,对插入的数据不会检查。Hive数据仓库会存储非常大量的数据,一次导入可能就是几百G,几十T,hive不检查是不想让导入的数据效率过于低下。而mysql数据库就很严谨,如果格式不对,就不让插入数据。...

2019-12-04 17:06:00 2201

原创 hive外部表和内部表的区别

目录关于库的操作关于外部表和内部表的操作1. 创建外部表【一般HDFS上先有公用数据,再创建外部表进行连接】external2. 创建内部表【一般先创建表,不指定路径,再导入数据】外部表和内部表的区别总结关于库的操作创建库create database if not exists 数据库名;创建的数据库存放在hive默认的仓库里面(该仓库的位置在当时安装hive的时候指定的位置,在/...

2019-12-04 16:52:38 282

原创 Hadoop-HDFS的核心总结

目录什么是HDFS?HDFS的核心思想HDFS的核心设计1. 心跳机制2. 安全模式3. 副本存放策略4. 负载均衡什么是HDFS?HDFS是hadoop的分布式文件系统,采用的是集群的方式来存储海量数据。集群多台服务器的方式,每台服务器可以【独自】完成工作。(可以自己完成工作,也可以分给别人一起做)分布式多台服务器【共同】完成一个或多个工作。(必须多台机器一起完成)HDFS的...

2019-12-03 11:10:57 456

原创 hive元数据库理解和初级实操

1. hive元数据库hive创建一张表,关联HDFS上存储的结构化数据,那么这张表存储在哪里?其实hive会把用户创建的数据库表等抽象的信息专门存储在一个数据库中,这个数据库就是-------元数据库。HDFS存储的数据有两种:①用户的真实数据,存储在datanode中②抽象和管理这些真实数据的数据,叫做元数据,存储在namenode中namenode类比于书本的目录,datano...

2019-12-02 17:24:08 719

原创 三分钟入门hive的7个概念

1. hive是由Facebook实现并开源的2. hive是hadoop的数据仓库工具hive是将存储在HDFS上的结构化数据映射为一张二维表格,编写sql语句来统计分析。结构化数据:csv、tsv半结构化数据:图片格式、音频格式、视频格式非结构化数据:html、xml用一张图来解释:把存储在HDFS上的结构化数据,通过Hive的sql语句创建数据库表映射为一张二维表格,然后可以写...

2019-12-02 16:42:49 385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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