自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

简单就好

生无所息

  • 博客(53)
  • 收藏
  • 关注

原创 阿里四年对工作和生活的感悟

随着时间经历,生活中常有一些新的感悟,下面对行业、工作、家庭和生活四个角度聊一聊,内容较长,可有选择的看

2022-04-07 23:03:07 617 2

原创 阿里工作第一年感悟

明天就开始在家办公,趁年的尾巴还没过完,回顾下去年经历吧。写到这里时,内心不禁沉重起来,来到新公司这一年,付出的心力、脑力、体力远超过去,过的很不容易,对自己来说最大的挑战不仅是工作本身,更是工作之外。就个人在业务部门的经历总体来说有这几个方面:工作内容过去在中小公司的团队业务范围很大,在所负责方向上有很多可以选择,担心最多的不是没项目做,而是人力有限只能挑最重要的做。来到阿里发现变化很大...

2020-02-02 22:41:07 1654

原创 浅谈对数据中台理解

背景​跟同学朋友聊天的时候会被问到什么是数据中台,这个概念从阿里提出并实践已经有4年左右,但这个概念今年是真正在互联网圈内流行,很多人都听说这个概念,但它到底是什么,有什么用,可以用在哪些场景却很模糊,这里聊聊个人的理解。数据中台是什么?数据中台是马云在参观supercell公司后提出的理念,即大中台小前台,大中台是通用基础技术能力,小前台是指更灵活多样的领域业务。通过强大的中台能力就可以赋...

2019-11-13 00:14:48 2687 2

原创 OLAP技术应用——位运算原理及应用

背景位图(bitmap)是一种基于bit位数组的数据结构,在大数据场景下对于存储和计算效率均有奇效。假如将10亿连续的用户ID存在int数组,需要10亿个32位int,占用存储3.72G左右,如果改用bit数组存储,每一个bit位表示一个用户ID,只需要10亿个bit,120M左右存储就够。下图为表示用户是否登入属性的一个bitmap数据结构,存储的是0和1,其中1表示登入过,0表示没登入,...

2019-09-01 00:26:09 698

原创 OLAP领域技术及应用

背景这几年因工作跟OLAP结缘,想借这个机会整理一下OLAP领域的技术、原理及应用,后续会就里面的点进行总结分析,一方面作为对个人思考的激励,另一方面分享出来让更多人对OLAP有更丰富的认识。OLAP这个题目太大,个人计划对部分流行、热点OLAP技术进行总结,同时会兼顾其他方向技术,让大家从横向和纵向对OLAP有一些不同认识。这里附上OLAP知识树大纲,后续会逐个击破。(完)因个人水平...

2019-08-25 18:55:38 1073

原创 三年工作经历总结(创业公司、中小公司和大厂经历)

前记回想三年前办完手续离校那天,怀着感恩拖着箱子离开魏公村的母校,对未来工作满怀憧憬,希望能为社会做点什么,为爱的人去努力;不知觉三年过去,三年工作经历,虽然说不上轰烈,但也有一些波澜想记录下来,希望若干年后再回过头来看,能有不同的感悟。三段工作经历第一段(陌陌)接offer毕业后第一份工作是陌陌科技,这第一份工作背后发生很多并不轻松的故事,在经历20多次笔试面试挂掉后,还是去北交参加校...

2019-07-05 16:16:15 6448 4

原创 从业务视角看开源数据存储技术选型

背景看图图分析总结

2019-05-04 18:45:11 430

原创 基于idea+spring-mvc+mybatis+tomcat搭建web应用

最近工作中需要开发一些web项目开始学习使用Spring、mybatis搭建web项目,因为这里面涉及的组件范围比较多,对于新手而言很容易混杂(本人就是),这里重新组织整理,本文除了介绍流程性的搭建步骤,还会提供一些原理思想方面的知识帮助理解搭建过程。1、spring...

2019-04-01 10:13:47 1183 2

原创 小白转行大数据的思考

背景通过大数据面试经验总结这篇文章遇到很多朋友,大多都在做一件事,开始学大数据了。大家各有不同的困惑,例如:过去专业跟计算机不沾边,觉得现有行业待遇太一般,希望换个前景好的行业,挑战太大,不确定能不能实现。过去是计算机专业,不满意之前工作,想转大数据方向,不知道怎么着手。本来就是大数据方向,但觉得当前公司发展潜力不足,个人发展也比较迷茫,希望跳槽换家公司,但担心能力不足。整理一下,就...

2019-03-07 23:23:33 6557 7

原创 30分钟概览OLAP——起源,概念及现状

