- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 Presto源码分析(ScanFilterAndProjectOperator)
构造函数createSourceIfNecessary方法getOutput方法RecordPageSource的处理过滤和投影其他pagesource的处理具体参见orc和parquet的分析1.构造函数protected ScanFilterAndProjectOperator( OperatorContext operatorContext,
2016-09-17 21:08:24 1922
原创 Presto源码解析(HashAggregationOperator)
GroupByHashAggregationBuilder重要成员重要方法1.GroupByHashAggregationBuilder1.重要成员 private final GroupByHash groupByHash;//包括找出group组id,添加新的gooup等 private final List<Aggregator> aggregators;//
2016-09-17 20:32:54 1063
原创 Presto源码解析(LocalExecutationPlanner类)
在visitScanFilterAndProject方法中,会使用代码生成产生cursorProcessor和pageProcessor,无法跟踪代码,所以把代码生成相关的代码注释掉,即可使用解释型产生hash的产生方法
2016-09-17 19:12:09 807
原创 presto源码分析(结果获取)
结果获取入口1.结果获取入口结果获取的入口是在StatementResource中,客户端发送http请求,由getQueryResult方法响应,代码如下: @GET @Path("{queryId}/{token}") @Produces(MediaType.APPLICATION_JSON) public Response getQueryResults(
2016-09-11 23:02:13 1435
原创 Presto启动源码分析
启动主流程加载module加载插件启动主流程加载module ImmutableList.Builder<Module> modules = ImmutableList.builder();//不是很明白加载这些module的作用 modules.add( new NodeModule(), new
2016-09-10 17:08:39 2019
原创 presto代码解析一
1. TaskExecutor 一个TaskExecutor负责执行多个split的实际操作,首先会构造一个线程池,在线程池中预制多个线程。 public synchronized void start() { checkState(!closed, "TaskExecutor is closed"); for (int i = 0;
2016-09-06 15:49:54 6161
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人