- 博客(115)
- 收藏
- 关注
原创 explain 实战-----查看hive sql执行计划
可以看到group by 字段是进行了正序排序的,查看sql执行结果也能看到。可以看到filter 顾虑部分有比原sql多了关联字段不为空的判断。没有相关的过滤空值操作。
2023-09-07 14:52:56 547
原创 posexplode函数实战总结
对单列array类型的字段进行炸裂时,可以使用lateral view explode。对多列array类型的字段进行炸裂时,可以使用lateral view posexplode。
2023-09-01 16:02:11 678
原创 hive lateral view 实践记录(Array和Map数据类型)
-------最开始错误的插入数据法-------2.array类型的数据,怎么根据下标获取里面的值?1.array类型数据,建表时怎么插入?比原表数据少了 双引号。
2023-08-29 11:58:59 1216
原创 Unable to create temp file for insert values Expression of type TOK_FUNCTION not supported in insert
1.将insert 修改为 select。向hive测试库插入数据时,报错。2.去掉values后面的括号。
2023-08-29 10:27:17 713
原创 java.lang.ClassNotFoundException 和 A JNI error has occurred,please check your installation ……
解决:原因编译部署的时候没有将依赖全部导入,因为本使用的是mvn archetype:generate 这种maven生成方式,里面scope好多是provided的,这样导致依赖在编译的时候无法全部加载,调试的时候需要将这个勾选,否则会报错!...
2021-10-18 18:53:53 532
原创 presto group by 注意事项
1--渠道方进件数select a.etl_date,if(b.platform_nm='风豹科技' ,'风豹','自有资产'),count(a.loan_id) as c1,count(case when a.intorisk_state=10190 then 1 else null end) c2,count(case when a.intorisk_state=10210 then 1 else null end) c3from (select * from edw_dwd
2021-09-02 18:19:54 879
原创 order by 与 union all 一起使用需要注意的事项
union all中使用order by子查询时需将含order by的子查询包在一个不含order by的查询里再进行union all。
2021-09-02 18:10:41 575
原创 mysql 建表时增加一个字段标识数据的更新时间
需求:报表开发时,想要每一份数据打上标识已识别数据的更新时间解决: CREATE TABLE `rep_makeloan_day` (dt date DEFAULT NULL comment '统计日期', capital_no varchar(50) DEFAULT NULL comment '资金端', order_num_history int DEFAULT NULL comment '历史累计放款笔数', order_count_history int DEFAU
2021-07-14 17:28:43 349
原创 嵌套 case when(presto Sql )
需求:判断资金端是否没空,当不为空时进行代码=>中文的转义 CASE WHEN a.capital_no IS NOT NULL THEN CASE WHEN a.capital_no = 'XHQBZJF001' THEN '小贷' WHEN a.capital_no = 'XHQBZJF002' THEN '启浩保理' WHEN a.capital_no = 'XHQBZJF003' THEN '国民信托' ELSE a.capital_no END
2021-07-14 17:19:36 4105
原创 presto sql 求占比--开窗函数解法
需求:资金端capital_no有三个,求出每一个的放款笔数占比和放款金额占比解决:使用count( ) over(partition by ) 和sum( ) over(partition by) 进行分组统计 , 最后使用round函数求值。-- success_time在统计日期当日 SELECT dt -- 统计日期, capital_no -- 资金端, order_num -- 放款笔数, order_num_count -- 总放款笔数, round(
2021-07-14 10:43:44 3168
原创 Java学习之嵌套循环
一、技巧1、外层循环控制行数,内层循环控制列数//*//**//***//****//*****//****** for (int i =1;i <=6;i++){//行数 for (int j=1;j <=i;j++){//列数 System.out.print("*"); ...
2021-07-14 08:42:17 228
原创 JAVA生成MD5的方法
public class MD5 { public static void main(String[] args) { String md5 = getMD5("210534"); System.out.println(md5); System.out.println(md5.length()); String encry...
2021-07-14 08:41:52 1049
原创 使用java中replaceAll方法替换字符串中的反斜杠
一、正确代码public class TestReplaceAll { public static void main(String[] args) { String loginResInfo ="{\"GRAcntNo\":\"4132404\",\"DWAcntNo\":\"123258\",\"MobileNo\":\" \"}"; Str...
2021-07-14 08:41:29 467
转载 简析Java中内存泄漏与内存溢出
内存泄漏(memory leak )与 内存溢出 (out of memory)内存泄露 :是指程序在申请内存后,无法释放已申请的内存空间就造成了内存泄漏,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。我们知道了内存泄漏的原因而内存溢出则有可能是因为我们我们多次内存泄漏堆积后的后果则变成了内存溢出内存溢出: 指程序申请内存时,没有足够的内存供申请者使用,或者说,给...
2021-07-08 15:21:56 239
原创 经典考题:row_number()实现【查询用户的最长连续登陆天数】
1、表数据hive (default)> select * from lianxu_denglu_day;OKlianxu_denglu_day.uid lianxu_denglu_day.log_time201 2017-1-1201 2017-1-2201 2017-1-3201 2017-1-4202 2017-1-3202 2017-1-4204 2017-1-4204 2017-1-5201
2020-12-29 18:35:05 434
原创 hive. FAILED: ParseException line 1:13 cannot recognize input near ‘date’ ‘from’ ‘user_action’ in ex
hive. FAILED: ParseException line 1:13 cannot recognize input near ‘date’ ‘from’ ‘user_action’ in expression specification事发现场1、建表CREATE TABLE `user_action`( `date` string, `user_id` string, `scene` string)2、查询select date from user_action; 报
2020-12-29 15:41:32 6314
转载 VMware虚拟机 Centos7网络配置 ping:www.baidu.com:未知的名称或服务 ping不通
https://www.cnblogs.com/zhangchenchuan/p/11887801.html
2020-10-29 17:56:20 1532
原创 算法:替换空格
题目:请实现一个函数,将一个字符串中的每个空格替换成 “%20” 。例如,当字符串为 We Are Happy 。则经过替换之后的字符串为 We%20Are%20Happy 。解法:1、replaceAll public static String replace(String str, String beforeStr, String replacement) { String string = str.replaceAll(beforeStr, repla..
2020-08-27 10:45:41 311
原创 使用@JsonProperty将多个类似数据源写在一起
一、需求原来已经有了自爬取的APP列表解析信息,现在增加一个渠道的APP列表,字段意思一样,但是字段名不一样。为了方便数据存储不变和下游部门代码不变,决定存储在一起,这就需要将字段映射成一样的。二、实现1、原来代码package com.credithc.sea.entity.deviceinfo;import com.fasterxml.jackson.annotation...
2020-01-17 16:30:30 2490
原创 ES _reindex实践初步总结
1、建立新索引2、指定reindex{ "source": { "index": "deviceinfo_es" }, "dest": { "index": "deviceinfo" }}结果如图:3.2G,77万条数据,耗时526324毫秒,约10分钟。参考:https://blog.csdn.net/laoyang36...
2019-12-30 10:16:55 681
原创 记一次ES重构字段结构&迁移数据&根据querydate排序取最新一条数据
目录一、需求背景二、问题来源三、重构文档结构1、新建索引deviceinfo,修改制定字段的类型2、数据迁移,将deviceinfo_es的数据迁移到新index3、删除原index四、排序需求五、参考一、需求背景现在ES中存储的通讯录信息,每次更新都累加,导致数据量一直在增大,影响下游的数据处理。于是提出,数据只提供最新的那一条给下游。思路是根据qu...
2019-12-24 18:52:16 1614
转载 java 中什么时候用 + 拼接字符串
目录1、什么时候不能用通过循环和多个表达式完成一个字符串拼接操作。频繁创建StringBuilder影响性能。2、什么时候用直接将三个字面量的字符串拼接成一个字符串。1、什么时候不能用通过循环和多个表达式完成一个字符串拼接操作。频繁创建StringBuilder影响性能。private void test1() { String www = "w...
2019-12-24 09:59:02 634
转载 为什么 Redis 选择单线程模型?
Redis 作为广为人知的内存数据库,在玩具项目和复杂的工业级别项目中都看到它的身影,然而 Redis 却是使用单线程模型进行设计的,这与很多人固有的观念有所冲突,为什么单线程的程序能够抗住每秒几百万的请求量呢?这也是我们今天要讨论的问题之一。除此之外,Redis 4.0之后的版本却抛弃了单线程模型这一设计,原本使用单线程运行的 Redis 也开始选择性使用多线程模型,这一看似有些矛盾的设计...
2019-12-13 15:17:16 433
转载 ElasticSearch入门 第八篇:存储
这是ElasticSearch 2.4 版本系列的第八篇:ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C#查询文档 ElasticSear...
2019-12-12 11:20:43 193
转载 ElasticSearch入门 第七篇:分词
这是ElasticSearch 2.4 版本系列的第七篇:ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C#查询文档 ElasticSear...
2019-12-11 17:06:20 341
转载 Elasticsearch 集群内应该设置多少个分片?
目录什么是分片?按照保留期限进行索引索引分片不是免费的吗?分片大小对性能有何影响?我应该如何管理分片大小呢?结论Elasticsearch 是一个功能十分丰富的平台,支持各种用例,能够在数据整理和复制战略方面提供很大的灵活性。然而这一灵活性有时也会带来困扰,让您在前期难以确定如何最好地将数据整理为索引和分片,如果您刚上手使用 Elastic Stack,这一点可能更明显...
2019-12-09 15:09:11 1961
原创 macbook 自带终端执行ll报command not found问题
执行MacBook-Pro:~ fuhong$ cd ~MacBook-Pro:~ fuhong$ vim .bash_profile文件中添加:#解决ll报command not found问题alias ll='ls -alF'alias la='ls -A'alias l='ls -CF'再执行sourceMacBook-Pro:~ fuhong$...
2019-12-08 00:38:31 365
转载 SpringMVC中@RestController和@Controller的区别
在使用SpringMVC时,对于Controller中的注解@RestController和@Controller需要我们区分清楚@RestController注解相当于@ResponseBody和@Controller的结合但是在使用@RestController注解的时候需要注意几个问题:1.如果使用@RestController注解Controller,那么该Controller...
2019-12-08 00:22:06 216
转载 ElasticSearch入门 第三篇:索引
ElasticSearch入门 第三篇:索引这是ElasticSearch 2.4 版本系列的第三篇:ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第...
2019-12-06 18:17:50 213
转载 ElasticSearch入门 第二篇:集群配置
ElasticSearch入门 第二篇:集群配置这是ElasticSearch 2.4 版本系列的第二篇:ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门...
2019-12-06 17:06:53 217
转载 MySQL和Lucene索引对比分析
MySQL和Lucene都可以对数据构建索引并通过索引查询数据,一个是关系型数据库,一个是构建搜索引擎(Solr、ElasticSearch)的核心类库。两者的索引(index)有什么区别呢?以前写过一篇《Solr与MySQL查询性能对比》,只是简单的对比了下查询性能,对于内部原理却没有解释,本文简单分析下两者的索引区别。MySQL索引实现在MySQL中,索引属于存储引擎级别的概念,不同存...
2019-12-06 16:51:53 170
原创 ES创建表,避免自动创建的表字段分词
一、需求描述如若没有在ES中事先创建索引和表结构,代码的数据直接插入时,索引和表结构自动创建,会导致字段默认是分词,不方便查询,尤其是像queryDate这个的时间查询。二、处理经过1、代码指定的ES index索引使用别名。2、将原来的ES表删除3、创建新索引,并将代码的别名指定到这个索引{ "mappings": { "resultInfo": { ...
2019-12-04 18:31:12 2184
转载 Linux两台机器之间实现ssh免密登录配置
目录一、需求二、实现三、免密原理一、需求A免密登录B二、实现1、A上执行ssh-keygen -t rsa,三次回车。生成之后会在用户的根目录生成一个 “.ssh”的文件夹2、查看.ssh下面的文件* authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥(初始不存在该文件) ** id_rsa : 生成的私钥文件...
2019-11-28 16:15:31 2666
原创 IDEA REST Client 在idea端发送请求
一、idea功能二、使用方法三、生成的文件在请求log文件中,可以直接点击绿色三角符号再次发送该请求。
2019-11-28 14:14:44 1630
转载 JAVA工程师面试常见问题集锦
JAVA工程师面试常见问题集锦集锦一: 一、面试题基础总结1、JVM结构原理、GC工作机制详解答:具体参照:JVM结构、GC工作机制详解 ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法 b、可达性分析算法(这里的可达性,大家可以看基...
2019-11-26 21:42:34 343
原创 记一次项目部署的坑:代码更新到测试环境没生效,新功能没实现
目录一、事件起因二、排查过程三、解决经过四、总结附脚本一、事件起因新需求是在APP列表中新添两个字段。在本地开完完成,写入、查询都能实现达到要求。但是部署到测试环境时,经测试新功能没实现。二、排查过程1)查看git上的diamante、Jenkins编译的代码,发现代码都已经更新。2)仔细看Jenkins部署的日志,发现问题:于是去查看相应的脚本,...
2019-11-26 19:03:50 3878
原创 postman发送post请求,服务器日志确保GET请求错误“ PageNotFound:208 Request method 'GET' not supported”
一、事件经过这段时间在配置菲律宾项目上k8s,今天在测试生产环境时,报了一个错:PageNotFound:208Requestmethod'GET'notsupported。意思是:请求不支持get请求,但是我用postman发的是post请求呀。换了环境测试后,确定不是代码的问题,在想是不是运维这边的容器有做请求的转换导致的,疑问果然是。二、测试例子三、解决方案因...
2019-11-20 17:38:01 2310 1
转载 操作Git中tag标签
一、什么是tagtag是git版本库的一个标记,指向某个commit的指针。tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1.0.2 ...这样的标签。tag感觉跟branch有点相似,但是本质上和分工上是不同的:tag 对应某次commit, 是一个点,是不可移动的。branch 对应一系列commit,是很多点连成的一根线,有一个H...
2019-11-06 16:55:42 276
原创 springMVC项目的容器化,通过配置文件和idea配置实现【完美实践经验首发】
目录一、需求二、实践1、applicationcontext.xml2、applicationcontext-mvc.xml3、pom.xml(1)注掉关于环境的配置(2)注掉打包的排除项(重要)4、效果三、配置本地环境一、需求现在一个项目是springMVC项目,运维这边需要做成项目容器化,便于实现服务的监控和部署。所以,需要把项目中的配置文件做些...
2019-11-01 15:27:22 674
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人