本文主要面对OLAP入门同学,读者可以对OLAP起源、核心概念和当前发展趋势有一定理解。OLAP起源OLAP(Online analytical processing),即联机分析处理,主要用于支持企业决策管理分析。这个概念最初源于1962年Kenneth Iverson发表的名为“A Programming Language” (APL)的著作,它第一次提出了处理操作和多维变量的的数学表达式...

2019-01-12 22:36:59 54530 3

原创 2018-年中小记

不知觉已经2018年10月份,感觉没做什么,但又感觉过的并不那么轻松,很快就是现公司的last day,趁记忆还在就记录点什么。从7月到10月完成了人生中几件大事,分别是买房、结婚和换工作。连自己都没想到这几件事全部凑在一起,一边在创业公司忙碌加班,下班回来后准备婚礼的工作,还时不时要出去跑买房手续,不得不说真的很充实。这三个月,于我而言,最大的挑战应该算尝试推荐算法领域和负责团队。一边是没什...

2018-10-20 22:45:22 442 2

原创 feed流推荐系统设计

本文主要分享个人经历中关于推荐系统的应用理解,包括整体推荐系统架构设计、推荐后台服务设计。推荐系统架构设计 1.0推荐系统根据数据使用划分为在线和离线两部分。APP服务日志通过flume采集,然后传给离线和在线业务使用。离线数据主要用来离线训练模型,如gbdt、lr、xgboost等,在线数据特征用来让模型进行在线预测。如下图所示:在线部分实时数据从kafka获取到后直接进入spar...

2018-10-10 18:31:44 12666 7

原创 redis常见问题和使用规范

在工作中使用redis一段时间,遇到了一些常见的问题。1、全量查询元素使用 zrange key 0 -1 命令导致慢查询,这个命令直接查询全量元素,当元素个数过万会导致慢查询。2、key没有加超时时间因为redis是使用内存存储,而内存的容量一般很有限,对key不加expire时间可能导致内存使用很快占满。3、不同业务数据存在同一个dbredis默认有16个db(从db0到db15)...

2018-10-09 23:06:35 1608

原创 redis入门介绍及社交行业应用

背景最近工作中开始使用redis,本文就本人目前的理解对redis做一个概括性的介绍,并简单举例几个工作中的应用,最后总结redis使用中的规范,期望以比较全面的方式整理redis相关知识点给大家。redis介绍Redis(Remote Dictionary Server)可以理解是一个基于内存的key-value存储数据结构。“基于内存”表示所有数据直接存在内存中,拥有较快的IO速度...

2018-10-09 18:59:47 655

原创 大数据开发岗位面试经验总结(一线、二线,独角兽,外企,外国企业)

为什么想走?跟很多人也许不同,我不是觉得待遇不好,反而认为陌陌在互联网公司中的待遇算一股清流了:额外家属子女商业保险、总包差不多17薪、每年出国团建、加班少、工作氛围愉快,没有所谓大公司政治斗争,这些对于我毕业第一份工作已经非常满意。可我还是想离开,主要是觉得个人成长已经很缓慢,工作没有太大压力,而内心很想逃出舒适区,于是想离职的想法逐渐萌芽。整个面试差不多持续1个半月,从刚开始懵懵懂懂准...

2018-06-11 10:14:43 21769 27

原创 如何修改jar文件内容和反编译class文件

这里主要介绍两个方面:如何修改jar文件内容及如何反编译class文件。修改jar包很多时候我们拿到第三方的jar包,但是发现里面有内容需要修改或删除,可以采取如下几步:例如这里有一个文件test-1.0-SNAPSHOT.jar,我发现这里面有一个test.xml文件需要删除。1)解压jar包先解压到当前目录jar -xvf test-1.0-SNAPSHOT.jar...

2018-04-26 16:37:00 3829

原创 spark thriftserver进程fullgc导致卡死和计算getsplit时间很长问题

背景参考饿了么经验:https://zhuanlan.zhihu.com/p/28574213饿了么经验中谈到:“hive.exec.orc.split.strategy为ETL”,但是这样可能导致spark thriftserver的内存压力很大,面对大作业会导致full gc从而进程卡死或退出。原因先看看split的strategy类别,它有BI,ETL和HYBRID三种,...

2018-04-09 18:54:55 2457 1

原创 Spark SQL with Alluxio 环境搭建

背景这里搭建使用yarn的node label特性隔离出测试集群环境,使用Spark Thriftserver提供adhoc 查询服务,查alluxio scheme的表对用户来说是透明的。环境配置部分总体上来说,配置依据官网 https://www.alluxio.org/docs/1.6/en/Running-Spark-on-Alluxio.html和 https://w...

