- 博客(30)
- 资源 (16)
- 收藏
- 关注
原创 MR-3.Hadoop使用YARN运行MapReduce工作原理
运行一个MapReduce的作业,可以调用job对象的submit()方法(一般调用job的的waitForCompletion),主要是提交一个job。整个作业的提交过程,涉及5个重要的实体对象:(1) Client,提交MapReduce作业(2) YARN resource manager:协调整个集群计算资源(3) YA
2016-01-29 16:21:17 3057
原创 Hive-4.hive 的 性能调优
1. 使用EXPLAIN通过EXPLAIN功能,可以帮助我们了解如何将查询转化成MapReduce任务的。 1、使用explain查看hive如何将查询转化成MapReduce任务的1.1 创建表create table onecol(number int)1.2 初始化数据并加载[hadoop@mycluster ~]$ vi onecol 1
2016-01-27 11:35:24 3439
原创 Hive-3.hive 的 hql 语句
创建的hql主要包括以下内容(1)表定义,创建表的时候使用create table t(2) 过滤数据,备份表,创建临时表create table t_tmp as select * from t;(3)已经存在表,向表中添加数据load data [local] inpath 'data/a.txt' into table t;(4)已经存在表定义,需要从其他表加载数
2016-01-27 11:33:59 1944
原创 Hive-2.HiveQL查询中分析函数
1 RANK()函数返回数据项在分组中的排名,排名相等会在名次中留下空位 2 DENSE_RANK()函数返回数据项在分组中的排名,排名相等会在名次中不会留下空位3 NTILE()函数返回n分片后的值4 ROW_NUMBER()为每条记录返回一个数字5 分析函数案例实战针对分组后,对组内数据进行排序(1)Rank函数返回一个唯一的值,除非遇到相同的数据时
2016-01-27 11:31:55 2135
原创 Hive-2.HiveQL查询中抽样查询
当数据集非常大的时候,我们需要找一个子集来加快数据分析。此时我们需要数据采集工具以获得需要的子集。在此可以使用三种方式获得采样数据:random sampling, bucket sampling, block sampling。8.1随机抽样(Random sampling ) 使用RAND()函数和LIMIT关键字来获取样例数据,使用DISTRIBUTE和SORT关键字来保证数据是随机
2016-01-27 11:30:10 5227 1
原创 Hive-2.HiveQL查询中ORDER BY 和SORT BY 语句|包含SORT BY 的DISTRIBUTE BY|CLUSTER BY
1. ORDER BY 和SORT BY 语句order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。 sort by不是全局排序,其在数据进入reducer前完成排序.因此,如果用sort by进行排序,并且设置mapred.reduce.tasks>1, 则sort
2016-01-27 11:28:11 2456
原创 Hive-2.HiveQL查询中JOIN语句
Hive支持常用到的SQL JOIN语句,但是只支持等值连接。4.1 INNER JOIN内连接(INNER JOIN)中,只有进行连接的两个表中都存在与连接标准相匹配的数据才会展示出来。例如: 查询每个部门下的员工列表 查询语句:select t.deptname,e.name from employees e inner join dept t
2016-01-27 11:26:21 7402
原创 Hive-2.HiveQL查询中where和group by语句
1. WHERE语句查询英语成绩大于等于70的列表:select name,ceil(salary) as salary,age from employees where score['English']>=70;输出结果:name salary agewangwu1 5500 20wangwu3 8400 20wangwu4 8400 20
2016-01-27 11:24:28 5228
原创 Hive-2.HiveQL查询中常用函数
1. SELECT ....FROM 语句1、创建表CREATE EXTERNAL TABLE employees(ID STRING,name STRING,AGE INT,BIRTHDAY DATE,subordinates ARRAY,score MAP,address STRUCT)ROW FORMAT DELIMITEDFI
2016-01-27 11:22:31 3955
原创 Hive-1.Hive入门介绍
1.Hive是什么Hive是数据仓库,是SQL解析引擎,查询存储HDFS上数据。 2.Hive 元数据保存的方法以及特点Hive元数据存储metastore中。(1)metastore存储Hive表和HDFS的对应关系l Hive中的数据库对应HDFS中的文件夹l Hive中表对应HDFS中的文件夹l Hive中记录对应HDFS中的数据注意: Hive中的数据文
2016-01-27 11:18:49 1261
原创 HBase-7.hbase查询多版本数据&过滤器原则&批量导入Hbase&hbase预分区
HBase怎么查询同一条记录多个版本数据(1)Hbase shell命令模式get 'stu','rk01', {COLUMN => 'info:name', VERSIONS => 5}(2)JAVA API 模式Get get = new Get("rk01".getBytes());get.addColumn("info"
2016-01-26 19:53:58 4281
原创 HBase-6.hbase 协处理器
引入Hbase中的Coprocessor的原因HBase作为列族数据库无法建立“二级索引”,难以执行求和、计数、排序等操作。为解决这些问题,HBase0.92 之后引入协处理器(Coprocessor),实现一些新特性,能够轻易建立二次索引、复杂过滤器、以及访问控制。参考: http://blog.csdn.net/lifuxiangcaohui/article/details/3
2016-01-26 19:49:51 2485
原创 HBase-5.提高HBase客户端的读写性能方法
(1) 开启bloomfilter过滤器,开启bloomfilter比没开启要快3、4倍(2) hbase对于内存有特别的嗜好,在硬件允许的情况下配足够多的内存给它通过修改hbase-env.sh中的export HBASE_HEAPSIZE=3000 #这里默认为1000m(3) 修改java虚拟机属性替换掉默认的垃圾回收器,因为默认的垃圾
2016-01-26 19:44:51 2266
原创 HBase-4.HBase内部机制
在HMaster、RegionServer内部,创建了RpcServer实例,并与Client三者之间实现了Rpc调用,HBase0.95内部引入了Google-Protobuf作为中间数据组织方式,并在Protobuf提供的Rpc接口之上,实现了基于服务的Rpc实现。(1)HMaster支持的Rpc协议MasterMonitorProtocol,Client与Master之间的通信,Ma
2016-01-26 19:43:00 3220
原创 HBase-3.HBase读数据和存储数据原理
客户端读取信息流程(1)client要读取信息,先查询下client 端的cache中是否存在数据,如果存在,刚直接返回数据。如果不存在,则进入到zookeeper,查找到里面的相应数据存在的Root表中的地址。 (2)BlockCache;设计用于读入内存频繁访问的数据,每个列族都有 (3)通过数据存在ROOT表中地址找到.META,最终找到HRegion。找到HRegion
2016-01-26 19:40:02 3729
原创 HBase-2.HBase 的体系结构、行键、列族设计
HBase体系结构l Client -包含访问HBase接口并维护cache来加快对HBase的访问l ZooKeeper-保障任务时候,仅有一个Master节点-存储Region的寻址入口-实时监控RegionServer的上线和下线信息。并实时通知Master-存储HBase的schema和table的元数据信息,通过ls /hbase可以查看l Mast
2016-01-26 19:38:44 11138
原创 HBase-1. 搭建过程和集群安装注意事项
1.1 下载和解压1.2 配置集群并安装ZK集群由于HBase最终存储数据到DataNode上,故需hadoop的hdfs-site.xml、core-site.xml拷贝到hbase/conf下1.3 修改hbase-env.sh配置文件和hbase-site.xml修改hbase-env.sh 设置JAVA_HOME和修改HBASE_MANAGES_ZK=false,使用外部Z
2016-01-26 19:37:26 1396
原创 MR-5.MapReduce常见Joins方法
Map-Site joins使用场景:一张表十分小,一张表很大用法:在提交作业时先将小表文件放到作业的DistributedCache,然后从DistributedCache取出该小表,然后对该小表 join key/value解析分割放到内存中(可以放到hashmap等容器中)。然后扫描达标,看大表的每条记录的joinkey/value数值是否能够在内存中找到相同的join key的记录
2016-01-26 19:32:16 698
原创 MR-5.MapReduce排序
部分排序部分排序可以调用默认的HashPartitioner按照键排序顺序文件。应用场景,大部分的业务需求,都是用来统计每个指标的数据结果,故这种场景比较实用,通过分区把大的数据分配到多台机器上同时执行,提高执行的效率。 全局排序如何用Hadoop产生一个全局排序文件呢?最简单的方法是使用一个分区(默认HashPartitioner)。但该方法处理大型文件效率极低。一般有两种方
2016-01-26 19:28:40 925
原创 MR-5.MapReduce分布式缓存(Distribute Cache)
DistributeCache是Hadoop的分布式文件缓存类,是一个提供给Map/Reduce框架的工具,用来缓存文件(文件,归档,jars等),DistributeCache将拷贝缓存的文件到slaves节点在任何job在节点上执行之前,每个存储在HDFS中的文件被放到缓存后都可以通过一个符号链接使用。 通过该类主要可以完成两方面的事情(1) 完成分布式文件共享(2
2016-01-26 19:27:40 1899
原创 MR-5.MapReduce计数器介绍
计数器(couter)在许多情况下,用户需要了解分析的数据,统计出输入记录数、统计数据无效记录数。通过计算器可以检测程序存储缺陷和数据集质量高低问题。计算器分成两类:内置计数器和自定义计算器。内置计数器Hadoop为每个作业维护提供若干内置计数器。以描述作业的指标。l File System Countersl Map-Reduce Frameworkl
2016-01-26 19:26:14 1198
原创 MR-4.MapReduce使用压缩
MapReduce处理数据时,需要考虑压缩格式是否支持分片是很重要的。考虑存储在HDFS重的未压缩文件,其大小为1GB。HDFS块大小为128M,该文件在HDFS存储分成8块存,作为MapReduce输入将创建8个分片(split,也称为“分块”)。每个分片都被作为一个独立的MapTask的输入单独进行处理。 假设,一个压缩后1GB的gzip格式的文件。HDFS块大小为128M,在HDFS
2016-01-26 19:19:50 2316 1
原创 MR-4.MapReduce压缩基本介绍
CodecCodec实现了一种压缩-解压缩算法。在Hadoop中,一个对CompressionCodec接口的实现代码一个codec。下面列出Hadoop实现的codec。通过CompressionCodec对数据流进行压缩和解压缩CompressionCodec接口中有两个重要的方法,来完成数据的压缩和解压缩。案例1-压缩文件public class File
2016-01-26 19:18:15 592
原创 MR-2.输出格式(OutputFormat)Multiple outputs多目录输出
Hadoop的输出格式和输入格式对应,这里仅列出基于OutputFormat的实现类如图所示:FileOutputFormat和他的子类可以输出一个文件目录,每个reducer都生成一个文件。文件的命名规则:part-r-xxxx。 但有时需要控制每个reducer输出不同格式的文件目录,可以使用MultipleOutputs多目录输出类。多目录输出(Mu
2016-01-26 19:13:59 2583
原创 MR-2.输入格式(InputFormat)TextInputFormat和SequenceFileInputFormat源码分析
TextInputFormat格式TextInputFormat是默认的InputFormat,其中ReaderRecord对每行记录输出一个键值对,其中:key是LongWritbale类型,offset是行记录在整个文件的偏移量。Value是行内容。在实际工作场景中大部分都是针对TextInputFormat格式数据的处理。 SequenceFileInputFormat格式H
2016-01-26 19:10:38 1532
原创 MR-2.输入格式(InputFormat)CombineFileInputFormat源码分析
Hadoop处理少量的大文件比处理大量的小文件更好,主要因为FileInputFormat对单个文件会至少生成一个InputSplit。若文件比HDFS 的Block小的话,将产生多个InputSplit,让多个MapTask任务处理。 解决方案,通过CombineFileInputFormat将多个小文件封装,形成一个大InputSplit,然后maptask处理封装后的InputSpl
2016-01-26 19:08:42 890 1
原创 MR-2.输入格式(InputFormat)FileInputFormat源码分析
FileInputFormat 是InputFormat一个实现类。主要做两个方面的功能(1) 为一个job作业提供文件输入,FileInputFormat提供四个静态方法来设置job作业的输入路径public static void addInputPath( Job j ob, Path path)public static void addInputPaths(
2016-01-26 19:05:19 1097
原创 MR-2.输入格式(InputFormat)基本介绍
Hadoop可以处理多种不同类型的数据格式,从文本型数据到数据库中的数据都可以。 基于InputFormat的实现类如图所示 输入分片和记录(InputSplitand Record)一个Input split是整个输入文件的一块,每个Input split被单独的MapTask处理,每个split被切分成多个记录,Map处理每条记录(k/v)。Input spli
2016-01-26 19:01:32 2177
原创 MR-2.MapReduce序列化&反序列化&MapReduce函数
MapReduce序列化和反序列化序列化(Serialization)是指把结构化对象转化为字节流。反序列化(Deserialization)是序列化的逆过程。即把字节流转回结构化对象。 Hadoop的序列化格式:Writable序列化在分布式环境的两大作用:进程间通信,永久存储。 Writable接口, 有两个方法分别为write和readFields,分别根据
2016-01-26 18:57:52 1968
原创 MR-1.MapReduce概述
是一计算模型。输入部分来自于HDFS,输出部分写入到HDFS。分为两阶段,先是map阶段然后是reduce阶段。1. map读取hdfs中的数据,然后把原始数据进行规范处理2. reduce是接受map阶段输出的数据,自身进行汇总,然后把结果写入到hdfs中
2016-01-26 18:50:56 589
pytorch-flask-api.zip
2019-08-26
word2vec-sentiments-IMDB-Data.zip
2019-07-26
tachyon 介绍
2016-02-18
CDH的安装和使用
2015-12-08
solr搜索引擎-课程文件培训
2014-02-20
solr企业级搜索引擎准备阶段
2013-11-19
积分商城基于Solr搜索引擎PPT
2013-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人