- 博客(17)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 使用regexp_extract、regexp_replace函数过滤特殊字符时,不同的执行情境下(hive -e;hive -f),正则表达式的内容有变化
在使用regexp_extract、regexp_replace函数过滤特殊字符时,发现不同的执行情境下(hive -e;hive -f),正则表达式的内容有变化,表现为是否要添加"\"进行转义,hive -e "SQL"方式需要进行转义。处理方案:hive -e "SQL"方式执行:hive -e "select regexp_replace(msg_context,'[\\^\\...
2018-11-12 16:53:04
7897
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 sql查询结果赋值给shell变量
场景:报表需求设计有时需要做配置表并配置生效时间,生效时间需要拿出来和当前时间做对比处理。举例:配置表:devin 生效时间字段:effective_dateeffective_date = hive -e "use ${datebase}; set hive.cil.print.header = false; select effective_date from devin limit 1;...
2018-11-12 16:48:27
11696
原创 es重启后索引丢失问题
原因:es重启后data目录发生变化(不清楚是误操作还是之前有人改过配置导致),重启后在es节点根目录下新创建了data目录,所以找不到索引。处理方法:将es配置文件elasticsearch.yml的path.data:配置项改为原来data目录的绝对路径即可。注意path.data:前后都有空格,否则启动报错。...
2021-12-31 17:28:19
3466
原创 Oracle函数
F.1字符函数——返回字符值(chr,concat,initcap,lower,lpad/rpad,nls_initcap,nls_lower,nls_upper,regexp_replace,regexp_substr,replace,trim/ltrim/rtrim,soundex,substr,translate,upper)说明:可以sql和plsql中使用CHR语法: chr(x)功能:给出整数X,返回对应的ASCII码字符。CHR和ASCII是一对反函数。SQL> selec
2021-09-02 18:06:42
279
原创 shell的if判断
shell的if判断对空格要求比较严格,同时要以fi结尾,否则会报错。例如:#中括号和判断条件需要空格隔开if [ $(ps -ef | grep -c "sh") -gt 1 ]; then echo "true"; fi对比在C语言等高级语言中,不管是对比字符串、还是对比整型、浮点数等等数据类型,都是使用==、<=等等对比运算符就可以完成。但是在shell中对比字符串和对...
2019-07-25 12:00:50
1339
原创 Map和Reduce 个数如何确定
基于org.apache.hadoop.mapreduce包新版API一、Map1、Map个数的确定map的个数等于split的个数。我们知道,mapreduce在处理大文件的时候,会根据一定的规则,把大文件划分成多个,这样能够提高map的并行度。划分出来的就是InputSplit,每个map处理一个InputSplit.因此,有多少个InputSplit,就有多少个map数。2、谁负责...
2019-07-23 15:39:15
3371
转载 Map和Reduce 个数的设定
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小...
2019-07-12 17:22:11
360
原创 shell 小数大小判断 if判断条件为小数的判断方法
1.在shell if判断中,需使用bc命令对多位小数进行判断,用-gt、-eq、-le…或<、>、=、expr命令无法对多位小数进行判断[Devin@Devin2 ~]$ if [ $(echo "120.254 > 111.91" | bc) = 1 ];then> echo True> else> echo False> f...
2019-04-30 09:33:20
8382
1
原创 shell应用生成成功文件 检测成功文件
开发中有些任务或报表之间有相互依赖关系,各个应用程序或脚本之间需要通过依赖关系形成工作流。当然,如果使用oozie等调度平台可以实现各应用间的依赖,但如果是不同的调度平台任务之间的依赖——可以通过生成成功文件的形式 配置依赖。#制定报表的目标表db_target_table=n_rpt_ww_devin_d#今天IntEnd=20190101#定义成功文件写入路径s_path="/a...
2019-04-15 11:00:33
537
原创 hive行转列和列转行
创建测试表:create table stu1( name string comment '姓名',chinese string comment '语文',math string comment '数学',english string comment '英语')comment '学生成绩表1' row format delimited...
2019-03-19 18:13:10
180
原创 shell获取系统当前时间、本月1日、下月1日、本月月底、上月月底、上月同期日期
在实际开发过程中会用到一些特定时间,请注意其中下月1日和上月同期日期无法用shell命令直接获取,需做判断。1.获取系统当前时间today=`date +%Y%m%d`2.本月1日firstday=`date -d "${today}" +%Y%m01`3.本月月份month=`date -d "${today}" +%m`4.上月月份l_month=`date -d "${l_l...
2019-02-28 18:43:31
9305
原创 通过sqoop将大数据平台hive表中的数据推送到Mysql中时,如果在客户端机器直接执行脚本,会报连接超时错误
通过sqoop将大数据平台hive表中的数据推送到Mysql中时,如果在客户端机器直接执行脚本,会报连接超时错误,原因:客户端和Mysql数据库的防火墙不通。解决方案:不能再前置机直接执行,将脚本放在oozie作业上执行。...
2018-11-12 16:54:56
735
原创 8位格式日期(20181112)加减天数简单运算
场景:要求8位格式日期+8天后仍显示8位格式日期问题点:date_add()函数不支持8位格式日期,只识别10位格式日期(%Y-%m-%d)方法一:用unix_timestamp(string date, string pattern)转换成时间戳后再用from_unixtime(bigint unixtime, string format)转换成10位格式日期后用date_add()进行加减...
2018-11-12 16:46:19
2745
原创 hive获取分区表最新分区的数据
分区表:devin 分区字段:op_day(8位格式日期:20181112)select t2.*from(select max(op_day) as latest_op_day from devin) t1join devin t2ont1.latest_op_day = t2.op_day;
2018-11-12 16:40:51
10160
原创 构造笛卡尔积
1.join关联select T1.*, T2.* from table1 T1 join table2 T2 where 1=1;Hive的Strict模式下不能用这种语法,因为这样会产生笛卡尔集,而这种模式禁止产生笛卡尔集。需要先用set hive.mapred.mode=nonstrict;2.笛卡尔积关联(CROSS JOIN)select * from devi...
2018-11-12 16:38:51
376
原创 shell获取特定日期时间
在编写shell脚本有特殊需要时,可以构造一些特殊的时间参数举例:1.获取特定格式的时间IncEnd = date -d &amp;quot;20181112&amp;quot; +%Y%m%dIncEnd2 = date -d &amp;quot;20181112&amp;quot; +%Y-%m-%d2.获取60天前同期日期IncEnd3 = date -d &amp;quot;20181112 -
2018-11-12 14:31:43
1320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人