2018-03-22 19:08:15 1146

原创 Alluxio 1.6.1 与Spark SQL结合使用踩坑总结

1、 扫表问题表不存在hdfs,但在元数据中java.lang.RuntimeException: serious problem at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo(OrcInputFormat.java:1021) at org.apache.ha...

2018-03-22 17:50:47 1468

原创 Elasticsearch 6.2 集群搭建问题小记

搭了了一个单机的ELK,基本没有太多配置就好了,没什么坑,然后看ES有集群模式,然后尝试搭建一个集群模式,发有几个需要注意的地方。首先集群配置ES参数含义参考https://www.jianshu.com/p/149a8da90bbc,集群模式搭建参考http://blog.csdn.net/napoay/article/details/52202877,然后启动ES就碰到下面小坑。E...

2018-03-12 19:19:02 4436

原创 Leveraging Alluxio with Spark SQL to Speed Up Ad-hoc Analysis

BackgroundAt present, hundreds of TB of data is processed in Momo bigdata cluster every day. However, most of the data will be read/write through disk repeatedly, which is ineffective. In order to s...

2018-01-23 18:46:16 1106

转载 Spark内存泄露问题分析追查

本文分析思路非常清晰,这里转载作为学习分析spark内存泄露问题的案例。(原文见文章末尾参考)[Abstract]I recently encountered an OOM error in a PageRank application (org.apache.spark.examples.SparkPageRank). After profiling the application, I

2018-01-11 10:15:33 2994

原创 Spark与Hive的Beeline运行机制

因为业务中主要使用Spark Thriftserver作为adhoc查询服务,而Spark原生是不支持SQLStdBasedAuthorization,所以需要调研这方面源码,本文将这方面的理解分享给大家,如有错误欢迎指出。Spark的beeline在很多地方直接沿袭hive的beeline,当然Spark也有很多适应性的本地化改造,下面从数据流的角度来讲解。 (注:Spark源码主要依据spar

2018-01-03 19:39:58 6011

原创 小结2017,小记2018

时间总是很快,2017年初定的目标,脑袋闪一下就过了。从2016年毕业已经工作快2年,细数去年一年的经历,有成长也有很多不足。下面开始流水账:1)工作方面2017年说要读3本技术书的,结果看杂书去了(苦脸),一本关于佛教,一本关于社会边缘人群的心理故事。哎,说好的看技术呢。关于开源贡献,因为做的是大数据平台工作,每天接触的都是apache牌的小动物,本人独立负责的是Spark,Ze

2018-01-02 22:54:04 600 4

原创 使用jmxtrans监控Spark JVM信息到grafana显示

1、下载jmxtransjmxtrans作为agent部署在需要采集数据的节点上,主要用于数据采集和发送.2、修改{jmxtrans}/conf下配置文件配置文件内容需要json格式,名字可自取。{ "servers" : [{ "port" : "8085", // 采集j...

2017-12-27 18:55:08 2896

原创 Spark ERROR: org.apache.spark.shuffle.FetchFailedException 问题追查

Spark ERROR: org.apache.spark.shuffle.FetchFailedException 问题追查

2017-12-11 11:59:48 9388

原创 Spark作业提交执行流程源码图

环境:代码图基于Spark 2.2.1 工具:OmniGraffe最近想完整梳理一下作业提交流程,通过自己的理解画图来学习Spark。1) 首先了解作业提交后RDD的流动情况如上图,以RDD构建的DAG给DAGScheduler进行stage划分,DAGScheduler负责stage层面的提交和失败处理。然后提交taskSet给TaskScheduler进行处理,TaskScheduler

2017-12-06 17:22:11 3625

原创 spark 机制原理自问自答

本文主要收录spark学习和工作中思考的问题。1、当Spark task failed,什么情况下task重计算,什么情况下stage重计算?答:如果task失败是因为shuffle output files lost,则DAGScheduler会对stage重提交计算;如果不是因为shuffle file lost,则选择resubmit task。这是因为shuffle output file

2017-11-26 13:24:23 3063

原创 spark shuffle 发展变迁及源码实现

本文主要分享关于spark shuffle优秀文章汇总,通过这几篇文章,能由浅入深学习spark shuffle过程。MR与Spark shuffle过程区别 MR与这里写链接内容Spark shuffle区别发展历程了解: spark shuffle从0.X到2.X的发展历程shuffle write和shuffle read的理论解读: spark shuffle 过程理论解读根据shuf

2017-11-25 22:00:38 1100

原创 为什么spark 1.6之后使用Netty来替代Akka通信库?

Akka的底层是使用Netty,尽管Akka能简化消息通信的使用,但使用Akka要求message发送端和接收端有相同的版本(例如spark streaming的receiver接收上游消息要求上游的actor有相同的Akka版本)由于spark对Akka的使用主要限于RPC和单线程event loop,所以为了避免Akka造成的版本问题,给用户的应用更大灵活性,决定使用更通用的RPC实现,也就是

2017-11-17 11:03:00 3614

原创 spark streaming 有趣问题汇总

1. 关于spark.streaming.concurrent.job参数的问题1)当参数环境:6个executor,kafka topic 有3个partition,spark.streaming.concurrent.job=1 时 则:只有3个exevutor有task在跑,这个比较好理解,一个executor处理一个分区数据2)当参数环境:6个executor,kafka top

