自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张包峰的博客

Distributed Computing

原创 阿里云数据库团队招聘

我们是全球领先的云数据库技术团队,这里有极具挑战性的岗位期待你的加盟: 阿里云-数据库技术组-分布式数据库研发工程师 岗位描述: 1.负责云数据库分布式计算引擎或者列存索引等核心模块的研发工作 2.负责提升系统的易用性、稳定性,提升资源利用率和性能。 岗位要求: 1.在分布式计算...

2016-10-18 11:23:57 2686 0

原创 回过头看这一年多做的事

刚才把之前写的大半年来做的计算这点事看了一遍,还是蛮感慨的。从那时到现在,又半年过去了。当时BH这层runtime正在已混布的方式与另一个集团内的OLAP系统为某项目落地而集成,具体就不谈了。截止目前,这种”狼狈”的组成形式终于比较令人满意地磕磕碰碰着落地了。年后,主要磨了系统的稳定性,在真实数据...

2016-08-03 10:44:42 1974 0

原创 Flink SQL 1.0+ UT Cases

Flink SQL UT Case截止当前flink master分支最新的代码(未完成的1.1版本),Flink Table项目的UT,batch sql(即直接调用.sql())的sql, logicalPlan, physicalPlan整理。/** Filter **/SELECT * F...

2016-07-11 16:13:18 2047 0

原创 Flink StreamSQL简介

Flink Stream SQLOverviewblog https://flink.apache.org/news/2016/05/24/stream-sql.html提到目前Table API的问题,batch和stream的API各自能支持的query不一样。 However, the ...

2016-07-01 17:28:03 11523 0

原创 Flink sql的实现

SQL Impl in Flink跟了下Flink Table里sql的实现,flink sql的实现比较简单,一句话概述就是:借助Apache Calcite做了sql解析、逻辑树生成的过程,得到Calcite的RelRoot类,生成flink的Table,Table里的执行计划会转化成Data...

2016-06-08 16:17:33 10495 0

原创 DAG vs. MPP

DAG vs. MPPNative DesignMPP每个Segment高度对称(symmetric),狭义MPP storage各个Segment自己管理,自己备份,涉及某数据相关的query必定会落到某个Segment上,有concurrency和straggler的问题存在。MPP天然有很优...

2016-05-30 15:03:14 9231 0

原创 Inspiration from Apache HAWQ

AspectsInterconnectUDP(User Datagram Protocol) , additional packet verification, the reliability is equivalent to TCP(Transmission Control Protocol),...

2016-05-26 15:43:31 5455 0

原创 Flink Runtime 1.0 Notes: Task Execution(1)

AboutI will try to give the mainline of how does Flink task works.Main classes and methods are mentioned.Format explaination this is Class this is ...

2016-05-18 15:53:00 2986 0

原创 Flink Runtime 1.0 Notes: Plan 2 Task

AboutI will try to give the mainline of how does Flink buildint the logical plan 2 physical plan 2 task. Main classes and methods are mentioned.Form...

2016-05-17 11:29:26 2949 0

原创 Gremlin实现分析

先把梳理逻辑图放着,有空分析 :)戳大 http://img.blog.csdn.net/20160412144546178Gremlin文档 http://tinkerpop.apache.org/docs/3.1.1-incubating/reference

2016-04-06 12:50:59 5003 0

原创 GraphX迭代的瓶颈与分析

背景测试了一个case,用GraphX 1.6跑标准的LPA算法,使用的是内置的LabelPropagation算法包。数据集是Google web graph,(忽略可能这个数据集不是很合适),资源情况是standalone模式,18个worker,每个worker起一个executor,50g...

2016-02-03 16:07:22 5462 2

原创 搬家与流式处理

这两天搬家,身体很劳累,脑子算是没闲着。在把货物搬上楼的过程中,我琢磨了个自认为很高效的方法,本质和流式处理很像。需求与尝试 一车货物,零零散散打了些包,停在楼下,需要搬到五楼去。劳力有三人。一开始的方案是每个人自己拿几样东西,自管自上楼去,再下楼来拿下一趟。搬了几趟后,有以下一些问题: 1....

2016-01-31 21:17:53 1846 0

原创 大半年来做的计算这点事

写一篇随笔,谈谈大半年来做的一些事情。简单地说,从去年三月份到现在,一直在做一个计算框架:BH,一个core。我对自己的要求是,掌握Spark(和Flink),然后忘了它。所以层面core基本和spark core的层次是一致的,核心是pipeline和DAG。开始做这件事的时候,Flink当时的...

2016-01-24 21:41:23 4062 2

原创 GraphX 实现K-Core

