自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ronaldo-liu的博客

大数据BI的实践之路

  • 博客(56)
  • 收藏
  • 关注

原创 presto函数大全 中文版

Functions and Operators基于Presto 0.215版本的中文注释 函数大全,参考官方文档:https://prestodb.github.io/docs/0.215/functions.html6.1. 逻辑操作6.2. 比较函数和运算符6.3. 条件表达式6.4. Lambda 表达式6.5. 转换函数6.6. 数学函数和运算符6.7. 位运算函...

2019-04-08 18:38:03 89471 1

原创 hive,spark sql优化

一.hive sql优化1.发生数据倾斜,如何解决?什么是数据倾斜?由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点1.1 原因1)、key分布不均匀2)、业务数据本身的特性3)、建表时考虑不周4)、某些SQL语句本身就有数据倾斜1.2 表现任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其...

2018-11-06 20:40:20 2015

原创 python 非线性规划(scipy.optimize.minimize)

一.背景:现在项目上有一个用python 实现非线性规划的需求。非线性规划可以简单分两种,目标函数为凸函数 or 非凸函数。凸函数的 非线性规划,比如fun=x^2+y^2+x*y,有很多常用的python库来完成,网上也有很多资料,比如CVXPY非凸函数的 非线性规划(求极值),从处理方法来说,可以尝试以下几种:1.纯数学方法,求导求极值;2.使用神经网络,深度学习来处理,可参考...

2018-08-09 13:48:34 125259 18

转载 漏斗分析(Funnel Analysis)

什么是漏斗分析?简单来讲,就是抽象出某个流程,观察流程中每一步的转化与流失。漏斗的三个要素:时间:特指漏斗的转化周期,即为完成每一层漏斗所需时间的集合 节点:每一层漏斗,就是一个节点 流量:就是人群对于时间来说:通常来讲,一个漏斗的转化周期越短越好。对于节点来说:最核心的指标就是转化率,计算公式为:转化率 = 通过该层的流量/到达该层的流量。对于流量来说:不同人群在同一个漏斗下的表现情况一定是不一样的,比如淘宝的购物漏斗,男人和女人的转化率不一样,年轻人和老人的转化率也不一

2022-02-18 14:45:43 1940

原创 电商常用三大数据分析模型--深入浅出

三大数据模型:漏斗,留存,全行为路径拆解模型

2022-02-16 18:16:28 4650

原创 跨境电商平台-利润模型搭建

一.背景和业务价值二.数据模型三.

2021-06-22 11:46:32 1008

转载 presto web UI介绍

Presto Web UI 可以用来检查和监控Presto集群,以及运行的查询。他所提供的关于查询的详细信息可以更好的理解以及调整整个集群和单个查询。需要注意的是,Presto Web UI所展示的信息都来自于Presto系统表,关于Presto系统表之后文章中再补充,这里不再多说;当你进入Presto Web时,你将会看到如同1所示的界面:主要分为上下两部分,上面描述了集群信息,下面是查询列表;首页集群信息Running Queries当前在集群中正在执行的查询的个数。包.

2021-01-15 16:59:16 1743

原创 日期转换(函数)--hive 和presto

一.timestamp 类型 转换为其他类型场景 presto用法 hive用法 转换成北京时区的string字符串,格式为y-m-d date_format(created_at AT TIME ZONE 'Asia/Shanghai','%Y-%m-%d') 如果需要到时分秒,可在%Y-%m-%d'基础上加格式 from_unixtime(unix_timestamp(from_utc_timestamp(`created_at`,'A..

2020-07-22 17:54:39 7089

原创 数据分析师的几层境界

一.业务方满意最基本的要求,让所有业务方满意二.业务方觉得你很吊第二层境界,业务方觉得你很吊三.业务方按着你的思维套路提需求第三层,通过不断的合作和赋能业务方,让业务方了解数据结构和数据分析的模式,可以站在系统化的角度提需求,并且目标和期望是在我们已有能力范围内的。四.业务方和你讨论解决方案业务方已对你专业能力非常认可,也对你非常信任。在举棋不定或...

