![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据分析
工作场景
无用理想家
废物一个
展开
-
[Hive SQL] 条件查询和时间值相关的坑
在工作中发现几个容易踩雷的问题。假设我们现在手上有个数据集,其中时间字段A格式为yyyy-MM-dd HH:mm:ss,时间字段B为A的13位毫秒时间戳格式。假设我现在要查到2021年12月31日为止的数据,下面是不同查询方式输出的结果(仅列出查询条件)A <=错误示例:where A <= '2021-12-31'此查询方式,右边相当于只取到’2021-12-31 00:00:00’,也就是说并未包含进入31号除0时0分0秒外的数据正确示例:where A < '2022-0原创 2022-01-25 16:52:51 · 2554 阅读 · 0 评论 -
Hive SQL 实际场景下计算使用时长
最近真的忙到窒息,要做支援的活,自己手头上的工作还不能停,还要给实习生答疑(为什么我一个才入职半年多的也会带实习生啊)。就,多喝热水吧。问题背景这篇讲一下最近的一个工作场景,需要统计用户登录时长,两个指标:每日平均单次登录时长、每日平均用户登录时长。 有的数据字段长下面这样子(这边不考虑根据不同app版本分类啊之类的 实际也做不了因为大部分是空的orz 有把一些干扰字段也列出来了):字段名解释id事件记录iduserid用户idip设备iptrigger.原创 2021-08-12 14:48:13 · 1352 阅读 · 1 评论 -
[python] 读取Hive等数据库信息(自查用
工作上需要在大数据平台上写脚本获取数据,之前看前辈写的获取分析文档全是sql的orz 因为自身习惯用 python就想研究一下(啊可是平台只有py2.7环境 就很窒息数据存储在hive中,这里初步选择使用pyhive(因为平台有装(卑微from pyhive import hive时出现import error: cannot import name TFrozenDict, 原因是pip的时候包之间没有关联参考以下链接使用 Pandas 操作 Hive | MangoDB | Redis | .原创 2021-01-12 09:17:43 · 633 阅读 · 0 评论 -
[Hive SQL] 实现分组排序、分组topN
举个场景例子 我们要计算app内在每小时区间内访问量前2的服务 根据访问日志处理完后的数据集如下所示visit_hourservice_namevisit_cnt2021062401A4212021062401B7102021062401C2352021062401D8392021062402A632021062402D54522021062402E152代码如下:select *from(select vi原创 2021-07-01 20:58:55 · 1421 阅读 · 2 评论 -
Hive集成Solr、动态分区和补数据相关
Hive 集成Solr步骤创建hive数据源用于存放数据create table test(a string,b string,c string) partitioned by (ds string)stored as orcfile;-- ds是分区字段创建外部表读取solr数据drop table if exsits test_ext(a string,b string,c string)stored by 'com.easy.hive.store.SolrStorageH原创 2021-05-11 10:13:42 · 215 阅读 · 0 评论 -
[hive sql] 实现pivot 行转列的两个例子
问题1:将表1改成表2的形式表1:uiditemcnt1234A21234B11236A4表2:uidAB12342112364–代码如下:select uid, item_cnt['A'], item_cnt['B']from(select uid, map(item, cnt) as item_cntfrom table1group by uid)t;问题2: 将表3改成表2的形式表3:原创 2021-05-25 17:24:37 · 1656 阅读 · 4 评论 -
hive sql 将结果输出到变量中并用于后续使用(未完全解决)
问题场景描述:遇到会有需要反复使用的结果,比如总数,一直join就感觉不够优雅,就想着能不能把结果输出到变量中,然后利用变量就好了。然后百度搜了半天的结果无一例外是像下面这样,先设定了变量,然后用变量去做判断。这个结果和我要的其实算是相反的?set cur_time = '2012-01-01'select afrom table_namewhere date_time = ${hiveconf:cur_time}无奈之下换个语言搜索,stack overflow大法好,我竟然在差评回答中找到原创 2021-05-18 17:02:21 · 10394 阅读 · 8 评论 -
内网安装python包和Linux中python切换
工作用的平台在内网中,没办法直接pip install,采取半自动安装或手动安装的方式。半自动安装是下载tar.gz格式文件,解压后运行python setup.py installlinux中解压tar.gz格式文件的方式:#解压文件tar -zxvf filename.tar.gz #解压到指定路径tar -zxvf filename.tar.gz -C /usr/bin/python在外网机子上下载安装包的方法有两种PyPI网站上下载pip download下载后把安装包拖原创 2021-05-13 13:01:17 · 265 阅读 · 2 评论