分布式计算
文章平均质量分 91
张包峰
Distributed Computing
展开
-
常见计算框架算子层对比
背景前段时间在为内部自研的计算框架设计算子层,参考对比了一些开源的计算框架的算子层,本文做一个粗粒度的梳理。下面这张图是我对计算框架抽象层次的一个拆分,具体可以参考上周日杭州Spark meetup上我做的Spark SQL分享 slides。原创 2014-09-05 09:05:05 · 5499 阅读 · 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]) map的一种,类似UDTF filter(f: T => Boolean) map的一种 distinct(原创 2015-04-07 16:51:09 · 8851 阅读 · 4 评论 -
Spark Streaming原理简析
执行流程数据的接收StreamingContext实例化的时候,需要传入一个SparkContext,然后指定要连接的spark matser url,即连接一个spark engine,用于获得executor。实例化之后,首先,要指定一个接收数据的方式,如val lines = ssc.socketTextStream("localhost", 9999)这样从socket接收文本数据。这个步骤原创 2015-03-19 15:23:05 · 4808 阅读 · 0 评论 -
关于DIMMQ: Discardable In-Memory Materialized Query
最近在看CBO在不同系统里的实现方式,比如flink里在编译时对plan的CBO优化,以及运行时的CBO:Hive、Apache Calcite(即Optiq)的一些内容。今天第一次看到DIMMQ的概念,聊聊我的几点看法。DIMMQ的全称是Discardable In-Memory Materialized Query,提出这个概念,本质上还是为了解决数据重用。只是这次数据的重用不是磁盘上的replication,或是内存里的RDD,而是更细粒度的query级别,具体data set是隐藏在DIMMQ原创 2015-02-06 13:26:30 · 1918 阅读 · 0 评论 -
Spark的任务调度
本文尝试从源码层面梳理Spark在任务调度与资源分配上的做法。原创 2014-12-11 15:03:15 · 16048 阅读 · 6 评论 -
Apache Crunch设计:基础数据处理
Apache Crunch是FlumeJava的实现,为不太方便直接开发和使用的MapReduce程序,开发一套MR流水线,具备数据表示模型,提供基础原语和高级原语,根据底层执行引擎对MR Job的执行进行优化。从分布式计算角度看,Crunch提供的许多计算原语,可以在Spark、Hive、Pig等地方找到很多相似之处,而本身的数据读写,序列化处理,分组、排序、聚合的实现,类似MapReduce各阶段的拆分都可以在Hadoop里找到影子。本文介绍Crunch在数据表示模型、操作原语、序列化处理方面的设计和原创 2014-08-03 17:43:34 · 4917 阅读 · 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 explainationthis is Class this is method()this is constantTask ExecutionTask Compone原创 2016-05-18 15:53:00 · 3250 阅读 · 0 评论