2019-12-31 12:28:29 301

原创 replace into和insert on duplicate key比较

mysql有两种 插入新数据的方法replace into 和insert on duplicate keyreplace into:replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中,1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。1.(根...

2019-05-17 17:24:15 555

原创 presto 提取json数组中的json对象

使用json_array_get函数,可以提取json数组中的指定位置,默认第一位的索引是0json_array_get(json对象, 0)

2019-04-18 18:27:04 11958

原创 Hive sql优化

hive sql 运行太慢,如何优化?经验不丰富的数据分析或者BI工程师往往上来就看sql,调整sql内容,其实不然。一.业务层面first of all, 优先了解sql反应的业务,先把业务梳理清晰,去除掉不必要的表,关联。这个只能泛泛而谈,但确是sql优化应该最先考虑的。在有一定业务经验后,根据实际情况进行优化。二.每张数据表的性能1.数据表的存储格式,存储硬盘(...

2019-04-09 18:42:01 416

转载 HIVE和HBASE区别

HIVE和HBASE区别1. 两者分别是什么?Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop。Apache...

2019-03-29 11:28:53 3867

原创 hive sql执行方式对比(tez,mapreduce,spark,storm)

执行方式 简介 优点 缺点 MapReduce 是一种离线计算框架,将一个算法抽象成Map和Reduce两个阶段进行处理,非常适合数据密集型计算 大数据量下优势明显 读写hdfs次数多;数据量不大时性能一般 Tez ...

2019-03-27 18:27:43 3052

原创 dbeaver常用快捷键

hot keyctrl + enter 执行sqlctrl + \ 执行sql,保留之前窗口结果ctrl + shift + ↑ 向上复制一行ctrl + shift + ↓ 向下复制一行ctrl + alt + F 对sql语句进行格式化,对于很长的sql语句很有用ctrl + d 删除当前行alt + ↑ 向上选定一条sql语句alt + ↓ 向下选定一条sql语句ctr...

2019-03-25 17:37:02 25629 1

原创 pip install cv2报错

代码中有import cv2 惯性思维使用pip install cv2,报错,需要安装 这个包opencv-python 执行:pip install opencv-python成功

2019-02-18 17:05:33 16262 2

原创 安装scrapy库报错Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-6tq4pm2l/Tw

安装scrapy库报错Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-6tq4pm2l/Twisted/百度的方法:python3 -m pip install --upgrade --force pip --userpip install setuptools==33.1.1...

2019-01-22 14:29:42 5263

原创 hive 动态分区参数设置

使用Hive动态分区需要注意设定以下参数:1.是否开启动态分区功能,默认false关闭。 默认值:falsehive.exec.dynamic.partition =false1使用动态分区时候,该参数必须设置成true;hive.exec.dynamic.partition =true12.动态分区的模式: 默认值:stricthive.exec.dynamic.pa...

2018-12-05 19:14:15 11339

原创 引用skearn报错ImportError: cannot import name 'cross_validation'

sklearn更新后执行下面的可能会报错from sklearn.cross_validation import train_test_split报错ImportError: cannot import name 'cross_validation'  解决方法:库路径变了改为:from sklearn.model_selection import KFoldf...

2018-12-05 14:42:49 8156

转载 Hive分区(静态分区+动态分区)

Hive分区的概念与传统关系型数据库分区不同。传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真实的数据,在数据进行插入的时候自动分配分区。Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并不是一个实际字段。 所以可以这样理解,当我们在插入数据的时候指定分区,其实就是新建一个目录或者子...

2018-11-30 14:08:08 466

转载 Hive中join的三种方式

一.common join common join也叫做shuffle join,reduce join操作。适用于两个table的大小相当,但是又不是很大的情况下使用。具体流程就是在map端进行数据的切分,一个block对应一个map操作,然后进行shuffle操作,把对应的block shuffle到reduce端去,再逐个进行联合。缺点:容易产生数据倾斜,大数据量下性能不好 ...

2018-11-21 15:27:14 1266 1

转载 Hive修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作

Alter Table 语句Hive修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作它是在Hive中用来修改的表。语法声明接受任意属性,我们希望在一个表中修改以下语法。  ALTER TABLE name RENAME TO new_name ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ......

2018-10-16 17:06:17 4105

转载 Hive存储格式对比

Apache Hive支持Apache Hadoop中使用的几种熟悉的文件格式,如TextFile,RCFile,SequenceFile,AVRO,ORC和Parquet格式。Cloudera Impala也支持这些文件格式。 在建表时使用STORED AS (TextFile|RCFile|SequenceFile|AVRO|ORC|Parquet)来指定存储格式。TextFile每一行都...

2018-08-21 14:37:57 1394

转载 hive 的几种存储格式

Hive文件存储格式1.textfiletextfile为默认格式存储方式:行存储磁盘开销大 数据解析开销大压缩的text文件 hive无法进行合并和拆分2.sequencefile二进制文件,以<key,value>的形式序列化到文件中存储方式:行存储可分割 压缩一般选择block压缩优势是文件和Hadoop api中的mapfile是相互兼容的。3.rcfile存储方式:数据按行分...

2018-06-14 17:51:29 661

原创 python pandas报错:Exception: cannot handle a non-unique multi-index!

对pandas进行索引查询时报错Exception: cannot handle a non-unique multi-index!df_profit[df_profit['item_no'].str.contains(item + '.+')==True][m]原因:索引里没有这个值,会报这个错,检查pandas数据中的索引是否 有要找的项...

2018-05-23 17:55:02 5703 1

原创 天池新人实战赛之[离线赛]尝试(四)

之前的特征值有10几个,有点少了。增加特征值到

2018-05-16 15:46:48 1085

原创 pip install报错

报错信息:You are using pip version 9.0.3, however version 10.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.解决方法:这个不是报错。pip 版本低也照样可以执行pip3 install 操作。没影响...

2018-05-02 14:53:51 1185

原创 linux常见命令

1.  du -s 显示目录占用的磁盘空间大小2.ps  -aux |grep 查看进程3.kill -9 pid   杀死进程4./usr/bin/sudo su  切换用户5. cp  文件  目标文件夹   复制文件到指定文件夹...

2018-04-27 10:37:51 118

原创 hive sql的一些特殊语法

 1.ORACLE SQL: decode    在hive SQL:    nexr_decodeoracle的 nvl     在hive sql: COALESCE2.array collect_set(col) Returns a set of objects with duplicate elements eliminatedcollect_set: 返回去重的元素数组。...

2018-04-19 21:33:11 3483

原创 天池新人实战赛之[离线赛]尝试(三)

接上面两篇文章,只提取10个特征,是远远不够的。看了一些参加S2比赛的博客总结,先通过一些强规则(SQL)来确定结果。获取前一日(12.18)添加了购物车,当天没有购买过并且在商品子集中的 U-I组合。SQL写法:--筛选出12.18添加进购物车的select  a.user_id,a.item_id   from (select  * from  vipfin.tianchi_fresh_...

2018-04-16 13:24:17 568

原创 机器学习特征值转换(使用spark.ml)

pyspark.ml.feature 下有很多处理特征的方法。在处理特征值时,有一个归化(缩放)的概念,将特征值转换到 量度统一的范围内。这里介绍几种方法:1.MinMaxScaler将数据缩放至给定的最小值与最大值之间,通常是0与1之间2.MaxAbsScaler最大的绝对值缩放至单位大小。但是它通过除以最大值将训练集缩放至[-1,1]。这意味着数据已经以0为中心或者是含有非常非常多0的稀疏数据...

2018-04-13 13:48:38 363

原创 使用spark.createDataFrame报错

spark_df = spark.createDataFrame(df)pandas df转换为spark df时报错Can not merge type <class 'pyspark.sql.types.LongType'> and <class 'pyspark.sql.types.StringType'> 原因:df中有空值,去掉空值,强转类型 即可df['item...

2018-04-13 13:47:59 10327

原创 反向传播算法学习

一.准备工作反向传播算法是神经网络中一个重要的过程。了解反向传播算法之前先来理解几个概念:1.全导 和偏导求导是数学计算中的一个计算方法,它的定义就是,当自变量的增量趋于零时,因变量的增量与自变量的增量之商的极限。在一个函数存在导数时,称这个函数可导或者可微分。可导的函数一定连续。不连续的函数一定不可导。全导数是对各个变量求偏导后叠加偏导数是只对其中一个变量求导数,物理几何意义是一个平面(平行于x...

2018-04-13 13:43:46 371

原创 天池新人实战赛之[离线赛]尝试(二)

上一篇文章已经将基本思路列出,现在已经根据第一篇文中的数据预处理方案处理出一个训练数据表训练数据11.22~11.27U-I集合行为数据对应的大数据表名: temp_fin.temp_tianchi_train1_data验证数据11.29~12.04U-I集合行为数据对应大数据表名:temp_fin.temp_tianchi_train2_data预测数据12.13~12.18U-I集合行为数据...

2018-04-13 13:41:06 1165

原创 天池新人实战赛之[离线赛]尝试(一)

题目(https://tianchi.aliyun.com/getStart)就不贴了。经过一些百度的资料,可以将这个问题简化为:某个U-I组合在观察日是否有购买行为?(二分类问题)接下来分几个步骤来拆解整个过程:一.简单分析将两个数据表.tianchi_fresh_comp_train_item和tianchi_fresh_comp_train_user存入到数据库中,对应表名:vipfin.t...

2018-04-13 13:34:31 2765

原创 机器学习特征值转换(使用spark.ml)

pyspark.ml.feature 下有很多处理特征的方法。在处理特征值时,有一个归化(缩放)的概念,将特征值转换到 量度统一的范围内。这里介绍几种方法:1.MinMaxScaler将数据缩放至给定的最小值与最大值之间,通常是0与1之间2.MaxAbsScaler最大的绝对值缩放至单位大小。但是它通过除以最大值将训练集缩放至[-1,1]。这意味着数据已经以0为中心或者...

2018-04-12 17:45:05 434

原创 天池新人实战赛之[离线赛]尝试(二)

上一篇文章已经将基本思路列出,现在已经根据第一篇文中的数据预处理方案处理出一个训练数据表训练数据11.22~11.27U-I集合行为数据对应的大数据表名: temp_fin.temp_tianchi_train1_data验证数据11.29~12.04U-I集合行为数据对应大数据表名: 数据预处理思路:1.筛选一些异常的训练数据(只买不看的U-I组...

2018-04-11 17:35:59 284

原创 天池新人实战赛之[离线赛]尝试(一)

题目(https://tianchi.aliyun.com/getStart)就不贴了。经过一些百度的资料,可以将这个问题简化为:某个U-I组合在观察日是否有购买行为?(二分类问题)接下来分几个步骤来拆解整个过程:一.简单分析将两个数据表.tianchi_fresh_comp_train_item和tianchi_fresh_comp_train_user存入到数据库中,对应表...

2018-04-09 16:00:30 468

原创 使用spark.createDataFrame报错

spark_df = spark.createDataFrame(df)pandas df转换为spark df时报错Can not merge type <class 'pyspark.sql.types.LongType'> and <class 'pyspark.sql.types.StringType'> 原因:df中有空值,去掉空值,强转类型 即...

2018-04-08 21:02:36 2233

原创 反向传播算法学习

一.准备工作反向传播算法是神经网络中一个重要的过程。了解反向传播算法之前先来理解几个概念:1.全导 和偏导求导是数学计算中的一个计算方法,它的定义就是,当自变量的增量趋于零时,因变量的增量与自变量的增量之商的极限。在一个函数存在导数时,称这个函数可导或者可微分。可导的函数一定连续。不连续的函数一定不可导。全导数是对各个变量求偏导后叠加偏导数是只对其中一个变量求导数,物理...

2018-03-28 20:04:47 265

空空如也

空空如也

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

TA关注的人

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