自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

劫无忧

想要钓到鱼,就需要了解鱼的心理

  • 博客(101)
  • 资源 (4)
  • 收藏
  • 关注

原创 一文读懂OLAP常用优化技术

OLAP在推动企业数字化转型、提高决策分析效率等场景占了举足轻重的作用。市场上数仓选型非常多,升级后往往也越来越像。因为OLAP底层技术有很多共通之处,本文将揭秘其中一些常用的技术手段。期望能帮助读者更好地进行技术选型和数仓设计。

2024-03-25 19:04:40 896

原创 Infoq:腾讯内容千亿级实时计算和规则引擎实践优化之路

在内容生态会围绕海量数据产生大量实时信号场景,本文将介绍千亿级实时计算优化思路、统一的规则引擎触发系统、实时高可用保障手段,带读者深入浅出理解实时体系的建设。

2024-03-21 17:29:37 1026 1

原创 资源优化的道与术

资源优化对应的是技术生产力的提升,非常考验技术人员的功底和OWNER意识,同时能帮助经营者度过寒冷的冬天,实现基业常青。本文将描述所思所考,一家之言,供读者参考

2022-09-19 13:23:58 288 1

原创 一种基于实时分位数计算的系统及方法

性能分析等场景对实时分位数有强烈诉求。在计算累计时长时,可以将不同时间段的时长简单相加,而分位数却无法先计算不同维度下的分位值,然后对其直接聚合,该特性对实时计算带来了较大挑战。我们基于TDigest数据结构,利用Redis和Doris等高性能存储,预先计算所有可能查询的分位值指标,既可以快速计算指标,同时可以保障查询效率。该系统已经对百度内内核性能、网络性能等业务场景进行输出,并能有效满足业务高时效的分析需求。————————————————版权声明:本文为CSDN博主「百度Geek说」的原创文章,遵

2022-02-28 20:48:28 461

原创 打点系统优化HTTP请求

为更好的理解用户,互联网公司会将用户的行为收集上来进行分析,打点系统应运而生。但互联网公司的用户数都比较多,而且每个用户的行为也很多,这样服务器收到的打点请求就非常多,QPS非常高,对web服务器的要求也会非常之高。为提升整个打点系统的性能,可以采用以下几个方式。减少打点的次数常规的方案是将多个行为事件合并后上传,以减少单个客户端的上报次数,这会导致一个事件触发后,事件没有及时上传,从...

2018-03-15 00:06:35 3765

原创 KYLIN生产环境配置

为提升KYLIN存储和查询性能,需要对默认配置进行修改,本文将描述常用的环境配置kylin.propertieskylin.cube.aggrgroup.is-mandatory-only-valid=truekylin.query.timeout-seconds=60kylin.job.allow-empty-segment=false参考生产环境推荐配置

2017-11-26 09:19:23 1494

原创 centos上安装python2.7.13

背景centos默认的python版本是2.6.6,而目前很多软件需要2.7以上才能使用,因为python 2.6.6是centos的核心库,不能直接替换,社区有个解决方法:安装pyenv安装git clone https://github.com/pyenv/pyenv.git ~/.pyenv##修改.bashrc echo 'export PYENV_ROOT="$HOME/.pyenv"'

2017-09-05 18:57:50 1139 1

原创 可视化前端

为了查询数据,我们需要开发相应的页面,不仅要写前端,还要写查询的逻辑。现在有很多开源工具可供选择,以省去自己开发前端的工作。我们只需要将数据导入存储系统,如MySQL、Druid,通过这些开源工具,可以快速的配置dashboardmetabase grafana saiku superset

2017-07-14 14:19:28 3105

原创 百亿级日志处理稳定性保证的一些技巧

为了给各个业务出报表,我们每天会处理几百亿条原始日志。例行任务用MR/Spark程序编写,为了保证各个业务线在上班前正常看到数据,对例行任务的稳定性提出了要求。由于我们会依赖很多中间层数据,集群偶尔异常、数据存在倾斜等问题,这对我们的例行任务带来了很大的挑战。针对遇到的问题,采用“兵来将挡,水来土掩”的方案,各个击破常见异常:依赖未生成当天任务依赖的数据,部分是前一天的数据,部分是当天其他任务的生成

