自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谦蓦的博客

风格不被定义,做自己。

  • 博客(70)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Hive SQL】统计同名路径下目录数量(基于reverse、split和substr函数)

因为hive没有获取第几个字符的相关UDF函数,所以只能通过多个函数组合的方式进行处理。然后,需求为:我们需要分库表统计目录数量。PS:其中路径信息格式为。

2023-09-12 13:48:40 257

原创 【Mysql问题】:Can‘t create table ‘#sql-58d7_431d‘ (errno: 28)

OSError: [Errno 28] No space left on device,即:磁盘空间不足,无法创建文件。因此,导致Mysql无法执行SQL语句。Step 2,确认大目录下有哪些可以删除的文件或者数据。Step 1,查看有哪些目录占用了大量磁盘空间。Step 3,删除数据,释放磁盘空间。Step 4,问题解决。

2023-08-31 11:26:10 544

原创 如何控制MySQL事务提交后,刷redo-log的策略?

如何控制MySQL事务提交后,刷redo-log的策略呢?有哪几种方式呢?

2022-11-27 10:50:06 536

原创 IDEA项目报错:找不到MainClass或者package包如何处理?

通常情况下,遇到该类问题是因为IDEA项目生成 *.iml 文件错误。解决方案:如果还是不行,那就多执行几次,就能正常了。

2022-06-27 23:12:41 1598

原创 Log4j2日志滚动策略TimeBasedTriggeringPolicy的魔鬼槽点

TimeBasedTriggeringPolicy参数说明:参数名称类型描述intervalinteger根据日期格式中最具体的时间单位来决定应该多久发生一次rollover。例如,在日期模式中小时为具体的时间单位,那么每4小时会发生4次rollover,默认值为1modulateboolean表示是否调整时间间隔以使在时间间隔边界发生下一个rollover。例如:假设小时为具体的时间单元,当前时间为上午3点,时间间隔为4,第一次发送rollover是在上午4点,接下来

2020-12-10 11:10:41 24496 6

原创 Log4j2是如何切分日志的呢?

简化语言,一切用图来表达吧:

2020-12-10 11:06:30 379

原创 为何不推荐直接采用 Executors.new 线程池的方式?

众所周知,Java并发编程是一大难点所在。其实并不是我们不懂并发原理,而是我们往往忽略了细节,然而,“魔鬼总在细节中”!;作为以Java作为主语言的研发,应该都知道 Executors.new 各种线程池的时候(ScheduledThreadPool除外),底层都是通过 ThreadPoolExecutor来实现的。[延拓]```ThreadPoolExecutor ```的5项基本参数为:int corePoolSize:核心线程数int maximumPoolSize:线程池最大可拥有的

2020-12-08 17:04:05 1169 9

原创 在大数据时代,我们缺乏的到底是思维还是能力?

大学最重要的事情应该是锻炼自学的能力、培养自律的心性。工作后,最重要的事情应该是执行力MAX的可靠性以及严谨处事的态度。似乎每件事都会有专门的目标性。然而,工作久了,难免会“学会偷懒”,不再像从前哐哧哐哧就开始无想法的行动。1.按部就班固化思维在遇到采集数据异常排查问题时,W总是习惯于从文件系统拉取log日志进行查询,然而采集机器数少则十几台,多则成百上千不是吧不是吧,这种耗时费力的事情,不会真的有人这么干吧?想必除了想要摸鱼的人,不会有人傻到大批量拉取日志进行分析。正解:可以

2020-12-08 16:52:53 695 2

原创 没有Spring cron时该怎么定点执行定时任务?

最近有个小需求,在普通Java项目里面,不能借助于Spring,也不能使用复杂的jar,来实现cron定点定时任务。通过查询资料,发现一个好用的工具:hutool<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-cron --><dependency> <groupId>cn.huto...

2020-03-17 23:08:08 607

原创 论掌握一项脚本技术的必要性

工作过程中,我们常常需要对一些我们可能会临时需要的数据进行清洗或者格式化等处理。这个时候就需要借助于一些奇淫技巧或者一些工具,诸如Windows平台下的notepad++,Mac/Linux平台下的vim等。最近大数据部在进行成本优化,需要对各业务使用带宽、数据量、访问量、以及pv、uv等各种可进行成本优化的信息进行分类统计,然后进行逐步缩减优化。期间就频繁多次的借助于shell脚本、Java程...

2019-12-26 00:59:47 7477 3

原创 考研前夕 — 成人的世界里没有那么多童话

成年人的世界里,没有那么多的童话,也没有那么多的逆袭从《令人心动的offer》听到柴律说到“成年人的世界里,没有那么多的童话,也没有那么多的逆袭”时,回顾过往,不由感慨:从年初确定要备考在职研究生开始,已经临近统考,这周六(后天,也就是2019年12月21日)就要前往北大(北京大学)参加入学考试。自己规划的未来,就要坚持到底刚开始,我也曾深陷诸如“在职研与全日制有何区别?”,“在职研社会...

