hadoop
文章平均质量分 60
常生果
爱好编程,喜欢创造!
展开
-
基于hadoop搜索引擎实践——总体概述(一)
1.系统工作原理 搜索引擎是为用户提供信息检索服务的工具。在整个搜索系统中可以分为在线处理和离线处理两部分。搜索引擎的离线处理主要是在接受用户查询的请求之前需要处理的一系列工作。主要包括抓取并整理网页信息,建立倒排索引文件,建立二级索引文件等。离线处理涉及海量的数据,实时性要求不高。 在线处理主要是用户输入查询请求,搜索引擎为用户响应查询结果所完成的一系列工作。这部分主要包括:转载 2017-08-24 21:55:30 · 1810 阅读 · 0 评论 -
Hadoop 里MapReduce里 实现多个job任务 包含(迭代式、依赖式、链式)
一、迭代式,所谓的迭代式,下一个执行的Job任务以上一个Job的输出作为输入,最终得到想要的结果。 这里我只写关键的代码了[java] view plain copy Job job = new Job(new Configuration(),“test”); JobConf jobConf=(JobConf) job.getConfiguration(); jobConf转载 2017-11-03 10:29:00 · 787 阅读 · 0 评论 -
Hadoop-MapReduce2的几个基本示例
去重处理(Distinct)类似于db中的select distinct(x) from table , 去重处理甚至比WordCount还要简单,假如我们要对以下文件的内容做去重处理(注:该文件也是后面几个示例的输入参数)28832353027基本上啥也不用做,在map阶段,把每一行的值当成key分发下去,然后在reduce阶段回收上来就可原创 2017-11-03 11:02:51 · 329 阅读 · 0 评论 -
ETL讲解
https://www.cnblogs.com/yjd_hycf_space/p/7772722.htmlETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。...转载 2018-08-30 12:46:03 · 258 阅读 · 0 评论 -
MongoDB + Spark: 完整的大数据解决方案
时间 2016-09-02 17:57:23 MongoDB中文社区原文 http://www.mongoing.com/tj/mongodb_shanghai_spark主题 MongoDB Spark 大数据MongoDB上海的活动已经结束快1个月了,我们再来回顾一下TJ在大会上进行的精彩分享吧~ MongoDB + Spark: 完整的大数据计算解决方案。Spark介绍...转载 2018-08-30 15:11:11 · 268 阅读 · 0 评论 -
Uber开源JVM Profiler,用以跟踪分布式Java虚拟机
6月下旬,Uber开源了一个分布式性能分析器,名为JVM Profiler。Uber搭建这一工具的目的是解决他们在使用Apache Spark框架过程中的资源配置问题。Apache Spark是一个非常流行的框架,主要用于处理大型数据流问题,这正是Uber所需要的。JVM Profiler是为Spark而建的,但它也可以被应用于任何基于JVM的服务或应用。Uber的需求是在运行在数以千计的机器...转载 2018-08-30 15:26:17 · 539 阅读 · 0 评论 -
Hive学习之路 (二十一)Hive 优化策略
目录一、Hadoop 框架计算特性 二、优化常用手段 三、排序选择 四、怎样做笛卡尔积 五、怎样写 in/exists 语句 六、设置合理的 maptask 数量 七、小文件合并 八、设置合理的 reduceTask 的数量 九、合并 MapReduce 操作 十、合理利用分桶:Bucketing 和 Sampling 十一、合理利用分区:Partition 十二、Jo...转载 2018-09-03 15:35:49 · 219 阅读 · 2 评论 -
Sqoop学习之路
一、概述 二、工作机制 三、安装 1、前提概述 2、软件下载 3、安装步骤 四、Sqoop的基本命令 基本操作 示例 五、Sqoop的数据导入 1、从RDBMS导入到HDFS中 2、把MySQL数据库中的表数据导入到Hive中 3、把MySQL数据库中的表数据导入到hbase 正文回到顶部一、概述sqoop 是 apache 旗下一款...转载 2018-09-03 15:55:05 · 401 阅读 · 0 评论 -
Spark RDD 详细介绍
RDD(Resilent Distributed Datasets)俗称弹性分布式数据集,是Spark 底层的分布式存储的数据结构,可以说是 Spark 的核心, Spark API 的所有操作都是基于 RDD 的. 有容错机制并可以被并行操作的元素集合,具有只读、分区、容错、高效、无需物化、可以缓存、RDD依赖等特征。RDD只是数据集的抽象,分区内部并不会存储具体的数据。 R...转载 2018-09-13 17:47:58 · 1121 阅读 · 0 评论 -
Spark宽窄依赖
Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系。针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow dependency)和宽依赖(wide dependency, 也称 shuffle dependency).宽依赖与窄依赖窄依赖是指父RDD的每个分区只被子RDD的一个分区所使用,...原创 2018-09-13 18:49:02 · 468 阅读 · 0 评论 -
Spark Shuffle FetchFailedException
spark大规模数据处理中,有个比较常见的错误:org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle 0ERROR shuffle.RetryingBlockFetcher: Failed to fetch block shuffle_0_1300_10...原创 2018-09-13 16:10:43 · 2952 阅读 · 0 评论 -
Spark Stage的划分
RDD之间有一系列的依赖关系,依赖关系又分为窄依赖和宽依赖。Spark中的Stage其实就是一组并行的任务,任务是一个个的task 。窄依赖父RDD和子RDD partition之间的关系是一对一的。或者父RDD一个partition只对应一个子RDD的partition情况下的父RDD和子RDD partition关系是多对一的。不会有shuffle的产生。父RDD的一个分区去到子RDD的...转载 2018-09-14 15:38:10 · 20835 阅读 · 5 评论 -
SPARK资源参数调优
资源参数调优了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。所谓的Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。以下参数就是Spark中主要的资源参数,每个参数都对应着作业运行原理中的某个部分,我们同时也给出了一个调优的参考值。num-executors参数...转载 2018-09-14 15:43:01 · 312 阅读 · 0 评论 -
hadoop 多个Mapper和Reducer的Job
对于复杂的mr任务来说,只有一个map和reduce往往是不能够满足任务需求的,有可能是需要n个map之后进行reduce,reduce之后又要进行m个map。在hadoop的mr编程中可以使用ChainMapper和ChainReducer来实现链式的Map-Reduce任务。ChainMapper以下为官方API文档翻译: ChainMapper类允许在单一的Map转载 2017-09-09 20:00:03 · 2283 阅读 · 0 评论 -
hadoop Map-Reduce入门讲解
Mapper和Reduce,则需要生成一个Map-Reduce得任务(Job),其基本包括以下三部分:输入的数据,也即需要处理的数据 Map-Reduce程序,也即上面实现的Mapper和Reducer 此任务的配置项JobConf欲配置JobConf,需要大致了解Hadoop运行job的基本原理:Hadoop将Job分成task进行处理,共两种task:map task和reduc...转载 2018-09-14 15:44:07 · 454 阅读 · 0 评论 -
基于hadoop搜索引擎实践——网页爬取(二)
基于hadoop搜索引擎——网页爬取本系统抓取的是某网站的bbs论坛,具体情况可以根据自己的需求选择。1.爬取思路 爬取策略是深度优先爬取。算法思想如下: 从网站主页开始,执行如下步骤: (1)选择一个尚未爬取的频道(比如有社会,人文,娱乐);如果所有频道都已经爬完,算法结束 (2)在已选择的频道中,选择一个尚未爬取的板块(比如有八卦转载 2017-08-25 17:37:36 · 756 阅读 · 0 评论 -
基于hadoop搜索引擎实践——生成倒排表文件(四)
2.3 建立倒排表文件(下面原理引用刘鹏hadoop实战) 在分析完分词,Rank值得计算等问题的解决方案之后,就可以设计相应的MapReduce算法,来建立倒排表,计算,保存Rank和Position等附属信息。 首先定义倒排表存储信息格式,这是算法的输出目标,也是查询程序从倒排表中获取信息的接口。本系统倒排表的存储格式定义如下: (1)倒排表文件(INVERT转载 2017-08-27 11:45:12 · 432 阅读 · 0 评论 -
Hadoop MapReduce多路径输入和多个类型输入
1. 多路径输入FileInputFormat是所有使用文件作为其数据源的 InputFormat 实现的基类,它的主要作用是指出作业的输入文件位置。因为作业的输入被设定为一组路径, 这对指定作业输入提供了很强的灵活性。FileInputFormat 提供了四种静态方法来设定 Job 的输入路径:public static void addInputPath(Job job,Path转载 2017-09-06 14:35:04 · 621 阅读 · 0 评论 -
Hadoop MapReduce多路径输入与多个输入 例子
MapReduce多路径输入与多个输入多个MAP实现不同格式的文件读取和解析工作原创 2017-09-06 14:45:03 · 1009 阅读 · 0 评论 -
Hadoop MultipleOutput例子
package com.analyzer.search_task;import java.io.IOException;import org.apache.commons.lang.StringUtils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.a原创 2017-09-06 14:55:59 · 348 阅读 · 0 评论 -
Hadoop MultipleOutputs输出到多个文件中
1.输出到多个文件或多个文件夹: 驱动中不需要额外改变,只需要在MapClass或Reduce类中加入如下代码private MultipleOutputs mos;public void setup(Context context) throws IOException,InterruptedException { mos = new MultipleOutputs(context转载 2017-09-06 14:57:16 · 684 阅读 · 0 评论 -
Hadoop Combiner使用简介
Combiner函数是一个可选的中间函数,发生在Map阶段,Mapper执行完成后立即执行。使用Combiner有如下两个优势:Combiner可以用来减少发送到Reducer的数据量,从而提高网络效率。Combiner可以用于减少发送到Reducer的数据量,这将提高Reduce端的效率,因为每个reduce函数将处理相对较少记录,相比于未使用Combiner之前。转载 2017-09-06 14:50:31 · 792 阅读 · 0 评论 -
Hadoop MapReduce中的Partitioner
Partitioners负责划分Maper输出的中间键值对的key,分配中间键值对到不同的Reducer。Maper输出的中间结果交给指定的Partitioner,确保中间结果分发到指定的Reduce任务。 在每个Reducer中,键按排序顺序处理(Within each reducer, keys are processed in sorted order)。Combiner转载 2017-09-06 15:29:55 · 881 阅读 · 0 评论 -
Hadoop MapReducer工作过程
1. 从输入到输出一个MapReducer作业经过了input,map,combine,reduce,output五个阶段,其中combine阶段并不一定发生,map输出的中间结果被分到reduce的过程成为shuffle(数据清洗)。在shuffle阶段还会发生copy(复制)和sort(排序)。在MapReduce的过程中,一个作业被分成Map和Reducer两转载 2017-09-06 16:21:04 · 386 阅读 · 0 评论 -
Hadoop上Data Locality
Hadoop上的Data Locality是指数据与Mapper任务运行时数据的距离接近程度(Data Locality in Hadoop refers to the“proximity” of the data with respect to the Mapper tasks working on the data.)1. why data locality is imporant转载 2017-09-06 16:30:46 · 587 阅读 · 0 评论 -
Hadoop 大量小文件问题及解决方案
1. HDFS上的小文件问题小文件是指文件大小明显小于HDFS上块(block)大小(默认64MB)的文件。如果存储小文件,必定会有大量这样的小文件,否则你也不会使用Hadoop(If you’re storing small files, then you probably have lots of them (otherwise you wouldn’t turn to Hadoop)转载 2017-09-06 16:56:41 · 1291 阅读 · 0 评论 -
Hive安装
1. 下载可以从http://hive.apache.org/downloads.html下载你想要的版本,在这我们使用的是2.1.0版本2. 解压把下载好的文件解压到~/opt目录下:xiaosi@yoona:~$ tar -zxvf apache-hive-2.1.0-bin.tar.gz -C opt/3. 配置根据模板创建配置文件转载 2017-09-06 17:06:46 · 256 阅读 · 0 评论 -
Spark基础之shuffle原理分析
一 概述Shuffle是对数据重新组合和分配Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂在MapReduce框架,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce;而Reduce阶段负责从Map端拉取数据并进行计算。在整个shuffle过程中,往往伴随着大量的磁盘和网络I/O。...转载 2018-09-14 16:40:18 · 242 阅读 · 0 评论