2017-06-22 18:51:41 919

原创 storm开发tips

storm和MapReduce框架是类似的,但在生成数据时,往往是增量更新。因为Trident的出现,开发一套实时数据程序非常方便。本人将介绍小米统计storm开发过程中使用的一些优化点。acker数据设置适中为了保证数据流被正确的消耗,storm通过acker来跟踪各个数据流,并维持各个数据流的应答。acker设置过小,对数据响应会处理不过来。acker设置过大,会消耗比较多的资源。根据需要可以设

2017-01-24 10:11:57 660

原创 实时数据

资料The world beyond batch: Streaming 101 The world beyond batch: Streaming 102

2017-01-13 17:56:04 979

原创 metabase单点解决

metabase默认使用H2作为存储引擎,存在单点问题。为解决这一潜在风险,可以使用mysql等数据库作为存储引擎。metabase启动脚本#!/bin/bashLOG_FILE=/home/work/log/metabase/metabase_$(date '+%Y_%m_%d_%H_%M_%S').logexport MB_DB_TYPE=mysqlexport MB_DB_DBNAME=

2016-12-02 09:22:10 3014

原创 scala代码格式化

开发工具intellij插件Scala、Scalafmt 配置文件( ~/.scalafmt ):--style defaultWithAlign --maxColumn 120--continuationIndentCallSite 2--continuationIndentDefnSite 2格式化快捷键Ctrl + Shift + L

2016-11-25 18:00:39 5849 1

翻译 Java GC参数调优

对于正常环境的服务来说-server -Xms24G -Xmx24G -XX:PermSize=512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70对于备份服务器-server -Xms4G -Xmx4G

2016-11-17 18:00:42 2779

翻译 cratedb已知的最大集群

为了特定的目标,已经有集群部署了数百台节点。典型的生产环境的节点可以达到100台https://crate.io/faq/what-is-the-maximum-known-cluster-size-in-production/

2016-11-15 19:23:44 4074

原创 代码中的减法

“简单就是美”,这句谚语在软件领域也是非常适用的。比如MapReduce框架,非常简单的逻辑,采用分而治之的思想,引领了大数据开源社区的发展。也有经验丰富的程序告诉我们“负责人的工程师在离职前会删代码”也佐证了这一点。他们离职前往往会删除一些冗余没用的代码。 接手小米流量最大的一块业务后,随着公司对数据的需求越来越大,流量也在不断的增长,后端的性能也受到了极大地挑战,经常出现实时计算以及例

2016-10-18 20:31:20 2168

原创 Spark学习资料

视频DataBricks出品的Spark入门视频(强推): https://www.edx.org/course/introduction-spark-uc-berkeleyx-cs105x https://www.edx.org/course/big-data-analysis-spark-uc-berkeleyx-cs110x

2016-09-20 20:28:50 1143

原创 Spark编程技巧

Spark是一种强烈依赖内存的计算框架,结合其运行流程,可以有很多可以调优的地方用reduceByKey 替代groupByKey这两个转换都有shuffle过程发生,且都类似map reduce,但是reduceByKey会在map阶段会对相同的key进行聚合,极大的减少了map产生的数据量,进而减少了shuffle的数据量,提高了程序的执行效率 避免shuffleshuffle类算子会将多

2016-09-20 20:00:20 1195

原创 spark必须知道的几个观点

executor对应container内存executor对应的内存由两部分组成: –exuecutor-memory控制了堆的大小 –spark.yarn.executor.memoryOverhead 控制堆外内存,默认值(384MB, 0.07 * spark.executor.memory),该值一般偏小,需要调大 日志凡是cluster模式启动的作业,日志都没有打印在本地。因为mai

2016-09-19 18:57:09 916

原创 spark运行方式及其常用参数

本文将介绍spark的几种运行方式,及常用的参数yarn cluster模式例行任务一般会采用这种方式运行指定固定的executor数作业常用的参数都在其中指定了,后面的运行脚本会省略spark-submit \ --master yarn-cluster \ --deploy-mode cluster \ #集群运行模式 --name

2016-09-19 18:27:47 2008