2019-12-20 00:16:46 1636 2

原创 通过RDS事件数据同步来看不同软件工程师的区别

由彼观彼,而不是由己观彼。开始前,扯些许的题外话。我们经常会看到一些类似于初、中、高级软件工程师的区别的文章,觉得高级会如何,初中级又会如何,我们此次就不区分title,而是通过经验丰富与否、考虑问题是否全面、做事是否稳重来展开。{:width=“300”}1.问题描述有这样一个需求,我们需要在国内WEB端新增的事件数据,不仅要写入国内的RDS,同时也要同步到国外的三个不同地点的RDS...

2019-12-01 13:01:46 454

原创 我只是同步了下Redis数据,怎么就服务瘫痪了?

背景bug千千万,今天到我家。简要描述:数仓WEB端进行新增事件后,会注入Redis中进行缓存,供给动参服务进行响应各端SDK的请求。下午,发现海内外redis中存储的事件数据中仅有停用事件,而没有启用事件数据,以为是个bug,然后找数据负责人、动参负责人以及产品等进行确认,对比数据及综合意见后统一归咎为错误数据,经排查业务代码逻辑,发现数仓WEB端业务逻辑也是按照颠倒方式进行缓存事件数...

2019-11-30 01:04:33 401

原创 EasyScheduler线上任务调度延迟1小时问题排查

一、背景早上,暴躁君W来了条信息:“小时计算任务延迟一小时执行,导致应该6点启动的计算3点数据的任务到7点才被提交执行,而计算4点数据的任务跑了两次,帮忙排查下这个问题。”二、那么问题来了[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I5mK0LJw-1571756088100)(https://github.com/buildupchao/ImgStor...

2019-10-22 22:55:18 789

原创 为何EasyScheduler升级v1.1.0后定时任务不调度执行?

一、背景EasyScheduler升级v1.1.0后,进行任务测试,发现只能调度执行新的定时任务,而不能调度旧的定时任务。二、那么问题来了究竟是哪里出问题了?1.我的操作步骤出现了bug?2.EasyScheduler官方的升级脚本有问题?然而,从v1.0.3升级到v1.1.0完全是按照https://dolphinscheduler.apache.org/en-us/docs...

2019-10-22 22:54:28 584

原创 年中总结之最后我们都成为了过往

“听见,冬天的离开。我在某年某月醒过来,我想、我等、我期待,未来却不能因此安排。” — 遇见做完了KingSight的交接工作,只身走向DW(数仓)。时间回到2018年7月5日早上,一份内容为Rain, Jimina, Philip, I decide to do Big Data related work after thinking twice. Thanks for you...

2019-08-02 21:40:48 309 1

原创 Airflow[v1.10]任务调度平台的安装教程

0.背景真的是想不通,Airflow不论社区活跃度还是Github的star数都是远胜于Azkaban还有EasyScheduler的,但是为何却连一个完备的安装教程都没有呢?是我的需求太高?真的是心累不已,整整把搜索引擎还有youtube翻来覆去也没让我感到满足……不过好在,一步一坑一脚印的最终搭建连通好了环境以及Operator。好了,废话不多说,开始Airflow今日份安装教程。1.安...

2019-06-14 03:42:00 1301 2

原创 如何对数仓进行建模

如何对数仓进行建模,点击链接前往

2019-06-12 00:25:37 1153

原创 基于Hadoop的数据仓库

1 什么是数据仓库数据仓库是面向主题的、集成的、具有时间特征的、稳定的数据集合,用以支持经营管理中的决策制定过程典型应用:报表生成数据分析数据挖掘数据仓库其他特征数据量非常大(TB以上)是数据库的一种新型应用使用人员较少商用数据仓库典型代表: db2, teradata, vertica价格昂贵,支持数据量通常TB或以下大数据时代数据仓库...

2019-06-10 01:18:03 5810

原创 了解一下数据仓库

0.什么是数据库?数据库(DB)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享1.什么是数据仓库?数据仓库是面向主题的,集成的,相对稳定的,反映历史变化的数据集...

2019-06-10 01:16:43 420

原创 Hive SQL查询效率提升之Analyze方案的实施

0.简介Analyze,分析表(也称为计算统计信息)是一种内置的Hive操作,可以执行该操作来收集表上的元数据信息。这可以极大的改善表上的查询时间,因为它收集构成表中数据的行计数,文件计数和文件大小(字节),并在执行之前将其提供给查询计划程序。1.如何分析表?基础分析语句ANALYZE TABLE my_database_name.my_table_name COMPUTE STAT...

2019-06-07 15:44:46 2403

原创 爱上Java诊断利器之Arthas

1. Arthas是什么?摘自Arthas的Github介绍: Arthas is a Java Diagnostic tool open sourced by Alibaba. Arthas allows developers to troubleshoot production issues for Java applications without modifying code ...

2019-06-06 23:46:45 4302 5

原创 Hive集群合并之应用端的负载均衡算法

0.背景有这么一个场景,我们有两个Hive集群,Hive集群1(后面成为1号集群)是一直专享于数据计算平台的,而Hive集群2(后面成为2号集群)是用于其他团队使用的,比如特征,广告等。而由此存在两个主要问题:a) 两个Hive集群共享了同一份MetaData,导致经常会出现在HUE(建立与2号集群上)上建表成功后,但是在计算平台上却无法查询到新建表信息;b) 让运维同学们同时维护两套集群,管...

