Hello World

just do IT

一种解决Impala自定义属性查询的方案

一种解决Impala自定义属性查询的方案背景在使用Impala做自助分析的过程中,我们经常发现自定义属性的需求,通常情况下用户会将这种不确定key的字段全部塞到一个MAP字段中,然后通过Impala的复杂结构查询语法进行查询,目前Impala只支持Parquet格式表的schema中使用复杂数据类...

2018-01-29 18:34:03

阅读数 1964

评论数 0

Impala高性能探秘之Runtime Filter

前言书接上文,如果说HDFS的数据访问层各个BigData SQL Engine做的都大同小异的话,那么Runtime Filter(下文简称RF)则是Impala比较独特的”黑科技”了,在深入学习Impala之前对于这个名词比较陌生,但它绝对是Impala性能提升的一大法宝,我们将试图围绕着如下...

2017-08-10 20:26:46

阅读数 1483

评论数 0

Impala高性能探秘之HDFS数据访问

Impala是一个高性能的OLAP引擎,Impala本身只是一个OLAP-SQL引擎,它访问的数据存储在第三方引擎中,第三方引擎包括HDFS、Hbase、kudu。对于HDFS上的数据,Impala支持多种文件格式,目前可以访问Parquet、TEXT、avro、sequence file等。对于...

2017-07-11 20:08:19

阅读数 3069

评论数 0

Impala查询详解第一篇——简介

Impala的定位是一种新型的MPP查询引擎,但是它又不是典型的MPP类型的SQL引擎,提到MPP数据库首先想到的可能是GreenPlum,它的每一个节点完全独立,节点直接不共享数据,节点之间的信息传递全都通过网络实现。而Impala可以说是一个MPP计算引擎,它需要处理的数据存储在HDFS、Hb...

2017-07-10 16:09:01

阅读数 3313

评论数 0

Impala中的invalidate metadata和refresh

前言Impala采用了比较奇葩的多个impalad同时提供服务的方式,并且它会由catalogd缓存全部元数据,再通过statestored完成每一次的元数据的更新到impalad节点上,Impala集群会缓存全部的元数据,这种缓存机制就导致通过其他手段更新元数据或者数据对于Impala是无感知的...

2017-05-27 12:03:57

阅读数 12278

评论数 1

谈谈分布式Aggregation