原创 实时数据系统中几种常用的验证方法

很多场景中,服务端需要对用户的请求进行验证,比如QQ登录模块、统计工具的数据收集模块、品牌广告对应id的match等。针对不同的场景,可以有不同的验证方法,本文将介绍工程中常用的几种。直接查询数据库进行验证方法1:针对每次请求的key,从数据库中查询出key对应的秘钥,然后和请求的秘钥进行验证。 场景1:适合QPS非常低的场景,比如内网的权限认证系统 方法2:将待匹配的key放入内存数据库如re

2016-09-10 22:44:15 5392

原创 byte[]做缓存key导致JVM异常

现象产品的query模块运行一段时间后,就不能正常提供服务,严重影响了服务的可用性追查查看日志,发现读取Hbase时发生了OutOfMemory现象。 首先获取JVM的进程号,为16796 $jstat -gcutil 16796 发现频繁的发生full gc,而full gc又没有将内存清理掉 $jmap -histo 16796 查看进程中的对象,发现包com.fasterxml.

2016-08-20 11:59:04 771

原创 常用shell

如何使用hadoop的配置文件java -cp xxxxxx:yyyy:hadoop --cluster c3prc-hadoop classpath

2016-06-23 14:13:48 786

原创 小米工作的一些感悟

在小米待的时间有一年多了,跨过两个团队,从基础计算组,到数据广告组,参与并主导过几个项目。学习并感悟了以前在校园里不曾接触到的东西。   不同人来公司的目的是不同的,有的是打工的,有的是老板。手握大把期权的人,可以非常努力的奋战,因为公司的业绩直接决定了未来股票的价格,和自身的利益切身相关。打工者中,有些人是来学技术学团队运营模式的,这对将来跳槽、创业都是很有帮助的   小米的组织架构中,多个部

2016-06-05 21:30:16 4511

原创 bloom filter

场景在做广告定向投放时,我们选出了一批用户,用设备ID来标识他们。如果我们定向出了1000万个用户。用户获取服务时,我们需要判断是否在该集合中,如果在的话,将广告一起返回。如何判断呢?存入数据库中,比如redis。优点是实现简单,缺点是内存占用大使用bloom filter算法。优点是使用较小的内存空间,就可以判断一个给定的值是否在一个大的集合中,缺点是有一定的误判率,可以将误判率优化到0.00

2016-04-28 21:41:06 545

原创 maven依赖某工程确定的版本

背景maven项目中,可能存在依赖的多个工程中同时依赖某个工程,而该工程被依赖的版本却不一样。比如工程demo依赖工程A,工程B。工程A和工程B依赖的thrift的版本如下A <-- org.apache.thrift:thrift:[0.6.0]B <-- org.apache.thrift:thrift:[0.7.0]demo工程运行的时候,加载的thrift版本是不确定的,这可能导致程序运行

2016-04-08 19:45:00 1329

原创 Android常用概念

网络类型WIFI:走的路由通道 GPRS(2.5G):以前2G手机所使用的网络制式 edge(2.75G):改良版的2G网络,介于2G和3G之间 3G:第3代移动网络 4G (或者 LTE/WiMax 2) :第4带移动网络

2016-03-18 11:23:28 470

原创 python制作报表

本文将介绍如何通过python制作报表

2016-02-28 17:27:50 8117

原创 Reduce内存不足的解决方案

MapReduce作业运行时,任务可能会失败,报out of memory错误。这个时候可以采用以下几个过程调优简单粗暴: 加大内存哪个阶段报错就增加那个阶段的内存。以reduce阶段为例,map阶段的类似mapreduce.reduce.memory.mb=5120 //设置reduce container的内存大小mapreduce.reduce.java.opts=-Xms2000m -

2016-01-27 10:00:06 13093

原创 pandas行转列

需求原始文件Year Country medal no of medals1896 Afghanistan Gold 51896 Afghanistan Silver 41896 Afghanistan Bronze 31896 Algeria Gold 11896 Algeria Silver 21896 Algeria

2015-12-01 21:02:41 10476

原创 修改Hadoop源码的搜索技巧

