buildupchao的博客

跳出自己的极限(www.buildupchao.cn 个人网站)
私信 关注
buildupchao
码龄7年

better than before

  • 274,639
    被访问量
  • 91
    原创文章
  • 27,884
    作者排名
  • 154
    粉丝数量
  • 于 2014-07-17 加入CSDN
获得成就
  • 博客专家认证
  • 获得233次点赞
  • 内容获得133次评论
  • 获得285次收藏
荣誉勋章
兴趣领域
  • #大数据
    #数据仓库#storm#spark#hive
TA的专栏
  • Deep in 大数据
    29篇
  • 技术挑战
    1篇
  • 大数据—Hadoop
    24篇
  • 大数据—Spark
    6篇
  • 脚本技术
    1篇
  • 数据结构与算法
    5篇
  • Java/Scala
    16篇
  • 架构设计
    2篇
  • Tomcat
    1篇
  • Spring
    5篇
  • MySQL
    2篇
  • 软件开发回顾总结
    11篇
  • Dev 问题杂记
    9篇
  • 面试总结
    1篇
  • 思绪感悟
    3篇
  • 线上问题集锦
    5篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

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

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

Log4j2是如何切分日志的呢?

简化语言,一切用图来表达吧:
原创
63阅读
0评论
0点赞
发布博客于 4 月前

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

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

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

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

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

最近有个小需求,在普通Java项目里面,不能借助于Spring,也不能使用复杂的jar,来实现cron定点定时任务。通过查询资料,发现一个好用的工具:hutool<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-cron --><dependency> <groupId>cn.huto...
原创
316阅读
0评论
0点赞
发布博客于 1 年前
考研前夕 — 成人的世界里没有那么多童话
发布Blink于 1 年前
Centos7安装并配置mysql5.6完美教程
发布Blink于 1 年前

Nacos自动刷新配置如何实现的?

【技术挑战】Nacos自动刷新配置如何实现的?
原创
6076阅读
0评论
0点赞
发布博客于 1 年前

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

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

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

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

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

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

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

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

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

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

为何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...
原创
284阅读
0评论
0点赞
发布博客于 2 年前

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

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

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

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

如何对数仓进行建模

如何对数仓进行建模,点击链接前往
原创
488阅读
0评论
2点赞
发布博客于 2 年前

基于Hadoop的数据仓库

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

了解一下数据仓库

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

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

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

爱上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 ...
原创
4150阅读
5评论
94点赞
发布博客于 2 年前

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

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

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

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

设计一个分布式RPC框架

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

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

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

2018年度复盘,2019年度规划

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

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

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

【数据结构与算法01】- 数组、链表对比及应用

1. 数组和链表的区别1.1 底层存储结构数组需要一块连续的内存空间进行存储链表通过“指针”将一组零散的内存块串联起来使用1.2 性能链表和数组的(增删查)时间复杂度正好相反数组使用连续的内存空间,可以借助缓存机制提高效率;链表不连续,所以无法借助缓存机制数组大小固定,当需要申请更大的空间,需要拷贝数据,很耗时;而链表纯天然的支持动态扩容相对来说,链表比较耗内存,因为需要...
原创
365阅读
0评论
0点赞
发布博客于 3 年前

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

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

Redis缓存设计之令人兴奋的OutOfMemoryError

2018-05-1421:07:50.691 WARN [qtp683718244-2772]org.eclipse.jetty.server.HttpChannel.handleException:517-/sales-order-portal/org.springframework.data.redis.serializer.SerializationException:Cannot se...
原创
2513阅读
0评论
1点赞
发布博客于 3 年前

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

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

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

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

New Year, New Me

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

JPA槽点之multiple in list查询引发的问题

近段时间一直在参与公司P1 batch#2的开发,由于该项目是以micro service形式进行的架构,而且是完全的前后端分离,所以博主才能一心专注于后端代码设计与实现。而该项目开发技术栈中就涉及了JPA产品的使用,鉴于业务需求的繁杂,博主把Java 8 Stream (java.util.stream)与JPA进行相结合使用,从而简化开发效率,并使代码尽量简洁。今日,有个需求实现过程中就由JPA
原创
4825阅读
3评论
0点赞
发布博客于 4 年前

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

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