2017-11-14 12:13:06 1734

原创 Mac使用IDEA搭建kafka开发环境

kafka是gradle项目,故需要先下载gradle包,在引入IDEA中。 步骤: 1、下载gradle brew update && brew isntall gradle 注: kafka可以在官网直接下载source版2、在IDEA中选择Use default gradle wrapper ,不要选择Use local gradle distribution

2017-11-03 16:46:11 3012

原创 Spark streaming 执行流程源码图

该图主要是笔者准备硕士毕业论文时基于Spark 1.5 所画,新版本Spark 2.X应该有所变化,但大体流程应该相似,可作为读者学习整体框架流程参考。

2017-11-02 18:28:24 1246

原创 spark checkpoint机制简述

本文主要简述spark checkpoint机制,快速把握checkpoint机制的来龙去脉,关于源码方面可以看参考文章。1、Spark core的checkpoint1)为什么checkpoint?分布式计算中难免因为网络,存储等原因出现计算失败的情况,RDD中的lineage信息常用来在task失败后重计算使用,为了防止计算失败后从头开始计算造成的大量开销,RDD会chec...

2017-11-02 16:56:28 4317

原创 Spark 序列化问题全解

在Spark应用开发中,很容易出现如下报错:org.apache.spark.SparkException: Task not serializable at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:304) at org.apache.spark.util.ClosureCl

2017-11-01 10:56:42 14961

原创 Spark streaming 作业需要注意的问题

根据实践,本文不断更新中。1、java.lang.OutOfMemoryError: GC overhead limit exceeded 分析:因为streaming是长进程服务,如果当初分配堆太小,运行很长时间后会出现GC overhead limit exceeded问题,查看driver进程gc信息发现老年代使用率达到99.6%,故处理方法是提高driver堆大小,同时提高老年代大小。

2017-08-08 17:21:13 1041

原创 基于Spark streaming的SQL服务实时自动化运维

设计背景spark thriftserver目前线上有10个实例,以往通过监控端口存活的方式很不准确,当出故障时进程不退出情况很多,而手动去查看日志再重启处理服务这个过程很低效,故设计利用Spark streaming去实时获取spark thriftserver的log,通过log判断服务是否停止服务,从而进行对应的自动重启处理,该方案能达到秒级 7 * 24不间断维护服务。设计架构在需要检测的

2017-07-18 16:38:28 2195

原创 dr.elephant 环境搭建及使用详解

Dr.elephant是一款对Hadoop和Spark任务进行性能监控和调优的工具,它由LinkedIn的团队于2016年开源,开源之前已经在公司运行使用2年。目前使用Dr.elephant的公司国内的有Didi,国外的有airbnb、inmobi、hulu、FourSquare和PayPal等等。 项目地址:https://github.com/linkedin/dr-elephant笔者所在公

2017-06-23 12:27:56 10137 7

原创 Spark性能调优2-总结分享

1、Spark调优背景目前Zeppelin已经上线一段时间,Spark作为底层SQL执行引擎,需要进行整体性能调优,来提高SQL查询效率。本文主要给出调优的结论,因为涉及参数很多,故没有很细粒度调优,但整体调优方向是可以得出的。环境:服务器600+,spark 2.0.2,hadoop 2.6.02、调优结果调优随机选取线上9条SQL,表横轴是调优测试项目,测试在集群空闲情况下...

2017-05-01 09:43:29 7267

原创 Spark性能调优1-测试记录

1、调优背景 Spark作为Zeppelin的SQL底层执行引擎,通过Thriftserver处理jdbc连接,为提高硬件资源利用率、IO带宽和内存利用率,特针对性的进行Spark性能调优,目的是提高多租户环境下Spark SQL执行效率。2、整体调优结果表2-1 整体调优结果 sql NO. MR sp-1(s)...

2017-05-01 09:03:09 4913 2

空空如也

空空如也

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

TA关注的人

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