2019-05-12 22:55:51 1074

原创 警报:线上事故之CountDownLatch的威力

2019.2.22号凌晨3点半,是一个让人难以忘怀的、和瑞哥最后一次一起奋战的夜晚。背景我们有这样一个业务场景:用户提供各种数据源配置信息,然后基于数据源配置的模板,再者在模板基础上构建报表,而大数据计算平台则会根据这些信息生成数据计算任务,以实时、离线、混合的方式跑数,并将计算结果落到存储设备中。线上事故应用每天凌晨1点10分进行自清理重启后,会进行数据源连接池的初始化操作。而报表跑...

2019-02-22 17:07:16 289

原创 设计一个分布式RPC框架

0 前言提前先祝大家春节快乐!好了,先简单聊聊。我从事的是大数据开发相关的工作,主要负责的是大数据计算这块的内容。最近Hive集群跑任务总是会出现Thrift连接HS2相关问题,研究了解了下内部原理,突然来了兴趣,就想着自己也实现一个RPC框架,这样可以让自己在设计与实现RPC框架过程中,也能从中了解和解决一些问题,进而让自己能够更好的发展(哈哈,会不会说我有些剑走偏锋?不去解决问题,居然研究...

2019-02-01 23:06:34 1722

原创 如何保存/恢复Java应用程序核心内存数据现场?

0. 背景不论是单体应用还是分布式应用,总是会有些许迭代或者紧急Fix bug上线的神操作。但是如果不是那么幸运,当时还存在大量核心内存中数据在进行计算等逻辑,此时终止项目,就会出现核心数据或者状态丢失的不利情况,后续即使上线完成也要尽快追加数据。那是否存在某种技巧???:在需要终止应用的时候,能够监听到终止操作,并保存核心数据现场,然后再终止应用,而后在应用恢复后,再进行核心数据恢复。答...

2019-01-27 21:08:11 1038

原创 2018年度复盘,2019年度规划

2018年度复盘,比起前两度总结晚了将近一个月。2018年,经历了很多事情,也中途换了一份新工作,但追求技术的心仍然没有改变。2018,可能是极其焦虑不安的一年亲儿子 ‘sales-order-portal’ 诞生了从代码构思、设计到Coding,以及中途进行的一次小重构,直至最后的上线,都只是一个人在战斗,虽然过程心酸,但是结果是美好的。也很欣慰那段忙碌的日子里,有前端搭档Charl...

2019-01-23 17:42:49 1745 2

原创 为何通过java.sql.DatabaseMetaData获取MySQL的table remarks总是为空?

大数据平台存在这样一种场景,我们需要根据用户录入的配置信息,进行同步数据源/表相关的信息,此时就需要把数据库、数据表、数据表字段相关信息进行拉取。而我们获取数据源的元信息时,是在Connection连接通道之上,借助于java.sql.DatabaseMetaData进行获取详细信息(比如TABLE_NAME, REMARKS, COLUMN_NAME等等),然而却出现了除REMARKS之外的其...

2018-10-10 09:01:00 1469

原创 记一次时隔两年后的JavaWeb项目重构总结

两年前的2016年,我还没有大学毕业,也才大三下学期,也还有自己的team,一起学习,一起成长,一起技术研究与试炼。不缅怀……当时和自己的team一起开发了“科技计划项目电子辅助验收及评估平台”,然而因为team刚成立几个月,其次,项目也比较赶,在时间紧迫的情况下,只能个人保证自己模块不出问题,然后最后再由作为项目负责人的我来审核并集体进行测试。那么究竟里面的设计有多烂呢?答案就是,有好有坏。...

2018-06-09 11:12:22 2757

原创 记一次Java运算符优先级的血训

如上图所示,按照我们普遍的思路,会认为newLength应该是11才对,但结果却出乎意料为5,造成数据的丢失。哎,一次血的教训!特此,重新记录下运算符的优先级为: 单目乘除位关系,逻辑三目后赋值。 单目: +(正数) , -(负数), ++, – 等乘除: *, /, %, +, - 位: >, >>>关系: >, >=, 逻辑: &

2018-02-04 16:55:25 2080 10

原创 Java 8 Stream槽点之toMap引发的NullPointerException异常

众所周知,Java 8 Stream,是我们Java程序员的福音,可以简洁、高效的编写代码,可变通性的帮助我们开发项目,实现业务。然而,现实是,提供具体快捷方式的同时,也存在着潜在的危险,就比如说Stream中的toMap操作,就让博主掉入坑中而不能自拔。有这样一个场景:我需要通过仓库编号去获取每个订单的发货仓库名称,进而用来填充要查询的订单属性。但是在此之前,我需要获取到全部仓库编号与名称的...

2018-01-19 20:52:20 6942 4

原创 New Year, New Me

新的一年,新的开始2017年,是我的毕业年,也是我开始参加工作的一年,这一年,很忙碌,很充实,却也很累,但也在一一实现着17年的计划,直到今日,十之八九得到了一个圆满的结果。在2018即将到来之际,又在睡梦中爬起来,惯例,总结与规划。回顾2017最后一个寒假 2017.12-2017.1.3 和好朋友小黄毛一起在校学习研究前后端分离,模块化开发,于寒假晚走了一个月,与导师以及小黄毛商定好为春节后

2018-01-01 01:30:18 825 6

原创 web分层架构及责任分离之我想我见

Terms:Client:发送请求,End User。Controller:调度请求,调用Service完成业务。会接收到复杂的数据类型,需要进行相应的校验、过滤、包装转换成干净的BO。Service:业务层,真正的业务实现在这里完成。接收BO,进行BO的拆分,组合,再包装形成新的BO or Entity,然后调用Repository或者其他Web Container暴漏出来的Service去

2017-11-29 14:40:25 310

原创 Spark Shuffle解密

Spark Shuffle解密继Shuffle解密(MapReduce Shuffle过程)博文后的又一解密性博文。(to be done)

2017-11-23 23:08:29 310

原创 MapJoin和ReduceJoin区别及优化

MapJoin和ReduceJoin区别Map-side Join(Broadcast join)思想: 小表复制到各个节点上,并加载到内存中;大表分片,与小表完成连接操作。两份数据中,如果有一份数据比较小,小数据全部加载到内存,按关键字建立索引。大数据文件作为map的输入,对map()函数每一对输入,都能够方便的和已加载到内存的小数据进行连接。把连接结果按key输出,经过shuffle阶段,

2017-11-18 11:17:10 11407

原创 从RDD角度来剖析Spark内部原理

从RDD角度来剖析Spark内部原理1 Spark的核心 — RDD?1.1 RDD的5个属性1.2 RDD的特性1.3 What's RDD?在物理上,RDD对象实质上是一个 元数据结构,存储着 Block、Node等的映射关系,以及其他的元数据信息。一个RDD就是一组分区,在物理存储上,RDD的每个分区对应的就是一个Block,Block可以存储在内存中

2017-11-11 09:52:53 548

原创 MapReduce作业执行流程

MapReduce作业执行流程0 准备阶段0.1 回顾hadoop配置文件mapred-site.xml mapreduce.framework.name yarn Hadoop 2.x引入了一种新的执行机制。这种新机制(MR 2)建立在一个名为YARN的系统上。而用于执行的框架通过 “mapreduce.framework.name” 属性

2017-11-10 16:50:56 5310 2

原创 Zookeeper问题汇总

Zookeeper问题汇总1 Zookeeper集群启动报错启动客户端一直报错:2016-05-06 01:58:23,980 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@975] - Opening socket connection to server localhost/0:

2017-11-09 13:55:33 1290

原创 Spark Streaming中,增大任务并发度的方法有哪些?

Spark Streaming中,增大任务并发度的方法有哪些?0 准备阶段Q: 在Spark集群中,集群的节点个数、RDD分区个数、CPU内核个数三者与并行度的关系是什么?我们先梳理一下Spark中关于并发度涉及的几个概念: File, Block, Split, Task, Partition, RDD以及节点数、Executor数、core数目的关系。

2017-11-09 09:44:17 6883

原创 Shuffle解密

Shuffle解密0. 准备阶段Map的输出会经过一个名为shuffle的过程,交给Reduce处理。在MapReduce流程中,为了让Reduce可以并行处理Map结果,必须对Map的输出进行一定的排序和分割,然后再交给对应的Reduce,而这个将Map输出进行进一步整理并交给Reduce的过程就是shuffle。shuffle是MapReduce的核心所在,shuffl

2017-11-08 07:56:15 542

hive数据表-小文件合并代码(java)

小文件合并代码,

2023-08-08

软件构造项目案例

软件构造项目案例:电厂职工培训管理系统。培训计划、部门、学员CRUD操作。

2016-01-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除