以前在小米基础架构组实习时,修改过部分Hadoop的源码。其中一个很有用的技巧是根据要查找的点,搜索源码中所有和该点有关的代码 1. find . -name “*.java” | xargs grep main.py 搜索对象是java源文件, 搜索的关键字为main.py,这样会搜索出main.py在所有java代码中的位置 2. egrep main.py -r -I *从所有的非二

2015-11-23 22:05:04 1233

原创 git技巧

安装后第一步$ git config --global user.name "Some One"$ git config --global user.email "[email protected]"从master分支获取某个文件$git checkout master session/service/DataAnalysis.py$git add session/service/Data

2015-08-28 10:15:38 928

原创 如何挑选老师

看老师以前的学生在做什么我做一个选择的时候,一定找最稳妥的路径。我认为在老师的学生中只能排在中等水平,这样,只要一半以上师兄师姐的出路好的话,我的出路也不会很差教师主页如果老师不在主页上挂自己学生的出处,不要选看文章的署名如果老师的文章都是第一作者,那么你很难做第一作者,你认为他会把第一作者的名额给你麽多问问其他可能的师兄弟我们做决策时,最需要的就是信息。如果关于老师的信息越多,那么你就越能做出好的

2015-08-15 20:43:46 1071

原创 MySQL常用技巧

导出到测试环境大公司常有生产环境和测试环境,测试环境没法实时同步生产环境的数据,这就需要我们手工进行同步了。备份到文件我们不需要将生产环境的数据全量导出到测试环境,只需要满足部分条件的数据,如最近1个星期的数据,最近的100条数据mysqldump -u用户名 -p密码 -h生产环境节点 数据库 数据表 --where "查询语句" --skip-lock-tables --default-ch

2015-08-15 10:48:31 818

原创 工作注意事项

穿着要整洁、干净碰到朋友,要打招呼关门的时候,不要让其发出“砰”的声音听别人说话的时候,一定要用心听,必要的时候表示肯定别人请求的时候,如果有事情做,需要礼貌的拒绝。“我正在做这件事,忙完了再看看,可以么?”向身边的人学习

2015-08-06 09:51:43 604

原创 git merge vs git rebase

背景开发过程,可能遇到这种情况 git merge效果git checkout featuregit merge mastergit rebase效果git checkout featuregit rebase master参考https://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview

2015-07-28 11:08:57 883

原创 移动广告名词

CPC(Cost-per-click)对于广告主来说,就是每次点击(广告)的(付给网站主的)成本;对于媒体(或网站主)来说,就是用户每次点击(广告)(向广告主收取)的费用。可以用公式表示为:CPC = Cost / ClickCPD(Cost per download)为了更好地适应移动端广告的特点,应用商店增加了三个新的指标: SV (Space View):表示产品线预留的广告位CPM(Cos

2015-07-27 17:53:40 1245

原创 Zookeeper常见问题整理

本文将介绍ZK框架中一些比较常见的问题

2015-05-12 21:23:38 8794 2

原创 《情商》摘抄

万达董事长要求每一个员工读《情商》,这是一本关于情商的教程、集大成者,读完这本书,将让你对情商有一个基本的了解,并学会化解一些冲突,提高个人的魅力以及竞争力……

2015-05-09 15:27:55 1610

原创 A Note on Distributed Computing

分布式计算笔记

2015-04-24 16:27:03 1675

2014年阿里巴巴实习生笔试题

文档是2014年阿里巴巴实习生笔试题。各个岗位的基础题是一样的,只是附加题不一样

2014-03-31

Ubuntu12.04菜鸟使用手册合集

文章中介绍了Ubuntu中常见用法,包括常用命令、常用软件等,并配有大量的图片,写的浅显易懂,适合初级着使用

2014-01-08

Notepad++使用手册

Notepad++是一款很好用的代码编辑器,支持C、C++、Java。文档介绍了其常用的操作,根据他,你可以快速的编写代码

2013-12-05

QT局域网聊天工具

  有段时间实验室不能上网,于是我就萌生了这样的想法,做个简单的界面可以聊天的工具,能够相互发送消息即可,而且因为有人用linux系统,还需要它能够跨平台应用,这样才能达到大家都能够较好交流的效果。

2013-06-07

空空如也

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

TA关注的人

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