10 2020 档案
摘要:3.2.2Local Caching and File Stealing 本地缓存和文件窃取 1、本地磁盘上的缓存以什么为单位缓存?Virtual Warehouse?Worker node? 以Worker node为单位在本地磁盘缓存 2、本地磁盘缓存的是什么? 缓存的是之前查询时从S3上下载下
阅读全文
摘要:window算子的基本功能理解起来较为简单,这里不再赘述,下文仅对window算子的优化方案进行说明,以下优化思路来源于http://www.vldb.org/pvldb/vol8/p1058-leis.pdf论文 对于初始的partition分区和order by排序阶段,有两种传统方法: 1、T
阅读全文
摘要:Partitioner的作用是对Mapper产生的中间结果进行分片,以便将同一分组的数据交给同一个Reducer处理,它直接影响Reduce阶段的负载均衡。 MapReduce提供了两个Partitioner实现:HashPartitioner和TotalOrderPartioner。其中HashP
阅读全文
摘要:MapReduce由两个阶段组成:Map和Reduce,用户只需要编写map()和reduce()两个函数,即可完成简单的分布式程序的设计。 map()函数以key/value对作为输入,产生另外一系列key/value对作为中间输出写入本地磁盘。MapReduce框架会自动将这些中间数据按照key
阅读全文
摘要:1、简单替换(object-like 宏) #define N 42 N // -> 42 2、带参数的宏( function-like宏) #define ADD(x, y) x + y ADD(1, 2) // -> 1 + 2 标准定义格式如下 // obj-like #define 宏名 替
阅读全文
摘要:第1章 ClickHouse的前世今生 开篇提到了Google开启大数据处理时代的三篇论文“Google File System”、“Google MapReduce”和“Google Bigtable”,号称三驾马车。后来一度Hadoop成为大数据处理的代名词,只要谈到大数据处理,没有用到Hado
阅读全文
摘要:/** Processor is an element (low level building block) of a query execution pipeline. * It has zero or more input ports and zero or more output ports.
阅读全文
摘要:/** A dynamic array for POD types.POD类型的动态数组 * Designed for a small number of large arrays (rather than a lot of small ones).设计用于一些少量的大数组,而不是大量的小数组 *
阅读全文