ASM分析系列之二: Core API-Classes

目录   一、Classes     本章主要解释如何使用core ASM API生成和转换编译后的Java类文件。本章先展示了编译后类文件的结构,然后讲解了对应的生成和转换类文件的ASM接口、组件和工具,同时给出了很多具有说明性的例子。下一章主要对方法的注解和泛型进行详述。 1.1 结构...

2018-09-01 15:24:24

阅读数 78

评论数 0

ASM分析系列之一: 简介

目录 一、背景 程序分析、生成和转换在许多场景下得到了广泛的使用 程序分析,从简单的语法分析到完整的语义分析,可以用来在应用程序中发现潜在的bug,检测无用代码,逆向工程代码,等等。 程序生成在编译器中使用。包括传统的编译器,但也有用于分布式程序的存根或骨架编译器,仅在时间编译...

2018-09-01 15:23:33

阅读数 145

评论数 0

Consul内部实现

目录 一、架构 Consul是一个有很多模块的复杂系统,为了帮助Consul的开发者更好的理解它的运行模型。本章主要介绍Consul的架构。 1.1 术语 Agent:Agent是Consul集群中的守护进程。它的生命周期从启动Consul agent开始。Agent可以以client...

2018-09-01 15:18:36

阅读数 1541

评论数 1

Consul API

目录注: 内容翻译自官网,部分内容省略一、ACLs     ACL介绍:https://www.consul.io/docs/guides/acl.html     1.1 启动ACL 二、Agent     /agent节点是用来和本地Consul agent交互的。通常情况下,服务和检查在ag...

2018-07-02 10:45:27

阅读数 985

评论数 0

Presto-Code Generation

一、背景1.1 场景presto中使用了基于ASM的airlift.bytecode进行代码生成,一个主要的用途是对从数据源捞上来的数据进行表达式过滤,这是代码生成的主要应用场景,主要是为了降低进行表达式评估中 JVM 的各种开销,如虚函数调用,分支预测,原始类型的对象装箱开销以及内存消耗。1.2...

2018-05-30 13:44:11

阅读数 355

评论数 2

Netty基础知识

目录 一、Netty是什么 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty整合了网络编程、多线程处理和并发等多个领域的只是,极大地简化了网络开发的流程。 Netty是...

2018-04-15 19:42:16

阅读数 110

评论数 0

Presto中的基础概念

https://prestodb.io/docs/current/overview/concepts.html#data-sources 目录 一、概览 要理解Presto,您必须首先理解整个Presto文档中使用的术语和概念。 虽然很容易理解语句和查询,但作为最终用户,您应该熟...

2018-04-15 19:33:11

阅读数 686

评论数 0

Netty学习一: 核心组件

Netty是Java在网络编程领域的卓越框架。一、Netty的核心组件    Channel    回调    Future    事件和ChannelHandler1.1 ChannelChannel是Java NIO的一个基本构造    它代表一个到实体的开放连接,如读操作和写操作。    目...

2018-02-12 11:34:41

阅读数 88

评论数 0

Spark调优(数据序列化和内存调优)

翻译自Spark官网文档:https://spark.apache.org/docs/2.1.0/tuning.html 前言     由于大多数Spark计算的内存使用特性,集群中的任何资源都可能成为Spark计算程序中的瓶颈:CPU,网络带宽或是内存。大多数情况下,如果...

2017-12-06 11:44:21

阅读数 5820

评论数 0

查询优化技术概念

本文摘取自《数据库查询优化器的艺术》 一、查询优化技术简介     查询优化技术主要包括查询重用技术、查询重写规则技术、查询算法优化技术、并行查询的优化技术、分布式查询优化技术和其他优化技术6个方面的技术。 1.1 查询重用     查询重用是指尽可能利用先前的执行结果,以达到节约...

2017-12-04 00:42:50

阅读数 668

评论数 0

Spark SQL兼容Hive及扩展

前言      相比于Shark对Hive的过渡依赖,Spark SQL在Hive兼容层面仅依赖HQL Parser、Hive Metastore和Hive SerDes。也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了,执行计划生成和优化都由Catalyst负...

2017-11-28 14:03:22

阅读数 1596

评论数 0

Dataset API的执行计划构建和执行

通过Dataset API,我们可以直接在数据上执行关系型操作,这一功能主要是借助了Spark SQL的一些核心功能。本文主要分析Dataset API和Spark SQL模块之间的关联关系 一、Dataset初始化      Dataset类有两个构造参数,SparkSession和...

2017-11-24 14:16:01

阅读数 247

评论数 0

Spark SQL核心类解析

一、执行计划实体相关      Tree是Catalyst执行计划表示的数据结构。LogicalPlans,Expressions和Pysical Operators都可以使用Tree来表示。Tree具备一些Scala Collection的操作能力和树遍历能力。     Tree提供...

2017-11-24 14:15:10

阅读数 1347

评论数 1

Spark SQL运行原理

文章内容摘自> 详细内容请参考书中原文 一、简介     介绍Spark SQL,就不得不提Hive和Shark。Hive是Shark的前身,Shark是Spark SQL的前身。     Shark是由伯克利实验室技术团队开发的Spark生态环境组件之一,它扩展了Hive并修改了Hiv...

2017-11-22 20:09:07

阅读数 2615

评论数 1

ES基本概念和常用REST查询

一、相关概念 1.1 倒排索引     Elasticsearch使用倒排索引来达到加速检索的目的。     倒排索引:根据属性值来确定记录位置     倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定...

2017-11-20 19:47:50

阅读数 1840

评论数 0

Spark2.2-persist checkpoint lineage解析

源码版本: 2.2 如有错误请指正 一、背景     Spark中每一个RDD都记录它的血缘lineage,根据lineage,我们可以实现容错机制和数据重用。     相比其他系统的细颗粒度的内存数据更新级别的备份或者LOG机制,RDD的Lineage记录的是粗颗粒度的特定数据Trans...

2017-11-02 15:27:26

阅读数 419

评论数 0

FlumeJava: Easy, Efficient Data-Parallel Pipelines Abastrct

本文主要是对《FlumeJava: Easy, Efficient Data-Parallel Pipelines》论文的概要总结 完整论文请参考 https://research.google.com/pubs/pub35650.html 部分内容做了简单概要总结,如有错误请指出 ...

2017-10-31 14:18:38

阅读数 538

评论数 0

Spark2.2-Task序列化源码解析

源码版本:2.2 如有错误请指正 一、前言     Spark在运行应用程序时,会根据RDD的操作,将数据处理流程划分为多个stage进行计算,其中划分stage的依据是数据是否产生shuffle。在同一个stage中,RDD之间的依赖都是窄依赖。一个stage下会有多个task...

2017-10-24 15:26:48

阅读数 517

评论数 1

Spark SQL, DataFrames and Datasets Guide

http://spark.apache.org/docs/latest/sql-programming-guide.html 一、概览     Spark SQL是Spark一个用于结构化数据处理的模块。和基础的Spark RDD API不同,Spark SQL提供的接口中提供了更多关于与实际...

2017-10-22 17:13:31

阅读数 374

评论数 0

二、Calcite官方文档翻译--进阶

目录 二、进阶 2.1 适配器Adapters 2.1.1 Adapter 一个schema adapter允许Calcite去读取特定类型的数据,将这些data以一种table格式schema展示出来。 其他语言接口 2.1.2 Engines   许多工程和产品都是用A...

2017-10-19 16:44:19

阅读数 1483

评论数 0

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