Apache Kylin高级部分之使用Hive视图 本章节我们将介绍为什么需要在Kylin创建Cube过程中使用Hive视图;而如果使用Hive视图,能够带来什么好处,解决什么样的问题;以及需要学会如何使用视图,使用视图有什么限制等等。 1. 为什么需要使用视图Kylin创建Cube的过程中使用Hive的表数据作为输入源。但是有些情况下,Hive中的表定义和数据并不能满足分析的需求,例如有些列的值需要进行处理,有些列的类型不满足需求,甚至...
spark sql 的应用实践 背景介绍目前spark主要应用在streaming、ETL和ML场景上,本文主要是分享我们ETL场景从hive SQL到spark SQL的迁移实践。在整个迁移过程中我们把线上多个版本的spark(1.5.2,1.6.3)统一推动升级到2.1.1,同时从Standalone运行模式迁移到了On YARN模式,以减少我们的维护成本。在安全控制上我们参考hive的权限系统开发了统一的权限验证模
MapReduce 中的两表 join 几种方案简介 1. 概述在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输入数据集的优化方法。2. 常见的join方法介绍假设要进行join的数据分别来自File1和File2.
storm单机环境部署 前面说过storm集群的部署,这篇主要介绍storm单机环境部署,其实他们之间很类似,就是将之前配置文件中所有的集群条目改成本机的地址即可,部署之前应该按前面solr和zookeeper单机环境部署那篇文章中,正确设置好zookeeper并且启动zookeeper服务,设置方法和前面完全一致,接下来开始配置storm,首先释放storm并且放到/usr/目录下,命令如下:$ tar -xv
如何设计一个秒杀系统 什么是秒杀秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。秒杀系统场景特点秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增。秒杀一般是访问请求数量远远大于库存数量,只
Presto架构及原理 Presto 是 Facebook 推出的一个基于Java开发的大数据分布式 SQL 查询引擎,可对从数 G 到数 P 的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别,据称该引擎的性能是 Hive 的 10 倍以上。Presto 可以查询包括 Hive、Cassandra 甚至是一些商业的数据存储产品,单个 Presto 查询可合并来自多个数据源的数据进行统一分析。Presto 的目标
Hive-hive.groupby.skewindata配置相关问题调研 使用Hive的过程中,我们习惯性用set hive.groupby.skewindata=true来避免因数据倾斜造成的计算效率问题,但是每个设置都是把双刃剑,最近调研了下相关问题,现总结如下:从下表可以看出,skewindata配置真正发生作用,只会在以下三种情况下,能够将1个job转化为2个job: select count distinct ... from ...selec
hive计算map数和reduce数 Hadoop在运行一个mapreduce job之前,需要估算这个job的maptask数和reducetask数。首先分析一下job的maptask数,当一个job提交时,jobclient首先分析job被拆分的split数量,然后吧job.split文件放置在HDFS中,一个job的MapTask数量就等于split的个数。job.split中包含split的个数由FileIn
Hadoop2源码分析-MapReduce篇 1.概述 前面我们已经对Hadoop有了一个初步认识,接下来我们开始学习Hadoop的一些核心的功能,其中包含mapreduce,fs,hdfs,ipc,io,yarn,今天为大家分享的是mapreduce部分,其内容目录如下所示:MapReduce V1MapReduce V2MR V1和MR V2的区别MR V2的重构思路 本篇文章的源码是基于hadoop-2.6.
Hadoop2源码分析-Hadoop V2初识 1.概述 在完成分析Hadoop2源码的准备工作后,我们进入到后续的源码学习阶段。本篇博客给大家分享,让大家对Hadoop V2有个初步认识,博客的目录内容如下所示:Hadoop的渊源Hadoop V2部分项目图各个包的功能介绍 本篇文章的源码是基于Hadoop-2.6.0来分析,其他版本的Hadoop的源码可以此作为参考分析。2.Hadoop的渊源
Hadoop2源码分析-准备篇 1.概述 我们已经能够搭建一个高可用的Hadoop平台了,也熟悉并掌握了一个项目在Hadoop平台下的开发流程,基于Hadoop的一些套件我们也能够使用,并且能利用这些套件进行一些任务的开发。在Hadoop的应用级别上,我们接着往后面去研究学习,那就是Hadoop的源码了,作为Hadoop开发人员,我们得去学习和研究Hadoop得实现原理,底层框架的设计,编码的实现过程等等,下面就开始我
解读Secondary NameNode的功能 1.概述 最近有朋友问我Secondary NameNode的作用,是不是NameNode的备份?是不是为了防止NameNode的单点问题?确实,刚接触Hadoop,从字面上看,很容易会把Secondary NameNode当作备份节点;其实,这是一个误区,我们不能从字面来理解,阅读官方文档,我们可以知道,其实并不是这么回事,下面就来赘述下Secondary NameNode的作用。
Hive性能优化 1.概述 继续《那些年使用Hive踩过的坑》一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题。下面开始本篇文章的优化介绍。2.介绍 首先,我们来看看Hadoop的计算框架特性,在此特性下会衍生哪些问题?数据量大不是问题,数据倾斜是个问题。jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联
SQL join中级篇--hive中 mapreduce join方法分析 1. 概述。本文主要介绍了mapreduce框架上如何实现两表JOIN。2. 常见的join方法介绍假设要进行join的数据分别来自File1和File2.2.1 reduce side joinreduce side join是一种最简单的join方式,其主要思想如下:在map阶段,map函数同时读取两个文件File1和File2,为了区分两种来源的key/value数据
Hive数据倾斜(大表join大表) 业务背景用户轨迹工程的性能瓶颈一直是etract_track_info,其中耗时大户主要在于trackinfo与pm_info进行左关联的环节,trackinfo与pm_info两张表均为GB级别,左关联代码块如下:from trackinfo a left outer join pm_info b on (a.ext_field7 = b.id) 123123使用以上代码
大数据算法:对5亿数据进行排序 前言: 在大数据研究的路上,我们总要对一些很大的数据进行各种各样的操作。比如说对数据排序,比如说对数据统计,比如说对数据计算。而在大量的数据面前,我们总是束手无策,因为我们无法在限定时间的情况下,在效率上做到让人满意,也无法在限定空间的情况下,能够快速解决问题。可能我们在一些日常的开发过程中,没有遇到过这些问题。不过,现在是时候来考虑一下这样的问题了。因为,现在正值大数据的时代。
Hive SQL的编译过程 转载,原链接地址:http://tech.meituan.com/hive-sql-to-mapreduce.htmlHive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到
Hive UDAF开发 Hive进行UDAF开发,相对要比UDF复杂一些,不过也不是很难。请看一个例子package org.hrj.hive.udf;import org.apache.hadoop.hive.ql.exec.UDAFEvaluator;import org.apache.hadoop.hive.serde2.io.DoubleWritable; public
Hive UDF开发 Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:package com.hrj.hive.udf;import org.apache.hadoop.hive.ql.exec.UDF;public class hell
Hive自定义UDF和聚合函数UDAF Hive是一种构建在Hadoop上的数据仓库,Hive把SQL查询转换为一系列在Hadoop集群中运行的MapReduce作业,是MapReduce更高层次的抽象,不用编写具体的MapReduce方法。Hive将数据组织为表,这就使得HDFS上的数据有了结构,元数据即表的模式,都存储在名为metastore的数据库中。 可以在hive的外壳环境中直接使用dfs访问hadoop的