- 博客(42)
- 收藏
- 关注
原创 hive-sql查询结果保留两位小数
需求要求保留4位小数,查博客大多是sql用法,但是hive-sql和sql还是有区别的,不知道大家发现没有,hive里有个自动转整的功能,示例sql里SELECT 1.0; 结果是1.0 hive-sql里SELECT 1.0; 结果是1 hive-sql里截取两位小数的语句round(2.456,2) ...
2019-04-22 09:58:29 62214 10
原创 python获取当月最后一个周日的日期,超简单的一段代码,拒绝混乱复杂
思路,得到今天是周几,然后用今天的日期减去几#获得N天前的日期def get_past_days(n,formate=None): if formate is None: _ymd = (datetime.datetime.now() - datetime.timedelta(n)).__format__('%Y-%m-%d') else: _ymd = (datetime.datetime.now() - datetime.timedelta(n)).__
2022-02-09 15:29:57 1146
原创 hive sum求和时是否考虑正负?是否会正负相抵?
最简单的测试方法select sum(a),sum(b)from( select 1 as a,2 as b union all select 1 as a,-2 as b) t查询结果显示因此,hive sum求和是考虑正负的。
2021-10-27 15:19:38 1218
原创 hive查询结果缺少数据——某些union all和join情况下会缺少数据
在使用hive sql 进行union all查询结果时,缺少数据在使用hive sql 进行join 关联时,查询结果明显缺少数据,或于presto或其他查询渠道查询结果不一致时原因可能是orc文件在加工过程中造成的部分元数据丢失,关闭元数据优化就可以了set hive.optimize.index.filter=false;...
2021-09-01 10:39:21 3722
原创 aiflow灵活控制任务执行时间
大家应该都知道aiflow调度的周期是固定的,例如只能每周执行或者每月执行,但是如果既要周报又要月报呢或者是特殊的执行周期,这时候该怎么办呢?怎么样才能灵活的控制aiflow的调度周期呢?总结,把aiflow设置为每天调起,然后把task写进if语句里,通过if语句对时间的灵活判断来决定任务是否真正执行default_args = { 'owner': '***', 'depends_on_past': False, 'ding_list': [''***.com'],
2021-08-09 18:07:01 490
原创 hadoop集群搭建详细步骤——集群搭建
集群准备一、虚拟机克隆 1、虚拟机关闭状态下右键点击虚拟机选择克隆 2、选择创建完整克隆,定义虚拟机名称和路径 3、点击完成等待虚拟机克隆 至少克隆两台虚拟机 二、克隆机网络设置 1、两台克隆机分别重新生成MAC地址 具体步骤可见于上一篇的系统准备 https://blog.csdn.net/weixin_42474635/article/details/106019204 2、两台克隆机分别使用root账户登录并设置静态IP
2020-05-11 17:57:13 577
原创 hadoop集群搭建详细步骤——系统准备
所需工具:VMwhere虚拟机、hadoop-2.7.7.tar.gz、jdk-8u201-linux-x64.tar.gz、CentOS-7-x86_64-DVD-1708.iso(具体的版本随意)一、系统准备一、创建虚拟机1、点击文件选择新建虚拟机,选择典型安装2、修改路径选择centos镜像3、定义虚拟机的名称和存储路径4、指定磁盘容量和存储方式(磁盘容易默认就可以,存储方式选择单个存储)5、自定义硬件内存和处理器根据个人电脑选择网络适配器选择NAT模式,并生成MAC地址 重点
2020-05-11 11:04:27 754
原创 scala做字符串反转
val oldStr = “1234” var newStr = "" for ( i<-0 until oldStr.length) newStr = oldStr.charAt(i) +newStr
2020-04-03 11:06:15 1115
原创 shell脚本编写循环hive sql
循环里日期判断if [ $# -eq 1 ]; then n_date=`date -d "$1" +"%Y-%m-%d"`else n_date=`date -d " -1 days" +"%Y-%m-%d"`fit_date=`date -d "${n_date} -6 days" +"%Y-%m-%d"`until [ $t_date == $n_date ]...
2019-12-12 16:36:37 1687
原创 join语句里where条件的编写如何避免笛卡儿积的生成
实验表二十万条数据select date,id,name from ajoin b on a.id=b.idwhere a.date='2019-12-05' and b.date='2019-12-05'select date,id,name from ajoin b on a.id=b.idwhere a.date='2019-12-05'` ---运行速度快``第一...
2019-12-11 11:08:59 816
原创 HiveSql 日期格式转换
获取当前时间并转换为yyyy-mm-dd的格式select from_unixtime(unix_timestamp(),'yyyy-MM-dd')select from_unixtime(unix_timestamp(),'yyyyMMdd') //这里的MM必须大写yyyymmdd格式转换为yyyy-mm-ddregexp_replace('$n_date','-',"")...
2019-12-09 14:32:48 5287
原创 sum() over()求累加数据
使用函数sum() over()函数求累加数据 SELECT dd ,f_capital_no ,sum(t.f_payout_amount) over(partition by f_capital_no order by dd) f_payout_amount ...
2019-12-03 14:42:53 2555
原创 case when 使用技巧汇总
作为字段单种情况时使用:case when r.f_status='1' then 1 else '0' end as s_f_status作为字段多种情况时使用:case when f_product_code in('5561','5560','5811','5821','5901','5002','5921') then '公积金' when f_prod...
2019-11-20 16:47:41 745
原创 spark学习笔记
Spark的构成Spark Core(spark核心)Spark Sql(操作结构化数据的组件)支持多数据源Spark Streaming 实时流计算MLlib机器学习GraphC 面向图计算的框架和算法库spark的三种模式standalone apacheMersos hadoopYarnsparkSession 包括 SparkContext sql_ hi...
2019-10-14 17:19:21 309
原创 Hive-sql对IFNULL()函数的替换
mysql里的函数:1.LEFT()函数是一个字符串函数,它返回具有指定长度的字符串的左边部分。LEFT(Str,length); LEFT(“1234”,2)接收两个参数:str:一个字符串;length:想要截取的长度,是一个正整数;2.IFNULL()函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。...
2019-09-20 09:14:46 13912
原创 hive侧视图lateral view和explode用法-简解(列转行)
explode用法select explode(split("010029,010030,1000001,财富_顶部轮播,财富banner,财富货币资金产品,财富快捷,财富-稳健组合楼层,财富-稳健组合楼层头条,财富-稳健组合推荐产品,财富页三图,财富-专业投资楼层,财富-专业投资推荐产品,首页登录banner,首页登录明星,首页登录头条,首页登录推荐产品,首页-浮层广告,首页快捷,首页明星服务...
2019-09-05 13:50:34 774
原创 scala学习笔记1
match语句的用法实例def isWeekend(wd:WeekDay.Value):Boolean={ | wd match{ | case WeekDay.Saturday =>true | case WeekDay.Sunday =>true | case _ =>false | } ...
2019-08-21 16:05:58 242
原创 Display all 495 possibilities? (y or n)—— linux环境下脚本执行问题的解决
Display all 495 possibilities? (y or n)今天在把自己写的脚本放到azkaban上遇到了这么一个错误,在hue里执行没有问题,放到azkaban上就这样了,本来以为是linux和windows环境换行符的问题呢,结果把CRLF转换为LF也不行。最后发现原来是tab键的问题,因为存在tab键,linux就会出现这样的问题,所有把tab键去掉就好了那么怎么去掉...
2019-08-21 11:07:16 2141
原创 row_number() over()、sum() over()——hive窗口函数用法详解
语法格式:row_number() over(partition by 分组列 order by 排序列 desc)row_number() over()分组排序功能:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行版权声明:本文为CSDN博主「一彡十」的原创文章,遵循CC 4.0...
2019-08-14 15:42:01 2513
原创 value too great for base (error token is "08//09")——对于月报中日期的格式报错问题
shell脚本里,0开头的数字,会默认为8进制,这时候每个月的08号,09号就会报错。解决方法:把存日期的字段改为10进制 ((t_s=10#09)) $((t_s=10#08)) 两种方法都可以...
2019-08-09 10:57:36 463
原创 大数据面试题——用shell打印200以内的质数
for i in `seq 200`do for((j=2;j<=i-1;j++)) do [ $((i%j)) -eq 0 ] && break done [ $j -eq $i ] && echo $i done
2019-08-02 16:03:19 859 4
原创 scala在windows环境下安装、本地环境配置,idea里插件下载及项目创建运行
一、scala下载 https://www.scala-lang.org/download/all.html 官网下载链接scala安装包的下载,没别的说的,根据自己需要的版本去官网下载就是,二、scala安装及本地环境配置这里为什么要把scala的安装和环境配置一起说呢,因为你的安装路径弄不好,环境配置的再没毛病也...
2019-07-25 15:57:58 556
原创 azkaban任务执行——时而成功、时而失败的原因分析
对于这种情况,大概就是字段的问题,很有可能就是当天查出的字段长度过长报错。而对于这种报错,在azkban上并不会显示报错原因,只会显示超时。对于该类错误的查找方法在浏览器访问这个路径,点击logs便可查找到失败原因...
2019-07-22 14:29:05 3694 1
原创 hive-sql语句对in和not in的替换
对于hive-sql里的子查询不支持not in或in 的替换假设要求字段id在a表,而不在b表not in 示例select id from awhere id not in (select id from b);hive-sql替换示例select id from aleff outer join b on b.id=a.idwhere b.id is null;hiv...
2019-06-18 16:10:54 11519
原创 记一次写hive-udf历程
package com.gome.dw.udf;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.hadoop.hive.ql.exec.Description;import org.apache.hadoop.hive.ql.exec.UDF;import...
2019-05-27 15:26:37 401
原创 《Hive编程指南》读书笔记——对数据库和表几种查看方式
数据库的查看方式:describe database tst;desc database tst;表的查看方式1.查看表的修改时间等show tblproperties cust;2.查看表的详细信息desc extended cust;3.查看表的更加详细信息,且可读性强desc formatted cust;...
2019-05-15 14:53:50 186
原创 个人感悟——程序员中年危机的真正原因?
今天上班忘记带本了,然后用的经理的旧本,然后打开浏览器,看到这一幕,我经理也三十多了吧,平时看着很糙的一个汉子,没想到在学习上这么细,看到网上有人总在渲染什么中年危机,真的你自己有付出了多少。。。始终相信,你把努力种在哪里,就会收获在哪里。...
2019-05-15 12:03:43 706 1
原创 hive编程指南——读书笔记1(hive命令)
HWI:hive网页界面CLI:命令行模式Metastor(元数据存储)是一个独立的关系型数据库(通常是一个MySQL实例),Hive会在其中国保存表模式和替他系统元数据。Hive本身不会生成java MapReduce算法程序。Hive通过一个表示“job执行计划”的XML文件驱动执行内置的、原生的Mappper和Reduce模块。Hive中所有的内置属性都在$HIVE_HOME/c...
2019-05-14 17:17:05 352
原创 NoViableAltException——记一次hivesql报错异常
create external table if not exists tmp.off_line_tba(acct_nbr string,application_no string,contr_nbr string,loan_prod_group string,product_cd ...
2019-05-14 11:58:52 2973 2
原创 Hive新版本工作原理详解——不要在看老版本的工作原理了
Hive的服务端组件1.Driver组件:该组件包括:Compiler、Optimizer、Executor,它可以将Hive编译、解析、优化转化为Map Reduce任务提交给Hadoop中的Source Manager来进行实际的执行相应的任务。2.Meta Store组件:存储着hive的元数据信息,将自己的元数据存储到了关系型数据库中,支持的数据库主要有MySQL、Derby,支持把...
2019-05-13 14:46:17 829
原创 org.apache.hive.hplsql.Cmp——hive源码
package org.apache.hive.hplsql;import java.math.BigDecimal;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.u...
2019-05-08 14:07:44 423
原创 HiveSQL distinct去重的优化介绍
1.count(distinct)select count(distinct column_name) from table_name where ...对某些字段的去重统计,例:统计用户数量(统计去重的用户ID) count(distinct userId)优化原因:因为引入了DISTINCT,无法在map阶段利用combine对输出结果去重,导致shuffle任务量增大错误解...
2019-04-30 10:44:59 4168
原创 Arguments--手敲hive源码第三天
package org.apache.hive.hplsql;import java.util.HashMap;import java.util.Map;import java.util.Properties;import org.apache.commons.cli.CommanLine; //commons-cli 提供的一种套完整的命令行解决方案import org.apach...
2019-04-25 14:32:23 342
原创 shell脚本求指定日期的昨天,明天,周一,上周一,月一等日期
某日分析师题了个需求,求三个时间段的逻辑指标,昨天的好求,周累计——本周一至昨天的累计指标,如果今天是周一,则求出上周一整周的累计指标,月累计——本月1号至昨天的累计指标,同理如果今天是1号,则求出上月一整月的累计指标。真可谓开发都是被需求逼死的,不多说,经过研究代码如下:if [ $# -eq 1 ]; then n_date=`date -d "$1" +%Y-%m-%d`el...
2019-04-23 15:05:07 2221
原创 大数据里常用shell命令
hrm -rf 文件名 删除有内容的目录tar -zxf hadoop-2.7.7.tar.gz -C …/modules将文件解压到某目录下rm -rf /root/.local/share/Trash/files 清空回收站source 保存(生效)文件hive里进入mysql数据命令mysql -u root -pliunx环境变量配置失败,命令无效 nano /etc/p...
2019-04-22 14:14:49 433
原创 AccumuloHiveRow--Hive源码读取第二篇
package org.apache.hadoop.hive.accumulo;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.util.ArrayList;import java.util.Arrays;import java.util.Collect...
2019-04-22 13:50:20 168
原创 hive-sql截取汉字、字母和数字等
前几天新接到需求,要求截取字段里的汉字,咋一看挺难,截取字母、数字、特殊字符都简单,但是截取汉字的还是第一次遇见,查到汉字的编码,实验截取,在这里把代码发下,以备有需要的小伙伴使用。hive-sql里的截取汉字代码:regexp_extract(label,'([\\u4E00-\\u9FA5]+)',1) windows下的截取汉字regexp_extract(label,'([\\...
2019-04-22 09:43:43 16170 1
原创 面试心经--态度比能力更重要,把简历和面试当作入职公司交给你的第一份工作
凭什么hr仅通过一份简历就决定是否让我们去面试?凭什么面试官仅通过几次面试就决定我们是否胜任这份工作?这样不公平!“如果给我一个不用面试就能工作的机会,我肯定能把工作做好!”,嗯,是的,我承认之前我也是这么想的。大概是因为之前跟学弟们分享过一些求职的心得体会吧,最近总会有很多学弟让我帮他们改简历,what??? 我第一次听到有人跟我这样说,是我的一个同学,听说是一个巨懒的人,半年没剪过头(过年回...
2019-04-19 13:08:53 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人