Spark Shuffle解密

Spark Shuffle解密继Shuffle解密(MapReduce Shuffle过程)博文后的又一解密性博文。(to be done)
原创
260阅读
0评论
0点赞
发布博客于 4 年前

【连载】快速排序算法的普通版和简化版实现

快速排序算法 针对本算法仅提供核心部分代码。代码均是基于python。算法核心:分治思想步骤:找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作, 使基准左边元素的值都不大于基准值, 基准右边的元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正确位置,排
原创
314阅读
0评论
0点赞
发布博客于 4 年前

【连载】Floyd求最短路径算法设计 — Java版

Floyd求最短路径算法设计废话不多说,直接上代码。算法实现Floyd.javapackage zychaowill.datastructure.graph.algo.impl;import java.util.Arrays;import zychaowill.datastructure.graph.algo.ShortestPathStrategy;import zychaowill.dat
原创
509阅读
0评论
0点赞
发布博客于 4 年前

【连载】Dijkstra求最短路径算法设计—Java实现

Dijkstra求最短路径算法设计1. Dijkstra简介What’s the shortest path?最短路径指两顶点之间经过的边上权值之和最少的路径,并且称路径上的第一个顶点为源点,最后一个顶点为终点。Thought line of algorithm:How to realize Dijkstra algorithm:2. Let’s coding注:该代码的实现是基于Java的
原创
944阅读
0评论
0点赞
发布博客于 4 年前

Spark MLlib机器学习之朴素贝叶斯小试牛刀