背景graphx实现k-core比较简单,参考淘宝技术部之前的文章,已经给出了一个代码片段,基本上改改就可以定制自己的需求了。codeimport org.apache.spark._ import org.apache.spark.graphx._ import org.apache.spark...

2015-08-06 17:02:28 3769 1

原创 GraphX 图数据建模和存储

背景简单分析一下GraphX是怎么为图数据建模和存储的。入口可以看GraphLoader的函数,def edgeListFile( sc: SparkContext, path: String, canonicalOrientation: Boolean = f...

2015-08-05 10:47:52 5845 2

原创 GraphX实现N度关系

背景本文给出了一个简单的计算图中每个点的N度关系点集合的算法,也就是N跳关系。之前通过官方文档学习和理解了一下GraphX的计算接口。N度关系实现思路: 1. 准备好边数据集,即”1 3”, “4, 1” 这样的点关系。使用GraphLoader 的接口load成Graph 2. 初始化每...

2015-08-04 12:19:23 3918 3

原创 Zookeeper ipv6的坑

问题zookeeper抛这样的错误: [main-SendThread(localhost:2000)] ERROR org.apache.zookeeper.ClientCnxn - Unable to open socket to localhost/0:0:0:0:0:0:0:1:2181...

2015-05-25 13:57:01 5909 0

原创 Apache Zeppelin安装及介绍

背景Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括spark, hive, tajo等,原生支持scala, java, shell, markdown等。它的整体展现和使用形式和Databricks...

2015-05-23 15:46:21 14266 1

原创 Marathon on OS X初体验

本文描述了在OS X上安装使用Marathon的过程。Marathon简介Marathon是Mesosphere公司为Mesos生态圈打造的一个轻量级、扩展性很强的调度long-running service的调度框架。支持RESTful api来创建和管理app,自动为app做容错迁移,凡是能用...

2015-05-11 23:16:55 3390 0

原创 Install Docker on Mac OS X

小白来山寨一把官网文档。Docker不能直接跑在OS X上,需要先安装下VirtualBox和boot2docker。boot2docker会帮我们启动vm,启动docker,并且本身提供一些管理命令。 boot2docker也很轻量级,完全在内存里启动一个VM,只占24M大小,几秒内就可以启动...

2015-05-09 15:11:18 3427 0

原创 Grpc-java MacOS编译

系统版本: Mac OS X 10 本文简述grpc-java的编译过程,在官方文档的步骤里,增加两个包的安装依赖。Build# download source code git clone https://github.com/grpc/grpc-java.git cd grpc-java# ...

2015-05-03 17:02:45 3559 0

原创 Scala Learning(4): Currying柯里化的推演

本文展示加法和乘法的两个例子,最后使用MapReduce的思想把两者统一成一个带Currying的表达形式。从high-order functions推演到Currying原始方法def sum(f: Int => Int, a: Int, b: Int): Int = if (a &g...

2015-04-30 23:33:15 1563 0

原创 Scala Learning(3): Tail Recursion定义

关于尾递归 ,使用Scala的两个例子展示尾递归的定义和简单实现。例子比较求最大公约数的函数def gcd(a: Int, b: Int): Int = if (b == 0) a else gcd(b, a % b)计算的展开是尾递归的,gcd(14, 21) -> if (21 ==...

2015-04-29 22:58:13 2084 0

原创 Scala Learning(2): map, flatMap, filter与For表达式

本文叙述Collections里最常见的三种操作map, flatMap, filter,与For表达式的关系。List对三种方法的实现map在List的实现:abstract class List[+T] { def map[U](f: T => U): List[U] = this ...

2015-04-26 20:12:31 4130 0

原创 Scala Learning(1): 使用Pattern Matching表达JSON

这是一个挺能展现Scala编程方式的例子,对正在熟悉Scala这门语言的开发者很有帮助。Representing JSON用Scala来表达JSON(Java Script Object Notation)结构,{ "firstname" : "John"...

2015-04-26 19:38:09 1918 0

原创 RDD api整理

RDD[T]Transformations rdd api 备注 persist/cache map(f: T => U) keyBy(f: T => K) 特殊的map,提key flatMap(f: T => Iterable[U]) ...

2015-04-07 16:51:09 8470 4

原创 Spark Core Runtime分析: DAGScheduler, TaskScheduler, SchedulerBackend

Spark Runtime里的主要层次分析,梳理Runtime组件和执行流程,DAGSchedulerJob=多个stage,Stage=多个同种task, Task分为ShuffleMapTask和ResultTask,Dependency分为ShuffleDependency和NarrowDe...

2015-03-20 18:28:36 6403 0

原创 Spark Streaming原理简析

执行流程数据的接收StreamingContext实例化的时候,需要传入一个SparkContext,然后指定要连接的spark matser url,即连接一个spark engine,用于获得executor。实例化之后,首先,要指定一个接收数据的方式,如val lines = ssc.soc...

2015-03-19 15:23:05 4565 0

原创 Spark on Yarn: Cluster模式Scheduler实现

背景 主体逻辑 具体实现 AM YarnAllocator Executor背景Spark on Yarn分yarn-cluster和yarn-client两种模式。 本文通过Cluster模式的TaskScheduler实现入手,梳理一遍spark on yarn的大致实现逻辑。 前提我对...

2015-02-15 17:52:43 3635 0

原创 Spark on Mesos: 粗粒度与细粒度实现分析 (markdown排版)

背景 Mesos粗粒度 Mesos细粒度背景顺着昨天spark standalone实现那篇文章继续扯淡,看看Mesos Scheduler的两种实现的异同。 对我来说,回过头再仔细看Spark在这一层的实现,思路又清晰了许多。Mesos粗粒度CoarseMesosSchedulerBacken...

2015-02-15 15:20:27 2592 0

原创 Spark on Mesos: 粗粒度与细粒度实现分析

顺着昨天spark standalone实现那篇文章继续扯淡,看看Mesos Scheduler的两种实现的异同。 对我来说,回过头再仔细看Spark在这一层的实现,思路又清晰了许多。

2015-02-13 16:05:03 3489 1

原创 梳理对Spark Standalone的理解

spark在这一块的设计是优秀的。图中,app内的SchedulerBackend是可以针对不同资源管理系统实现的,包括没有画出来的ExecutorBackend。这俩兄弟是典型的面向资源的层次上的抽象。另一方面,app内的TaskScheduler是与Task的分配和执行、管理相关的,这部分与下...

2015-02-12 15:39:00 7156 0

原创 关于DIMMQ: Discardable In-Memory Materialized Query

最近在看CBO在不同系统里的实现方式,比如flink里在编译时对plan的CBO优化,以及运行时的CBO:Hive、Apache Calcite(即Optiq)的一些内容。 今天第一次看到DIMMQ的概念,聊聊我的几点看法。 DIMMQ的全称是Discardable In-Memory Mate...

2015-02-06 13:26:30 1641 0

原创 Spark的任务调度

本文尝试从源码层面梳理Spark在任务调度与资源分配上的做法。

2014-12-11 15:03:15 14623 6

原创 回顾15个月的工作经历

我又来回顾我的经历了。 我把我至今的工作经历分为如下两个阶段,分别对应在百度和现在在阿里这两个时间段。 第一个阶段,学习工具 自打毕业给自己定下往分布式这块发展后,我看到了许许多多的系统和工具,那些东西对当时的我来说是"不可理解其实质"的。所以,当时我说我对任何开源系统都...

2014-11-22 22:09:15 3529 1

原创 常见计算框架算子层对比

背景 前段时间在为内部自研的计算框架设计算子层,参考对比了一些开源的计算框架的算子层,本文做一个粗粒度的梳理。 下面这张图是我对计算框架抽象层次的一个拆分,具体可以参考上周日杭州Spark meetup上我做的Spark SQL分享 slides。

2014-09-05 09:05:05 4441 0

原创 论文摘抄 - Infobright

Infobright作为开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算等内容,本文是摘抄了infobright论文里最重要的设计点,KnowledgeGird是infobright设计上的核心。 brighthouse是一个面向列的数据仓库,在列存储和压缩数据...

2014-08-14 23:43:23 2092 0

原创 Vertica: 基于DBMS架构的列存储数据仓库

Vertica与传统数据库系统和其他列式数据仓库系统相比的话,在性能上有比较明显的优势,在设计上有一些异同,比较适合ad-hoc查询,OLAP类型的作业。总的来说,Vertica通过列存储减少了io开销,再加上高效的压缩手段,极大节省了磁盘空间,基于此Vertica采用多备份来保证高可用性,并且多...

2014-08-11 00:52:48 8740 3

原创 Spark SQL CLI 实现分析

本文主要介绍了Spark SQL里目前的CLI实现,代码之后肯定会有不少变动,所以我关注的是比较核心的逻辑。主要是对比了Hive CLI的实现方式,比较Spark SQL在哪块地方做了修改,哪些地方与Hive CLI是保持一致的。 基本上Spark SQL在CLI这块的实现很靠近Hive Ser...

2014-08-04 22:40:05 5751 0

原创 Apache Crunch设计:基础数据处理

Apache Crunch是FlumeJava的实现,为不太方便直接开发和使用的MapReduce程序,开发一套MR流水线,具备数据表示模型,提供基础原语和高级原语,根据底层执行引擎对MR Job的执行进行优化。从分布式计算角度看,Crunch提供的许多计算原语,可以在Spark、Hive、Pig...

2014-08-03 17:43:34 4340 0

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