- 博客(59)
- 收藏
- 关注
原创 《Hive零基础从入门到实战》连载目录
前言本文是Hive零基础从入门到实战系列的传送门,会持续更新直至本系列完结~(一)入门篇01. 环境搭建02. Linux系统简单操作(上)03. Linux系统简单操作(中)04. Linux系统简单操作(下)05. Hive常用数据类型06. HiveQL:数据库操作07. HiveQL:表操作(上)08. HiveQL:表操作(下)09. 如...
2019-07-14 21:14:51 5545 4
原创 (五)编辑公式神器:Mathpix Snipping Tool & Typora
目录前言举例演示:下载链接:前言最近写博客和论文时,发现编辑公式真的是个很令人头疼的事情,后来发现两款配合使用的编辑公式神器,安利给大家~Mathpix Snipping 是一个OCR软件,可以将截图框里的公式转化成LaTeX(LaTeX是一种基于TEX的排版系统,一般用于编辑数学公式)的代码。Typora是一款简单高效的Markdown编辑器,可以将LaTeX代码转化成可视化的公式,并将其导出到word。文末附有百度云下载链接,亲测可用~举例演示:假设...
2020-12-02 08:08:53 8333
原创 (四)Matplotlib基础操作
前言Matplotlib是Python数据可视化工具包。在机器学习领域中,我们经常需要把数据可视化,以便观察数据的模式。此外,在对算法性能进行评估时,也需要把模型相关的数据可视化,才能观察出模型里需要改进的地方。例如,我们把算法的准确度和训练数据集大小的变化曲线画出来,可以清晰地看出训练数据集大小与算法准确度的关系。这就是我们需要学习Matplotlib的原因。1. 基本图表绘制在绘制图表之前要先引入Matplotlib库,相应的代码通常写成“import matplotlib.pyplo...
2020-11-29 08:03:19 1215
原创 (三)Pandas基础操作
目录1. 基本数据结构2. 数据排序3. 数据访问4. 文件输入/输出5. 数据表连接1. 基本数据结构 Pandas最基础的数据结构是Series,用它来表达一行数据,可以理解为一维的数组。 import pandas as pds = pd.Series([4, 2, 5, 0, 6, 3])sOut[76]: 0 41 22 53 04 65 3dtype: int64另外一个关键的数据结构..
2020-11-28 18:06:14 653
原创 (二)Numpy基础操作
Numpy数组可以直接用Python列表来创建数组。 import numpy as npa = np.array([1,2,3,4])aOut[3]: array([1, 2, 3, 4])b = np.array([[1, 2], [3, 4], [5, 6]])bOut[5]:array([[1, 2], [3, 4], [5, 6]])可以查看array的属性,包括数据的维度和类型。b.ndim Out..
2020-11-28 15:48:16 286
原创 (一)机器学习开发步骤
目录1. 什么是机器学习?2.机器学习分哪两类?它们之间有什么区别?3.机器学习应用开发的典型步骤3.1数据采集和标记3.2 数据清洗3.3 特征选择3.4 模型选择3.5 模型训练和测试3.6 模型性能评估和优化3.7 模型使用1. 什么是机器学习?机器学习是一个计算机程序,针对某个特定的任务,从经验中学习,并且越做越好。 从这个理解上,我们可以得出以下针对机器学习最重要的内容。 数据:经验最终要转换为计算机能理解的数据,这样计...
2020-11-26 09:47:26 807
原创 Python爬虫笔记(一)正则表达式提取
认识Python网络爬虫网络爬虫工作原理详解网络爬虫常见类型与应用领域正则表达式批量爬取天善智能学院课程数据认识Python网络爬虫网络爬虫是一种互联网信息的自动化采集程序,主要作用是代替人工对互联网中的数据进行自动采集与整理,以快速地、批量地获取目标数据。从技术手段来说,网络爬虫有多种实现方案,如PHP、Python(Urllib、requests、scrapy、selenium…)…但,网络爬虫的难点并不在于网络爬虫本身,而在于网页的分析与爬虫的反爬攻克问题。网...
2020-08-21 08:25:10 1274 1
原创 各类图表使用指北
目录前言1. 成分对比-饼图2. 项目对比-条形图3. 时间序列-柱状图/折线图4. 频数分布-柱状图/折线图5. 相关性比较-散点图前言本文承接上一篇博客《如何选择适当的图表》,依旧为《用图表说话》的读书笔记,介绍5种常用的基本图表的使用注意事项。1. 成分对比-饼图饼图适用于成分对比,也只适合表达部分占总体的比例,要想用好饼图,需要注意以...
2020-04-19 14:57:29 631
原创 数据分析报告中如何选择适当的图表
目录前言1.明确主题 (从数据到主题)2.决定手法(从主题到对比)2.1成分对比2.2 项目对比2.3 时间序列2.4 频数分布2.5 相关性3.选出图的类型(从对比到图)前言本文为《用图表说话》的读书笔记(强烈安利数据分析师的同行们阅读此书)。在工作中,我们常用的基本图表只有5种,分别是饼图、条形图、柱状图、折线图、散点图:...
2020-04-06 20:29:36 1831
原创 Hive零基础从入门到实战 实战篇(八)例行化报表前置依赖检查
目录前言1. 前置依赖表检查脚本2. 进行前置依赖检查的例行化脚本前言如果你所在的公司没有一套数据调度管理系统的话,那么你的例行化脚本大概率会经常因为脚本中的表数据生成延时,而导致报表数据错误。此时就需要大量的时间进行数据回溯,下面本文就介绍一套hql脚本前置依赖表检查的流程来解决这个问题。1. 前置依赖表检查脚本1) 建立一个partition_table.tx...
2020-01-21 13:38:26 727 1
原创 Hive零基础从入门到实战 实战篇(七)构建自动更新的例行化BI报表
目录前言1. 新建表格2. 编写shell脚本3. 设置crontab4. 使用可视化工具连接mysql中的表前言互联网公司的数据分析师一般都兼任着临时取数和构建例行化BI报表的职责。临时取数不必多说,但是有一些数据是需要每日产出的,逻辑不变,只是时间改一下,这种数据就最好制作成自动更新的例行化BI报表,以节约人力。本文就介绍一下构建一张例行化BI报表的整个流程。...
2020-01-16 21:15:19 624 4
原创 Hive零基础从入门到实战 实战篇(六)计算用户流失周期
目录前言1. 如何定义用户流失周期2. 计算每天的回访率3. 计算每周的回访率前言每个APP都会有一个用户流失周期,如果能够算出一个较为科学的流失周期长度,那么就可以更有针对性的对即将流失的或者已经流失的高价值用户进行运营,从而提升整个APP的留存率,进而提高APP的DAU。本文介绍一下使用hql如何计算用户流失周期。1. 如何定义用户流失周期流失周期是指用户...
2020-01-14 21:12:12 1255
原创 Hive零基础从入门到实战 实战篇(五)计算连续登陆用户数
目录前言1. 取出每个用户在1月的连续登陆天数2. 计算1月至少连续登陆过7天的用户数前言日常需求中我们经常会碰到需要取出连续N天进行某种操作的用户,本文介绍一个套路处理此类需求。下文用到的日活表字段含义见实战篇(二)。1. 取出每个用户在1月的连续登陆天数WITH activeAS (--每天的活跃用户,去重 SELECT day ...
2020-01-09 20:00:21 781
原创 Hive零基础从入门到实战 实战篇(四)计算用户分布
目录前言1. DAU中的新老用户分布2. 各平台用户分布3. 各渠道用户分布4. 各年龄段用户分布5. 用户性别分布6. 购买次数的用户分布前言在日常提数中,经常会需要各类用户的分布,比如:DAU(日活跃用户)中的新老用户分布 各平台用户分布 各渠道用户分布 各年龄段用户分布 用户性别分布 某种行为的用户分布(购买1次的有多少人,2次的有多少...
2020-01-08 20:11:09 1446 6
原创 Hive零基础从入门到实战 实战篇(三)计算留存率
目录前言1. 提数版2. 例行化报表版前言在互联网公司中留存率是一个被普遍应用的指标,各种用户群体都可以计算他的留存率,比如新增用户留存率、活跃用户留存率、使用了某个APP功能的用户留存率等等。留存用户:使用网站或App,经过一段时间后,仍然在使用的用户,即有多少用户留下来(这里的使用可以是访问网站,也可以是打开App)用户留存率:留存用户数占当时新增用户数...
2019-12-31 17:49:34 1271
原创 Hive零基础从入门到实战 实战篇(二)互联网公司常用业务表
目录1. 新增用户表2. 用户登录表3. 用户属性表4. 商品属性表5.行为表(用户使用app的行为埋点记录表)6.订单流水表本文会介绍6张互联网公司的常用业务表,同时在虚拟机中建好表格,制作若干条数据插入表中。这6张表分别是新增用户表,用户登录表,用户属性表,商品属性表,行为表(用户使用app的行为埋点记录表),订单流水表。在入门篇已经建过其中的新增用户表和...
2019-11-29 21:15:31 677 1
原创 Hive零基础从入门到实战 实战篇(一)数据仓库分层及命名规范
目录前言1. 目的2. 表命名规范2.1 数据分层代码命名规范2.2 周期标志代码命名约定2.3 应用示例3. 字段命名规范4. 脚本规范前言本文是针对Hive数据仓库设计提出的一些简单规范,供大家参考。1. 目的建立命名规范的目的是为表、列建立有意义的、清晰的、简明的和独特的名字。一个完善的命名标准可以提高数据仓库的逻辑和物理模型的...
2019-10-24 12:39:27 1681
原创 Hive零基础从入门到实战 进阶篇(二十) Hive常用调优
目录前言1. HiveQL实现流程优化1.1 使用with as语法1.2 分区剪裁与列剪裁1.3 where条件中尽量不要加函数1.4 函数不要嵌套太多层1.5在每一个子查询中使用group by去重1.6 join优化1.6.1 小表放左边1.6.2key保持一致1.6.3Map join1.6.4 多用left join1.7 ...
2019-10-23 08:59:44 652
原创 Hive零基础从入门到实战 进阶篇(十九) HiveQL:随机抽样
目录前言1. 什么是随机抽样2. Hive实现简单随机抽样(不放回)2.1 语法2.2 举例前言当数据量非常大的时候,对全体数据进行处理存在困难时,我们可能需要通过随机抽样其中的一部分数据,来代表总体进行分析。本文介绍如何使用Hive对数据集进行随机抽样。1. 什么是随机抽样随机抽样就是调查对象总体中每个部分都有同等被抽中的可能,是一种完全依照...
2019-09-27 20:16:54 1232
原创 Hive零基础从入门到实战 进阶篇(十八) HiveQL:开窗函数(偏移关联)
目录前言1.偏移关联的开窗函数表2. 函数功能演示2.1lag(col,n,default)2.2 lead(col,n,default)2.3 first_value(col)2.4 last_value(col)前言本文接续上文介绍第四类开窗函数:用于偏移关联的开窗函数。共有4种,分别是:lag、lead、first_value、last_v...
2019-09-23 20:07:04 2106 1
原创 Hive零基础从入门到实战 进阶篇(十七) HiveQL:开窗函数(层次查询)
目录前言1.层次查询的开窗函数表2. 函数功能演示2.1ntile(n)2.1.1 举例2.1.2 应用场景2.2cume_dist()前言本文接续上文介绍第三类开窗函数:用于层次查询的开窗函数。共有三种,分别是:ntile()、cume_dist()、percent_rank()。第一个最常用,第二个很少用到,第三个完全没有见过应用场景。所以本文主...
2019-09-20 18:17:38 1003 1
原创 Hive零基础从入门到实战 进阶篇(十六) HiveQL:开窗函数(组内排序)
目录前言1.组内排序的开窗函数表2. 函数功能演示2.1row_number()2.1.1 应用场景1:生成排序后的唯一序号2.1.2 应用场景2:取top n2.1.3 应用场景3:每个分组内取出n个随机值2.2rank()2.3dense_rank()前言上篇博客介绍了Hive中用于累计统计的开窗函数,本文接续上文介绍第二种:用于...
2019-09-12 17:27:49 1207 1
原创 Hive零基础从入门到实战 进阶篇(十五) HiveQL:开窗函数(累计统计)
目录前言1. 什么是开窗函数2. 开窗函数语法3. 开窗函数分类4. 组内累计统计开窗函数4.1 累计求和 sum(xx) over4.2 累计求平均值 avg(xx) over4.3 累计求最大值 max(xx) over4.4 累计求最小值 min(xx) over前言从本文开始介绍Hive中开窗函数系列。这类函数叫法很多,包括分析函数、...
2019-09-10 09:06:28 1387 1
原创 Hive零基础从入门到实战 进阶篇(十四) HiveQL:高级聚合函数 grouping sets、cube、rollup
目录前言1. 指定维度组合进行聚合 grouping sets2. 所有维度组合进行聚合 cube3. 最左侧的维度为主进行层级聚合 rollup前言本文介绍Hive中的三种高级聚合函数,分别是grouping sets、cube、rollup。1. 指定维度组合进行聚合 grouping setsgrouping sets用于在一个 group ...
2019-09-04 18:26:41 1141 1
原创 Hive零基础从入门到实战 进阶篇(十三) HiveQL:集合函数
目录前言1. 集合函数表2. 可以处理array格式的函数3. 最终返回array格式的函数4. 集合函数功能演示4.1size(Array)4.2array_contains(Array, value)4.3sort_array(Array)前言Hive中的集合函数是一些专门为array、map等数据格式的数据设计的函数。本文除了介绍集合...
2019-08-28 12:15:23 926
原创 Hive零基础从入门到实战 进阶篇(十二) HiveQL:表生成函数(行转列)
前言1. 表生成函数表2. 函数功能演示2.1 explode(ARRAY)2.2 explode(MAP)2.3 posexplode(ARRAY)2.4 stack(INT n, v_1, v_2, ..., v_k)2.5 json_tuple(jsonStr, k1, k2, ...)2.6 parse_url_tuple(url, p1, p2, ...)...
2019-08-22 09:10:05 1270 1
原创 Hive零基础从入门到实战 进阶篇(十一) HiveQL:列转行函数
目录前言1. 什么是列转行2. 涉及函数2.1 concat_ws(string SEP, array)2.2collect_set(col)2.3collect_list(col)3. 列转行举例3.1 去重列转行3.2 不去重列转行前言本文来介绍,在Hive中如何实现列转行的操作。1. 什么是列转行假设Hive表中有两列...
2019-08-07 09:06:20 1095 1
原创 Hive零基础从入门到实战 进阶篇(十) HiveQL:分位数(中位数)函数
目录前言1. 什么是分位数2. 分位数函数表3.函数功能演示3.1 分位数函数: percentile3.1.1 percentile(BIGINT col, p)3.1.2 percentile(BIGINT col, array(p1 [, p2]…))3.2 近似分位数函数: percentile_approx3.2.1percentile_...
2019-08-01 20:09:07 7086 1
原创 Hive零基础从入门到实战 进阶篇(九) HiveQL:相关系数函数
目录前言1. 什么是相关系数1.1 定义1.2 性质1.3 适用范围1.4 缺点2. 相关系数函数2.1 函数功能2.2 举例前言本文来介绍相关系数的含义以及Hive中如何使用计算相关系数的函数。1. 什么是相关系数1.1 定义相关系数(Correlation coefficient)是最早由统计学家卡尔·皮尔逊设计的统计指...
2019-08-01 09:30:42 3004 1
原创 Hive零基础从入门到实战 进阶篇(八) HiveQL:方差、协方差函数
目录前言1. 方差、协方差函数表2. 名词解释2.1 方差、标准差2.2 无偏样本方差、无偏样本标准差2.3总体协方差、样本协方差3. 函数功能演示3.1 方差与无偏方差3.2 总体协方差与样本协方差前言在入门篇(十五)中我们已经介绍过常用的简单聚合函数,后续几篇博文我们会逐一介绍其他功能更加强大的聚合函数。本文来介绍Hive中的方差、标准...
2019-07-26 09:16:51 2948 2
原创 Hive零基础从入门到实战 进阶篇(七) HiveQL:条件函数
目录前言1. 条件函数表2. 函数功能演示2.1 空值判断函数2.1.1nvl(T value, T default_value)2.1.2isnull( a )2.1.3isnotnull ( a )2.1.4 coalesce(T v1, T v2, ...)2.2 条件判断函数2.2.1if函数2.2.2 CASE WHEN TH...
2019-07-18 09:21:51 1726 1
原创 Python安装教程(Anaconda)
目录1. 什么是 python2. 什么是 Anaconda3. 如何安装Anaconda4. 测试是否安装成功1. 什么是 pythonpython是一门解释性语言,语法简单,有大量的扩展包,比如处理图像,爬 取网页等等。我们需要安装python的解释器,有了这个解释器,我们才可以开始进行python的编程。2. 什么是 AnacondaAna...
2019-07-14 09:43:50 1597
原创 Hive零基础从入门到实战 进阶篇(六) HiveQL:日期函数
目录前言1. 日期函数表2. 函数功能演示2.1 时间戳函数 unix_timestamp2.2 秒时间戳转换为可读时间字符串 from_unixtime2.3 返回秒值时间戳的日期 to_date2.4 时间戳字符串的年、月、日、时、分、秒2.5 日期在当年的第几周 weekofyear2.6 开始时间到结束时间相差的天数 datediff2.7 日...
2019-07-13 14:22:39 1861 1
原创 Hive零基础从入门到实战 进阶篇(五) HiveQL:正则抽取、替换字符串函数
目录前言1. 正则表达式简介1.1 定义1.2 字符构成1.3 速记指南2.正则抽取字符串函数regexp_extract3.正则替换字符串函数regexp_replace4. 不同运行环境下的转义处理前言本文我们来详细介绍一下正则表达式,以及在Hive中通过正则匹配抽取、替换字符串的函数:1.regexp_extract2....
2019-07-11 21:13:35 2723 1
原创 Hive零基础从入门到实战 进阶篇(四) HiveQL:URL解析函数
目录前言1. 什么是URL2. 解析URL单个元素的函数:parse_url3. 同时解析URL多个元素的函数:parse_url_tuple前言在工作中,我们除了JSON格式还会经常遇到URL格式的日志数据,本文来详细介绍在Hive中解析URL的函数:1.parse_url2.parse_url_tuple1. 什么是URL在WWW网页...
2019-07-10 21:09:38 2249 1
原创 Hive零基础从入门到实战 进阶篇(三) HiveQL:JSON解析函数
目录前言1. 什么是JSON格式2. 解析JSON字符串的一个字段 get_json_object3. 同时解析JSON字符串的多个字段 json_tuple前言在工作中我们会经常遇到JSON格式的日志数据,本文来详细介绍在Hive中解析JSON字符串的函数:1.get_json_object2.json_tuple1. 什么是JSON格式...
2019-07-09 13:31:19 2827 1
原创 Hive零基础从入门到实战 进阶篇(二) HiveQL:常用字符串函数
目录前言1. 常用的简单字符串函数表2. 函数功能演示2.1 连接字符串concat2.2 指定分隔符连接字符串concat_ws2.3 截取字符串substr2.4 按指定分隔符分割字符串 split2.5 格式化数字 format_number2.6字符串长度 length2.7转换小写 lower2.8转换大写 upper2....
2019-07-08 19:26:40 2415 1
原创 Hive零基础从入门到实战 进阶篇(一) HiveQL:常用数学函数
目录前言1. 常用数学函数表2. 函数功能演示2.1 四舍五入 round2.2 向下取整 floor2.3 向上取整 ceil2.4 随机数 rand2.5 求n次幂 pow2.6求平方根sqrt2.7 求绝对值abs前言本篇开始进入Hive进阶篇的总结,进阶篇计划介绍Hive的各类函数以及调优。在入门篇(十五)曾总结过一些常用的...
2019-07-05 15:05:49 2631 1
原创 Hive零基础从入门到实战 入门篇(二十一) HiveQL:数据插入
目录前言1. CREATE TABLE 表名 AS SELECT……2. INSERT2.1 无分区表插入数据2.2 分区表插入数据2.2.1静态分区插入2.2.2 动态分区插入2.2.3静态分区和动态分区混合使用前言我们在入门篇(十)中介绍了如何将文件中的数据导入一个表中。但实际工作中,更常用的数据插入操作是:将查询出的数据插入一个表中。实...
2019-07-04 13:41:09 2758
原创 Hive零基础从入门到实战 入门篇(二十) HiveQL:UNION ALL语句
前言上篇博客入门篇(十九)介绍的JOIN语句是将多个表的列 ‘横向合并’,本篇要介绍的UNION ALL语句则是将多个表的列纵向合并,相当于将多个表的数据直接摞在一起,下面我们来详细介绍UNION ALL语句的用法。1. 语法1.1 Hive1.2.0后的语法Hive1.2.0之后版本的语法如下:SELECT * FROM aUNION [ALL] SELECT...
2019-06-20 19:29:26 9850
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人