Spark MLlib机器学习之朴素贝叶斯小试牛刀废话不多说,直接上代码,以下代码均基于Scala实现。0. 机器学习工具类 BaseModelUtil.scalapackage com.jangz.recommendation.spark.mllibobject BaseModelUtil { private val DEFAULT_MODEL_PATH = "data/model" def
原创
770阅读
0评论
0点赞
发布博客于 4 年前

MapJoin和ReduceJoin区别及优化

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

用户日志分析系统实战(六)

用户日志分析系统实战(六)(to be done)
原创
475阅读
0评论
0点赞
发布博客于 4 年前

用户日志分析系统实战(五)

用户日志分析系统实战(五)(to be done)
原创
526阅读
0评论
0点赞
发布博客于 4 年前

用户日志分析系统实战(四)

用户日志分析系统实战(四)(to be done)
原创
545阅读
0评论
0点赞
发布博客于 4 年前

用户日志分析系统实战(三)

用户日志分析系统实战(三)1 资源管理(YARN)1.1 YARN产生背景运维成本 “一个框架一个集群”的模式会增加运维成本,而共享模式通常需要少数管理员即可完成多个框架的统一管理。数据共享。共享集群模式可让多种框架共享数据和硬件资源,将大大减少数据移动带来的成本。1.2 YARNYARN由来Yet Another Resource Negotiator的简称出现在Hadoop 2.x版
原创
1265阅读
0评论
0点赞
发布博客于 4 年前

用户日志分析系统实战(二)

用户日志分析系统实战(二)1 日志收集1.1 常见数据来源非结构化数据 机器产生的数据用户访问日志用户购买日志结构化数据 RDBMS:MySQL、Oracle等 全量导入增量导入1.2 数据收集与入库要求分布式 数据源多样性数据源分散可靠性 保证数据不丢失允许丢失部分数据可扩展 数据源可能会不断增加通过并行提高性能1.3 FlumeFlume收集数据到HDFS
原创
701阅读
0评论
0点赞
发布博客于 4 年前

C++类

SqList.h#include <iostream>#include <sstream>#include <fstream>#include <cstring>#include <cmath>#include <stdlib.h>#define MAXSIZE 16using namespace std;typedef struct{ string key; strin
原创
221阅读
0评论
0点赞
发布博客于 4 年前

数据结构与算法整理

在此整理数据结构与算法相关资料,后续慢慢研究总结,不断完善。1. 数据结构整理线性:数组,链表,堆栈,队列,hash表树:堆,二叉排序/查找树,B+/B-树,AVL树,红黑树,树状数组,Trie树(字母树 or 字典树),Treap(树堆)(后两个以前我都不知道)图:图其他:并查集2. 算法整理(1)基本思想:枚举,递归,分治,模拟,贪心,动态规划,剪枝,回溯 (2)图算法:深度/广度优
原创
403阅读
0评论
0点赞
发布博客于 4 年前

用户日志分析系统实战(一)

用户日志分析系统实战(一)接下来的博客是一个连续的部分,主要分为: 1. 用户日志分析系统实战(一),讲解背景及架构设计 2. 用户日志分析系统实战(二),日志收集与文件存储及其优化 3. 用户日志分析系统实战(三),资源管理与ETL及其优化 4. 用户日志分析系统实战(四),数据建模、分析与查询 5. 用户日志分析系统实战(五),用户行为分析 6. 用户日志分析系统实战(六),架构思考
原创
3661阅读
0评论
0点赞
发布博客于 4 年前

Git Conflict

If the command ‘git pull origin master’ generates a conflict, solution as follows: For this case, Git can’t execute ‘fast merge’ and only try to merge their own modifications, but the merge may confli
原创
370阅读
0评论
0点赞
发布博客于 4 年前

Code Refactor

Code RefactorWhy to refactor?A great deal of duplicated code.The old logic or useless code is too much.Package structure disorder.No version control to project by maven or else. Should be making an
原创
664阅读
0评论
0点赞
发布博客于 4 年前

从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可以存储在内存中
原创
471阅读
0评论
0点赞
发布博客于 4 年前

MapReduce作业执行流程

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

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:
原创
1117阅读
0评论
0点赞
发布博客于 4 年前

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

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

Shuffle解密

Shuffle解密0. 准备阶段Map的输出会经过一个名为shuffle的过程,交给Reduce处理。在MapReduce流程中,为了让Reduce可以并行处理Map结果,必须对Map的输出进行一定的排序和分割,然后再交给对应的Reduce,而这个将Map输出进行进一步整理并交给Reduce的过程就是shuffle。shuffle是MapReduce的核心所在,shuffl
原创
392阅读
0评论
1点赞
发布博客于 4 年前

从Spark组件来剖析Spark的执行流程

从Spark组件来剖析Spark的执行流程0 从对比的视角来看Spark0.1 Hadoop VS Spark0.2 Spark VS FlinkFlink 作为后起之秀,发展迅猛,有Ali 的 Blink 在支撑,流行起来是早晚的事流计算:Flink要强一些,真正的流计算。不过,Spark Summit 2017 大会也有说到 Spark 2.2
原创
1554阅读
0评论
1点赞
发布博客于 4 年前

Spark错误汇总

Spark错误汇总积累1、spark带的scala库比较旧(2.11.8), 系统安装的安装scala比较新(2.12.2)引起的问题.zhouhh@/Users/zhouhh/test/spark/wordcount $ spark-submit --class WordCount --master local target/scala-2.12/wordcount-spark_2.12
原创
706阅读
0评论
0点赞
发布博客于 4 年前

hadoop执行mapreduce过程reduce不执行原因

hadoop执行mapreduce过程reduce不执行原因1.如果你的map过程中没有context.write()是不执行reduce过程的;2.如果你的map过程中context.write()的map后的的部分数据出现问题,不符合reduce接受的数据也会不执行reduce比如说你的日志文件中有一个空行是不符合reduce的接受数据reduce不执行;
转载
2343阅读
0评论
0点赞
发布博客于 4 年前

Hive数据去重、多变一与一变多等实现

Hive数据去重、多变一与一变多等实现0. 数据准备0.1 数据文件本机的/usr/local/share/applications/hive/data/目录下创建 employees.txt 数据文件:John Doe^A100000.0^AMary Smith^BTodd Jones^AFederal Taxes^C.2^BState Taxes^C.05^BInsur
原创
2224阅读
0评论
0点赞
发布博客于 4 年前

Spring MVC源码分析—Tomcat分析

Tomcat分析1. Tomcat的顶层结构1)Tomcat中最顶层的容器是Server(一个Tomcat中只有一个Server),代表整个服务器。2)Server中包含至少一个Service,用于具体提供服务。3)Service主要包括两部分:Connector和Container。一个Service只有一个Container,但可以有多个Connecto
原创
291阅读
0评论
0点赞
发布博客于 4 年前

