hadoop生态系统 【转】近些年来Hadoop生态系统发展迅猛,它本身包含的软件越来越多,同时带动了周边系统的繁荣发展。尤其是在分布式计算这一领域,系统繁多纷杂,时不时冒出一个系统,号称自己比MapReduce或者Hive高效几十倍,几百倍。有一些无知的人,总是跟着瞎起哄,说Impala将取代Hive,Spark将取代Hadoop MapReduce等。本文则从问题域触发,解释说明Hadoop中每个系统独特的作用
HIVE-UDF之MD5密钥算法实现 /** * Project: UDFTest * * File Created at 2012-11-28 * $Id$ * * Copyright 1999-2100 Alibaba.com Corporation Limited. * All rights reserved. * * This software is the confidential a
Hive优化(5)之选择合适的map数 Hive是基于Hadoop分布式框架下的数据仓库解决方案,可以方便地对数据进行清洗、转化和加载。Hive处理海量数据是数据仓库的基本需求,而如何通过hive充分利用Hadoop集群的分布式并行功能就至关重要。如果不能充分利用分布式并行处理,那么处理大数据量就会变得低效。而一张数据表需要多少个map来处理和一个map处理多少数据记录,都会影响到海量数据处理的效率。
hive cli Hive Cli = hive启动 = *$ hive –f script.q *$ hive -e 'SELECT *FROM dummy‘ *$ hive -S -e 'SELECT* FROM dummy‘ *$ hive -hiveconfhive.root.logger=DEBUG,console = set = *hive>SET hive.
hive优化(4)之mapjoin和union all避免数据倾斜 发生数据倾斜时,通常的现象是:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。数据倾斜一般是由于代码中的join或group by或distinct的key分布不均导致的,大量经验表明数据倾斜的原因是人为的建表疏忽
Hive优化(3)之随机数避免数据倾斜 发生数据倾斜时,通常的现象是:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。数据倾斜一般是由于代码中的join或group by或distinct的key分布不均导致的,大量经验表明数据倾斜的原因是人为的建表疏忽或业务可以规
在Oracle中利用SQL_TRACE跟踪SQL的执行 源自http://blog.csdn.net/kkdelta/article/details/7980061当你在执行一条SQL语句非常慢的时候,你是不是想问Oracle怎么执行这条语句的呢?Oracle提供的SQL_TRACE工具可以让你知道你执行的SQL究竟做了什么.执行的过程会被输出到trace文件中.下面用例子来跟踪一个SQL语句的执行情况:SQL> create
Hadoop计算文件大小 //Hadoop计算文件大小:public static void main(String[] args) throws IOException{ String tablePath= pathPrefix + args[0].toLowerCase().trim(); Path p = new Path(tablePath); JobConf co
hive中间接实现不等值连接 由于hive中不支持不等值连接,给应用带来不便。create tablelpx_test_a as select id,class from (select 1 as id, 2 asclass from dual union allselect 2 as id, 3 asclass from dualunion allselect 3 as id, 4 asc
Hive优化(2)之系统评估reduce数为1的MR Job优化 名词解释:云霄飞车:hive本身对MR Job的 reduce数估算不合理,导致reduce分配过少,任务运行很慢,云霄飞车项目主要对hive本身reduce数的估算进行优化。map_input_bytes:map输入文件大小,单位:bytesmap_output_bytes:map输出文件大小,单位:bytes 优化背景:云霄飞车一期存在如下问题:只能优化reduce
hive优化(1)之mapjoin hive> create table lpx_mapjoin as > SELECT '2012-04-17' as stat_date > ,b.admin_member_id > ,a.category_level2_id > ,b.keywords > ,sum(shownum) as sum_
hive源码解析(2)之编译前序 Antlr(ANother Tool for LanguageRecognition)ü 一种语言识别工具 ü Antlr提供了一种语言工具框架 ü 定义标示符,关键字(词法分析) ü 定义表达式(语法分析)ü 可以将文本转换成抽象语法树(AST)ü 树的解析(树分析器) (1)词法分析器Lexerü 词法分析
hive源码解析(1)之hive执行过程 1.入口 /bin/cli.sh 调用CliDriver类进行初始化过程 Ø 处理 -e, -f,-h等信息,如果是-h,打印提示信息,并退出 Ø 读取hive的配置文件,设置HiveConfØ 创建一个控制台,进入交互模式2.在交互方式下,读取每一个输命令行,直到’;’为止,然后提交给processLine(cmd)方法处理,该方法将输入的流以;分割
Hadoop如何计算map数和reduce数 Hadoop在运行一个mapreduce job之前,需要估算这个job的maptask数和reducetask数。首先分析一下job的maptask数,当一个job提交时,jobclient首先分析job被拆分的split数量,然后吧job.split文件放置在HDFS中,一个job的MapTask数量就等于split的个数。job.split中包含split的个数由FileInputFor
hive-udf --指数化处理热度*(π-1.8),然后四舍五入后分段分段规则:【段),>50&段),>100&段),>1000&段),>5000(1000/段)】向上取段 结果在50以下的,每1为一个段结果在50-100之间的,每10为一个段,结果在100和1000之间的,每30为一个段结果在1000和5000之间,每100为一个段结果在5000以上,每1000为一个段
在职场中获得认可12个妙招 每个在职场打拼的人都希望自己的工作能为自己赢得在同事中的认同。老板的肯定以及公司中位置的上升。想一想,你在这里工作还图什么别的呢? 为了达到这一步,我们总是会接下难以完成的工作或自己根本不愿意做的工作,然后挑战疯狂的截止时间,让自己被工作压到透不过气。当然,这些行为可以
简单抽样和复杂抽样 简单抽样。从下列选项中选择抽样方法:a)从第一条记录开始连续抽取。选择此选项将使用连续数据抽样。例如,如果最大样本大小设置为 10000,则前 10000 条记录会被选中。b) n 中取 1。选择此选项会按照这样的方式抽样数据:每隔 n 个记录传递或丢弃一次。例如
常见统计量 最小值. 数值变量的最小值。最大值. 数值变量的最大值。总数. 所有具有缺失值的测量值的总和或合计。范围.数值变量的最大值与最小值的差值就是用最大值减最小值后得出的值。平均值. 集中趋势的测量。 算术平均值,等于总和除以观测值数。均值标准误