聚合操作(Aggregation)是OLAP分析查询中最常见的操作之一,可以说它是数据分析查询的基石,它对应这SQL中的GROUP BY子句,OLAP中的上卷下钻操作无非就是对于GROUP BY和WHERE条件的改变,如何能够高效的实现聚合是决定OLAP分析性能的最重要因素之一(另外几个因素包括如...

2017-05-21 12:29:36

阅读数 3286

评论数 0

JAVA开发血泪之路:一步步搭建spring框架

前言作为一个服务端开发感觉一直挺排斥框架这种东西的,总觉得什么实现逻辑都帮你封装在里面了,你只需要配置这配置那个,出了问题也不知道怎么排查,之前即使写web程序也宁愿使用jetty这样的嵌入式的web server实现,自己写servlet,总感觉从main函数开始都在自己的掌控范围之内,但是这样...

2017-04-25 15:19:58

阅读数 47759

评论数 10

Impala源码之资源管理与资源隔离

前言Impala是一个MPP架构的查询系统,为了做到平台化服务,首先需要考虑就是如何做到资源隔离,多个产品之间尽可能小的甚至毫无影响。

2017-03-23 17:42:16

阅读数 2822

评论数 0

Impala源码之订阅发布系统的实现

众所周知,Impala包含三个模块,分别是impalad、catalogd和statestored,其中statestored模块的作用是实现一个业务无关的订阅(Subscribe)发布(Publish)系统,catalod和impalad中的部分消息传递需要通过statestored传递,为什么...

2017-02-28 20:26:04

阅读数 1020

评论数 0

【转载】SQL on Hadoop中用到的主要技术——MPP vs Runtime Framework

个人觉得该文章对于诸如Impala这样的MPP架构的SQL引擎和Runtime Framework架构的Hive/Spark SQL进行对比,感觉总结的特别好,并且和本人最近的公司相近,学习转载之。

2017-02-13 20:56:09

阅读数 2080

评论数 0

Hiveserver2的代理执行之路

hiveserver2的代理访问可以使得平台端代理任意用户执行SQL操作就像该用户自己执行的操作一样(就像一个普通用户直接使用hive CLI执行操作),本文主要探索hiveserver2是如何使用代理的方式实现支持不同用户完成SQL操作,为修改impala支持对应的操作做铺垫。

2017-02-10 13:55:52

阅读数 3595

评论数 0

Impala源代码学习序

带着问题看源码,本文主要针对阅读impala源代码提出的一些针对性的问题,希望能够跟着这些问题学习impala源代码

2017-01-15 13:41:05

阅读数 694

评论数 0

晚到的辞旧迎新

以前过日子总是过一天是一天,缺乏总结和计划,个人感觉这样会让自己遗失很多宝贵的东西,于是借着辞旧迎新的时节,对过去的一年总结和已经迎来的新年进行一个计划,计划这东西当然是因人而异的,不过我本人算是一个典型的程序员:老实,闷骚,爱运动但是很少时间运动,还年轻。总结时光如梭,白驹过隙,2016年就这样...

2017-01-15 13:13:40

阅读数 340

评论数 0

Impala负载均衡方案——zookeeper

由来之前根据Impala官方的文档尝试使用haproxy实现impalad节点的负载均衡,但是这种方案存在一些弊端,例如haproxy本身也是单点的,虽然可以通过keeplived实现haproxy的高可用,但是这样的配置难免有点太重了,实现impala负载均衡的同时还需要多部署两个组件,增大了系...

2016-12-28 20:24:23

阅读数 1931

评论数 0

Impala负载均衡方案

概述Impala分为是三个组件,statestored/catalogd和impalad,其中statestored和catalogd是单点的,没有高可用的需求,因为这两个实例是无状态的,本身不存储任何数据,例如catalogd的数据存储在第三方数据库(例如mysql中),statestore的数...

2016-12-22 22:06:01

阅读数 3129

评论数 3

Impala权限管理机制

在Impala中,权限管理的作用主要是确定某个用户是否有权限访问某些资源,用户对于这些资源具有哪种访问权限等,这里涉及到三个概念:用户,资源和权限。对于Impala 1.1之后的版本,可以直接集成Apache Sentry服务来实现Impala的权限管理,由于Impala可以和hive共享元数据库...

2016-12-14 15:03:55

阅读数 6771

评论数 0

Scala学习笔记1——初始Scala

引入最近因为Spark的兴起,Scala也炙手可热,个人并不认为它是一个新兴的编程语言,虽然它提供了全新的语法,本文主要介绍Scala环境和几种运行方式,以及通过实例观察Scala和JAVA的关系,学习Scala主要参考Scala语法手册和Scala实例。Scala环境Linux上可以使用类似于J...

2016-10-22 18:51:55

阅读数 5078

评论数 0

Impala客户端访问实例

Impala作为一个SQL引擎,必然提供了Jdbc访问接口,特殊的是Impala完全兼容hiveserver2的接口,所以我们可以使用的客户端包括: beeline impala-shell zeppelin hue 前两种作为shell方式提供,其中beeline是hive的jdbc客户端(类似...

2016-10-21 16:57:22

阅读数 7187

评论数 0

Impala部署、权限、资源隔离杂谈

概述最近一直在倒腾Impala,公司内部也属于刚刚部署使用,初次体验感觉性能还是比较好的(可能是使用Hive过多的原因),并且Impala还可以支持Kudu引擎,这个目前看上去是实时离线统一的较好解决方案,因此考虑在公司内部推广使用,但是一旦给多个产品部署、使用就需要考虑如下的几个问题: 部署方式...

2016-10-07 18:19:02

阅读数 4637

评论数 0

自己动手写Impala UDF

概述出于对可扩展性和性能的考虑,UDF已变成大数据生态圈查询引擎的必备功能之一,无论是Calcite、Hive、Impala都对其进行支持,但是UDF的支持有利也有弊,好处在于它提供了对某些用户独有需求的支持,例如某些产品需要将表中的某字段使用自定义的方式解析成可读字段,例如需要实现特殊的聚合函数...

2016-10-06 23:29:11

阅读数 7052

评论数 2

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