Spring MVC源码分析—Servlet解析

Servlet解析Servlet是Server + Applet的缩写,表示一个服务器应用。(Servlet其实就是一套规范,我们按照这套规范写的代码就可以直接在Java的服务器上面运行。)Servlet 3.1 中的Servlet结构图1. Servlet接口2. ServletConfig接口3
原创
396阅读
0评论
0点赞
发布博客于 4 年前

Hadoop远程调试

Hadoop远程调试Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技术是一个多层架构,使您能够在各种环境中轻松调试 Java 应用程序。JPDA 由两个接口(分别是 JVM Tool Interface 和 JDI)、一个协议(Java Debug Wire Protocol)和两个用于合并它们的软件组件(后端
原创
346阅读
0评论
0点赞
发布博客于 4 年前

MapReduce实现分组排序

MapReduce实现分组排序以某次竞赛为例,分别进行如果实现:取每组中男生前三名成绩和女生前三名成绩按照年龄分组降序输出所有人的成绩等价的SQL0. 预备知识0.1 基于MapReduce实现分组、排序:分组:相当于group by。MapReduce的实现:相当于分区,以求处理手机上网日志为例,把手机号和非手机号分为两组。
原创
2751阅读
0评论
0点赞
发布博客于 4 年前

Spring MVC源码分析—基于Java中Socket实现HTTP协议

自己实现网络通讯1.1 普通Socket用法Java中的网络通讯是通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务端,可以通过accept方法监听请求,监听到请求后返回Socket,Socket用于具体完整数据传输,客户端直接使用Socket发起请求并传输数据。1.1.1 ServerSocketServ
原创
1071阅读
6评论
1点赞
发布博客于 4 年前

Spring MVC源码分析—常见协议和标准以及DNS设置

常见协议与标准1、DNS协议DNS协议的作用是将域名解析为IP。域名和IP的对应关系不像电视频道那样稳定,而是经常在变化,所以就需要有专门将域名解析为IP的服务器,也就是“DNS服务器”,我们把域名发过去,它就可以给我们返回相应的IP,在windows下可以通过nslookup命令查看DNS解析的结果。世界各地有很多DNS服务器,ISP会给我们提供默认的DNS服
原创
733阅读
0评论
0点赞
发布博客于 4 年前

Spring MVC源码分析—网站架构及其演变过程

网站架构机器演变过程1.1 软件的三大类型1.2 基础的结构并不简单BS结构是最基础的结构,不过即使这种最基础的结构的底层实现也不简单,因为它需要通过互联网传输数据,而互联网是一个错综复杂的网络,其中包括的节点不计其数,而且每两个节点之间的距离以及连接的线路都是不确定的,数据在传输的过程中还可能会丢失,所以非常复杂。所有问题都有它对治的方法,对于复杂问题的对治方法就
原创
666阅读
0评论
0点赞
发布博客于 4 年前

用户重复提交问题的解决方案

令人头疼的用户重复(连续快速点击)提交问题,前端限制治标不治本;后端用sessonid在切面上实现,又需要前端存储,对所有请求数据加sessionId。最后用jedis中存储,用接口名+用户名当做key,根据不同的接口对不同的key可以单独设置时间,不仅保证了重复提交问题,也避免了恶意请求问题,同时还能自定义请求间隔。(期初担心redis缓存读写时间延误导致限制失效,后来发现多虑了,对一般
原创
1217阅读
0评论
0点赞
发布博客于 4 年前

[Ljava.lang.String; cannot be cast to java.lang.String错误

周一刚来上班,就看到一个项目运行错误:[Ljava.lang.String; cannot be cast to java.lang.String,让我小纠结了一下。其实这个问题很好解决。问题描述:不能把String[]转化为String类型。解决方案:String orderNo = ((String[])request.getAttribute("orderNo"))[0];
原创
12523阅读
0评论
1点赞
发布博客于 4 年前

JavaScript互斥锁案例

JavaScript互斥锁案例   朋友今天问起来关于JS中多个函数共享同一个全局变量时,顺序调用执行的函数,前者修改了全局变量值,后调用的函数访问时却为undefined。前不久开发项目过程中,队友也遇到了同样的问题,索性就写份博客来分享下经验。一、JavaScript互斥锁的简单介绍一个互斥锁的几个元素是:  锁与解锁...
原创
673阅读
1评论
0点赞
发布博客于 4 年前

Dubbo配置含义

:服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。 : 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。 : 协议配置,用于配置提供服务的协议信息,协议有提供方指定,消费方被动接受。 : 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。 : 模块配置,用于配置
原创
336阅读
0评论
0点赞
发布博客于 4 年前

执行mvn 报错 source-1.5 中不支持 diamond运算符

在pom.xml文件中指定JDK版本即可: org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 It's OK.
原创
398阅读
0评论
0点赞
发布博客于 4 年前

Flume读取日志数据并写入到Kafka,ConsoleConsumer进行实时消费

最近大数据学习使用了Flume、Kafka等,今天就实现一下Flume实时读取日志数据并写入到Kafka中,同时,让Kafka的ConsoleConsumer对日志数据进行消费。1、FlumeFlume是一个完善、强大的日志采集工具,关于它的配置,在网上有很多现成的例子和资料,这里仅做简单说明不再详细赘述。Flume包含Source、Channel、Sink三个最基本的概念
原创
17906阅读
4评论
4点赞
发布博客于 4 年前

Centos 6.5搭建Hadoop-2.7.3分布式集群的那些坑

Centos 6.5关闭防火墙命令:root@master~# service iptables statusroot@master~# service iptables stoproot@master~# chkconfig iptables offroot@master~# chkconfig iptables --listroot@master~# chkconf
原创
265阅读
0评论
0点赞
发布博客于 4 年前

Centos 6.5搭建Hadoop-2.7.3分布式集群

9月,按照计划开始深入大数据,今天抽时间把Centos 6.5搭建Hadoop-2.7.3分布式集群的过程做个记录,主要分为如下几步:0. 准备阶段1. 安装jdk1.8.0_1112. 安装配置hadoop-2.7.33. 格式化NameNode4. 启动Hadoop5. 查看Hadoop运行情况6. 通过example测试Hadoop分布式集群功能是否正常
原创
379阅读
0评论
0点赞
发布博客于 4 年前

针对ssh免密码登录出现Agent admitted failure to sign using the key

通过ssh配置免密码登录服务器时,出现了'Agent admitted failure to sign using the key.'提示。遇见此问题,只需要在当前用户下执行 ssh-add 命令即可将私钥添加进来,就可以直接通过类似 ssh master命令登录访问服务器。
原创
530阅读
0评论
0点赞
发布博客于 4 年前

Tomcat编译JSP页面生成Servlet文件(*.class & *.java)的存放位置

Tomcat将JSP编译成servlet后的文件存放在 apache-tomcat-8.5.16/work/Catalina目录下。e g: \webapps\login\welcome.jsp 文件编译后 => \work\Catalina\localhost\login\org\apache\jsp\welcome_jsp.class\work\Catalina\localhost
原创
5166阅读
0评论
1点赞
发布博客于 4 年前

针对Maven项目不显示Maven Dependencies库的解决方案

今天本来交给另一个同事的任务,鉴于他在忙另一个项目的两个模块,所以,最终转交到我手上来进行处理。然后,刚从公司仓库clone下来代码,导入Eclipse开发环境,却发现这个Maven项目居然很神奇的不显示Maven Dependencies,所以,据经验而谈,很自然的去右击项目->Maven->Enable Maven Dependencies,却发现,可能是因为Eclipse或者Maven比较新
原创
18138阅读
1评论
0点赞
发布博客于 4 年前

针对Intellij IDEA 2017闪退的解决方案

今天打开Intellij IDEA 2017准备编写Spring Boot代码时,频繁出现打开IDEA就闪退的情况,试了3、4均是如此。后来想想,以为是JDK版本的原因,之前项目测试,修改过JDK环境变量,所以就重新在系统变量里面配置了如下变量信息:结果还是无济于事。认真思索后,发现是IDEA的运行内存大小的问题,就做了如下修改:Intellij IDEA 2017目录结构
原创
32310阅读
7评论
0点赞
发布博客于 4 年前

煤矿井下精确人员定位系统—Openlayers简单构建与批量构建后端数据为GeoJSON

本博文是对煤矿井下精确人员定位系统的最后一次技术总结了。首先我们先来回顾下之前的两篇博文。1、煤矿井下精确人员定位系统—后端响应结果的包装Response(meta, data)该博文主要针对项目响应结果统一结构进行了分析,包装,最终得出了Response(meta(code, message), data)的结构。2、煤矿井下精确人员定位系统—通过Vue.js构建数据缓存区该博文
原创
2338阅读
2评论
0点赞
发布博客于 4 年前

煤矿井下精确人员定位系统—通过Vue.js构造数据缓存区

昨天的博客中总结了后端响应结果的包装Response(meta, data)。今天就简单谈谈博主在项目开发过程中的是如何借助于Vue.js的特性构造数据缓存区的。鉴于煤矿井下精确人员定位系统的运行复杂性,就不再使用项目代码来做展示。这里,就通过编写一个简易的project demo进行展示Vue构造数据缓存区的便捷使用。1、软件准备请在切入正题之前,保证自己的电脑上装好了如下软
原创
486阅读
0评论
0点赞
发布博客于 4 年前

煤矿井下精确人员定位系统—后端响应结果的包装Response(meta, data)

时间真快,转眼,博主已经是毕业工作两个月的社会人士了。虽然心里面从没有忘记“煤矿井下精确人员定位系统”开发总结的分享,但是却往往力不从心。投入工作后,一个月也没有几天的空闲时间,所以一直拖至今日。1、简介一个好的Web项目,是不会出现服务端对前端请求响应返回结果结构大量不一的情况的。所以就要求我们在Project开发之前,前后端开发人员要有一套约定。这样不仅便于管理,加快开发效率,
原创
582阅读
0评论
1点赞
发布博客于 4 年前

MySQL如何实现强制查询走索引和强制查询不缓存

EXPLAIN的查询执行计划A:强制走索引SELECT uid, unameFROM table_nameforce index(ind_id);B:强制查询不缓存SELECT SQL_NO_CACHE uid, uanmeFROM table_name不走逻辑IO,走物理IO在此仅用以做记录备用。
原创
768阅读
0评论
0点赞
发布博客于 4 年前

论Java8中switch(String)的解决方案真实性

今天在浏览博客的时候,看到一篇关于"java8中switch(String)的错误解决"的博文。具体问题是说jdk1.7支持switch(String),但是在jdk1.8中却不行,就此提出的解决方案。然而,针对jdk1.8,已经使用过一年之久的博主存在一个困惑,平时开发项目jdk1.8也有用到过switch(String),但是并未发现过此问题,想来jdk通常都是向前兼容的,不该出现此问题啊。难
原创
10696阅读
0评论
0点赞
发布博客于 4 年前

201705北京面试总结

临近毕业的5月,面试了几家公司,都感觉挺不错的。以下是面试时的问题:Company one: 永洪科技一面:0、先自我介绍下?1、这么多项目经验,随便哪一个项目,介绍一下?1.1 Spring原理说一下?2、Map实现有哪些?2.1 HashMap和Hashtable的区别是什么?2.2 HashMap是怎么实现的?3、有了解过高并发吗?3.1 ja
原创
768阅读
0评论
0点赞
发布博客于 4 年前

煤矿井下精确人员定位系统-PC端 开发技术难点、重点、亮点总结

在技术博客园系统开发设计总结博文中,本博主有提到,我是一名毕业在即的大四软件工程专业的学生。索性,在大学的尾声,和自己的两个小伙伴一起合作开发了“煤矿井下精确人员定位系统-PC端”。在该系统设计开发过程中,遇到了很多问题,也在寻求solution过程中积累了很多技术点。今天,在项目收尾阶段,索性来总结下项目中遇到的开发技术难点、重点、以及设计亮点。煤矿井下精确人员定位系统原型系统:煤矿井下精确
原创
1517阅读
0评论
1点赞
发布博客于 4 年前

基于Java实现的基本二叉树

基于Java实现的基本二叉树废话不多说,直接上代码:package zychaowill.datastructure.tree;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class BinNode { private BinNode lchild,
原创
303阅读
0评论
0点赞
发布博客于 4 年前

简单谈谈JavaScript中的this

简单谈谈JavaScript中的this   是夜,想着考量下小黄毛近期的JavaScript进阶如何了,鉴于近期一直在接触Vue 2.0,索性就围绕this编写了个代码片段,给其一个测量,毕竟写js的程序员都知道,JavaScript的函数调用时会隐性的接收到两个附加的参数:this和arguments。1、先上代码:...
原创
57阅读
0评论
0点赞
发布博客于 4 年前

技术博客园系统开发设计总结

经过一个月的时间,完成“技术博客园”的开发设计,在该系统开发过程中,重新领会了软件设计的思想以及软件开发的根本。写此博客进行总结这段时间的得失。 技术博客园Github链接:技术博客园  技术博客园演示网站:技术博客园演示网址 1、技术总结,回顾过去  技术博客园系统设计总结:  本系统的开发,使用了BAT公司的技术解决方案,同时伴以
原创
2545阅读
0评论
0点赞
发布博客于 5 年前

Java不使用Math.sqrt方法实现的求平方根

今天中午吃饭闲暇,和朋友聊到了如果不适用Math.sqrt方法,该怎么通过Java实现同样的功能,同时发表下意见。一下是我和朋友二人的解法思路:1、朋友采用的是先确定当前数所处的最小整数区间,然后再通过二分法来进行判断检测。2、我当时的想法是直接通过二分法进行判断检测,然后判断精度是否到达1e-7进行处理;随后,回到宿舍后,想到了通过牛顿迭代法进行求值,速度上更快乐一些。然后,索性
原创
16913阅读
8评论
2点赞
发布博客于 5 年前

JSON的基本格式以及与JavaScript之间的转换

JSON的基本格式以及与JavaScript之间的转换 JSON的基本格式以及与JavaScript之间的转换近来,发现很多人写json格式的数据时,总是没有达到JSON的规范,虽然在语言要求不严格的情况下能够通过,但是,难免会遇到这样那样的问题,到时候再做修改,担心为时晚矣,故计划写此博文。JSON的语法规则:1、数据...
原创
87阅读
0评论
0点赞
发布博客于 5 年前

Vue.js中Directive知识

近期所学的Vue.js这个MVVM前端技术缓解了我一直愁于前后端开发杂糅所带来的痛苦。今天就来说说关于Vue.js里面的Directive知识。 DirectiveDirective看上去虽然和Angular中的定义类似,Directive都是对DOM功能的一种拓展,但是Vue的Directive要弱的多。因为,Vue Component本来就包括对DOM的操作,所
原创
628阅读
0评论
0点赞
发布博客于 5 年前

HashMap和Hashtable的区别

HashMap和Hashtable的比较是Java面试中的常见问题,主要用来考研程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。前不久面试时正好也被问到了这个问题,今天突然想起来了,索性就整理一下,写个总结。HashMap和Hashtable都实现了Map 接口,但是具体要使用哪一个,需要先了解它们存在怎样的区别,然后再根据具体的情况做出选
原创
308阅读
0评论
0点赞
发布博客于 5 年前

Centos7安装并配置mysql5.6完美教程

Centos7安装并配置mysql5.6完美教程2019年10月22日补充:鉴于该博客是博主大学时候写的,步骤比较多,推荐一种新的快捷安装方式,大家可参照我的博客中的MySQL安装部分进行操作,链接为:http://www.buildupchao.cn/bigdataplatform/2019/06/13/airflow-install-tutorial.html如果不想采用上述方式,可继...
原创
45715阅读
49评论
25点赞
发布博客于 5 年前

软件构造项目案例

软件构造项目案例:电厂职工培训管理系统。培训计划、部门、学员CRUD操作。
rar
发布资源于 5 年前