
hadoop
sdut菜鸟
我得21个C币呢???
展开
-
【Hadoop】1.MapReduce概述
一. MapReduce概念MapReduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架。Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在hadoop集群上。二. 为什么要用MapReduce海量数据在单机上处理受硬件资源限制一旦将单机版程序扩展到集群来分布式运行,将极大地增加程...原创 2019-03-23 22:13:08 · 479 阅读 · 0 评论 -
【Hive笔记】4.2——数据表的创建和增删改
简介hive对于数据表的创建语句是很复杂的。创建表建表语句CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [...原创 2019-08-13 17:09:33 · 424 阅读 · 0 评论 -
【Hadoop】运行MR任务,出现Container is running beyond physical memory limits错误
运行一次任务,运行了很长时间,出现了 ***Container is running beyond physical memory limits***的错误。Container [pid=27842,containerID=container_XXXXX] is running beyond physical memory limits. Current usage: 8.3 GB of 8 G...原创 2019-08-20 19:36:18 · 8511 阅读 · 0 评论 -
【Hive笔记】4.3——分区表
简介分区表实际是对应一个HDFS文件系统上的独立的文件,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。分区表的基本操作...原创 2019-08-21 14:51:59 · 477 阅读 · 0 评论 -
【Hive笔记】5.1——DML数据操作之数据导入
向表中装载数据(Load)语法:load data [local] inpath 'XXXX' [overwrite] into table tb_name [partition (partcol1=val1,…)];(1) load data:表示加载数据(2)local :表示从本地加载数据到hive表;否则从HDFS加载数据到Hive表(3)inpath:表示加载数据的路径(4)...原创 2019-08-21 20:09:36 · 303 阅读 · 0 评论 -
【Hive笔记】5.2——DML数据操作之数据导出
Insert导出查询结果导出到本地:insert overwrite local directory '/home/lzx/tmpfile/student5' select * from student5;student5是分区表,这里必须使用 overwrite将查询的结果格式化导出到本地:insert overwrite local directory '/home/lzx/tmpf...原创 2019-08-22 20:50:43 · 164 阅读 · 0 评论 -
【Oozie笔记】1. Oozie简介及其功能模块介绍
Oozie简介Oozie英文翻译为:驯象人。一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对hadoop Mapreduce,pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。在任务开发中,最方便的就是使用linux自带的crond定时启动任务,因为Oozie的框架体量...原创 2019-08-31 13:00:55 · 1011 阅读 · 0 评论 -
【Oozie笔记】2. Oozie的部署
简介这一篇文章主要写如何部署Oozie,看了一下发现Oozie的包比hadoop的包都大,确实是一个体量很大的定时调度任务框架。前期准备包准备:ext-2.2.zip(一个JS的框架,主要用于Oozie前端的支持)hadoop-2.5.0-cdh5.3.6.tar.gz(使用的是CDH版本的Hadoop)oozie-4.0.0-cdh5.3.6.tar.gz (也是CDH版本的Ooz...原创 2019-09-01 01:30:26 · 341 阅读 · 0 评论 -
【Oozie笔记】3. Oozie调度shell脚本
简介Oozie已经安装完成了,我们使用Oozie调度Shell脚本。调度Shell脚本解压一下官方案例模板root@master:/opt/module/oozie-4.0.0-cdh5.3.6# tar -zxvf oozie-examples.tar.gz在examples目录下的apps中都是oozie的官方示例,平时多看看也是不错的。现在我们拿出来shell的示例/opt/m...原创 2019-09-01 17:33:33 · 2718 阅读 · 0 评论 -
【Oozie笔记】4. Oozie逻辑调度执行多个Job
简介oozie不仅可以执行单个任务,也可以在一个任务中执行多个job,只需要添加多个的action,并让第一个任务成功之后指向第二个任务等以此类推。执行多个job任务相比执行多个任务,我们的oozie的任务配置文件是需要做改动的。job.propertiesnameNode=hdfs://master:8020jobTracker=master:8032queueName=defau...原创 2019-09-02 20:00:59 · 886 阅读 · 0 评论 -
【Oozie笔记】5. Oozie调度MapReduce任务
简介oozie运行mapreduce任务需要把用到的lib包放到任务目录的lib文件夹内,其他的文件和shell一样,只是里面的内容有变动。运行Hadoop的官方示例-wordCount示例jar包在hadoop-2.5.0-cdh5.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jarHDFS的文件...原创 2019-09-03 20:02:00 · 560 阅读 · 0 评论 -
【Oozie笔记】6. Oozie定时任务/循环任务
简介在使用oozie的时候我们经常使用定时任务,oozie给我们提供了调度定时任务的方法,就是Coordinator。目的就是周期性调度任务。Coordinator调度定时任务在使用Coordinator调度任务的首要时间就是调整好时区问题。如果你的服务器使用date -R 显示为:root@master:~# date -RTue, 03 Sep 2019 20:23:57 +080...原创 2019-09-04 19:30:26 · 1982 阅读 · 0 评论 -
【Hadoop】出错:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist
简介在一次运行MR任务的时候,使用hadoop jar 或者 yarn jar都可以正常运行,但是使用java -cp的时候就总是出现Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: file:/wordcount/w...原创 2019-09-05 10:48:25 · 9070 阅读 · 1 评论 -
【Hadoop】 在yarn界面查看聚合日志报错
报错内容:Failed while trying to construct the redirect url to the log server.Log Server url may not be configured java.lang.Exception:Unknown container.Container either has not started or has already com...原创 2019-09-05 11:00:28 · 2328 阅读 · 0 评论 -
【Hive笔记】6——Hive查询,分桶,常用函数,窗口函数
查询语句语法SELECT [ALL | DISTINCT] select_expr, select_expr,... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_list][CLUSTER BY col_list| [DISTRIBUTE BY col_list] [S...原创 2019-09-13 16:17:42 · 3025 阅读 · 0 评论 -
【Hive笔记】4.1——数据库的增删改查
简介在hive中有数据库和数据表的概念,其实和传统数据库的概念是一样的。但是在hive中不管创建的是数据库还是数据表都是文件夹。一. 创建数据库创建数据库,数据在HDFS上的默认存储路径是/user/hive/warehouse/*.db .create database db_name;避免要创建的数据库已经存在,所以增加if not exists判断(标准写法)creat...原创 2019-08-05 17:25:29 · 525 阅读 · 0 评论 -
【Hadoop】10.MapReduce框架原理-连接(Join)
说明在MR中经常会使用的是join,而join分为两种:一是ReduceJoin;二是MapJoin。ReduceJoinReduceJoin工作原理Map端的主要工作:为来自不同表或文件的key/value时,打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出。Reduce端的主要工作:在Reduce端以连接字段作为key的分组已经完...原创 2019-06-04 09:28:44 · 632 阅读 · 0 评论 -
【Hadoop】2.MapReduce示例——WordCount(统计单词)
过程分析统计单词,把数据中的单词分别统计出出现的次数过程图(图片源自网络):实现Mapper、Reducer、DriverWordCountMapper :public class WordCountMapper extends Mapper<LongWritable,Text,Text,IntWritable> { private Text k = new T...原创 2019-03-24 09:01:39 · 1260 阅读 · 0 评论 -
【Hadoop】3.Hadoop序列化以及序列化示例
为什么要序列化生成的对象存在内存中,关机断电就没有了。而且生成对象只能在本地得进程使用,不能被发送到网络上的另外一台计算机。然而系列化可以存储对象,可以将对象发送到远程计算机中。什么是序列化序列化:把内存中的对象转换为字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。反序列化:将收到的字节序列(或其他数据传输协议)或者是硬盘的持久化数据,转换为内存中的对象为什么不用java的...原创 2019-03-28 20:01:18 · 881 阅读 · 0 评论 -
【HADOOP】关于MapReduce中的reduce参数中的Text重复值问题
说明在一次Mapreduce任务处理中,碰到了一个有趣的问题,关于在reduce过程中 Iterable<Text>获取值的问题。问题重现待处理的文本文件内容:20012 小明20015 小红20012 王伟20013 刘浩20015 王明20015 王亮20015 曾仓20012 刘工目标代码:protected void reduce(Text key,...原创 2019-04-25 20:42:11 · 1401 阅读 · 0 评论 -
【HADOOP】java.lang.Exception: org.apache.hadoop.fs.ChecksumException: Checksum error错误
问题描述再一次本地测试mapreduce任务的时候,用到了一些导出的文件,但是这些文件很大我就直接做了删减,导致在使用时爆出java.lang.Exception: org.apache.hadoop.fs.ChecksumException: Checksum error错误问题原因因为我修改了文件内容,导致CRC校验文件校验失败。hadoop在使用文件的时候如果文件夹内有CRC文件,就...原创 2019-04-25 16:30:31 · 2302 阅读 · 0 评论 -
【Hadoop】4.MapReduce框架原理-InputFormat数据输入
InputFormat数据输入切片与MapTask并行度决定机制MaskTask的并行度决定Map阶段的任务处理并发度,进而影响整个job的处理速度。在这里并不是MapTask越多越好,也不是越少越好。首先说一下MapTak并行决定机制:原创 2019-05-06 15:15:24 · 768 阅读 · 0 评论 -
【Hadoop】5.MapReduce框架原理-自定义InputFormat
说明自定义InputFormat一般应用于hadoop自带的InputFormat类型不能满足某个应用场景中,需要我们自定义来解决自定义步骤自定义Inputformat步骤如下:自定义一个类继承InputFormat改写RecordReader,实现一次读取一个完成的文件封装为KV在输出时使用SequenceFileOutPutFormat输出合并文件SequenceFile文件...原创 2019-05-09 10:19:35 · 321 阅读 · 0 评论 -
【Hadoop】7.MapReduce框架原理-Shuffle机制-7.2排序
排序简述排序是mapReduce框架中最重要的操作之一。在MapTask和ReduceTask均会对数据按照key进行排序。该操作属于Hadoop的默认行为。任何应用程序的数据均会被排序,而不管逻辑上是否需要。hadoop默认的排序是按照字典顺序进行排序,且实现该排序的方法是快速排序。在hadoop中任务会进行几次排序?对于Maptask,它将会处理的结果暂时放到环形缓冲区中,当环形缓冲区...原创 2019-05-14 10:51:27 · 348 阅读 · 0 评论 -
【Hadoop】7.MapReduce框架原理-Shuffle机制-7.3 Combiner合并
Combiner合并理论Combiner是MR程序中Mapper和Reducer之外的一种组件。Combiner组件的父类就是Reducer。Combiner和Reducer的区别在于运行的位置Combiner是在每一个MapTask所在的节点运行;Reducer是接受全局所有Mapper的输出结果Combiner的意义是对每一个Maptask的输出进行局部汇总,以减少网络传输量。...原创 2019-05-14 11:12:58 · 250 阅读 · 0 评论 -
【Hadoop】7.MapReduce框架原理-Shuffle机制-7.1Patition分区
什么是Shuffle在Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle1. Partition分区默认分区官方默认的分区是哈希分区@Public@Stablepublic class HashPartitioner<K2, V2> implements Partitioner<K2, V2> { public HashPartit...原创 2019-05-09 19:21:46 · 612 阅读 · 0 评论 -
【Hadoop】8.MapReduce框架原理-MapTask和ReduceTask的工作机制
MapTask工作机制MapTask工作机制一共分为:Read阶段,Map阶段,Collect阶段,溢写阶段,Combine阶段ps: 来自尚学堂pptRead阶段: MapTask通过用户编写的ReacordReader,从输入Insplit中解析出一个个key/value。Map阶段: 该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/...原创 2019-05-14 21:14:57 · 666 阅读 · 0 评论 -
【Hadoop】9.MapReduce框架原理-OutputFormat数据输出
在前面,我们知道了多种输入模式,输出也一样。OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了OutputFormat接口。OutputFormat 接口实现类文本输出TextOutputFormat默认的输出格式是TextOutputFormat ,它把每条记录写为文本行。它的键和值可以是任意类型,因为TextOutputFormat调用toS...原创 2019-05-16 19:28:50 · 916 阅读 · 0 评论 -
【Hadoop】关于Sqoop导出数据到postgresql时schema的设置问题
说明使用sqoop导出导入数据非常的方便,但是对于postgresql(简称PG库)时就碰到了一个问题,pg库是三层结构的database——schema——table。如果想导入到某一个模式下,那就需要指定模式才可以。但是sqoop如何指定pg库的模式?解决办法碰到问题首先要看文档才对的。文档这里已经指出如何指定pg库的schema了。官方文档地址文档已经说了,如果向指定schema需要...原创 2019-06-01 17:17:58 · 3362 阅读 · 2 评论 -
【Hadoop】12.MapReduce框架原理-hadoop数据压缩
压缩概述压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在运行MR程序时,IO操作,网络数据传输,shuffle和merge都要花费大量的时间,尤其是数据规模很大和工作负载密集的情况下,因此使用数据压缩显的非常重要。鉴于磁盘IO和网络带宽是hadoop的宝贵资源,**数据压缩对于节省资源,最小化磁盘IO和网络传输非常有帮助。可以在任意MapReduc...原创 2019-06-07 11:08:14 · 311 阅读 · 0 评论 -
【Hadoop】11.MapReduce框架原理-MR计数器
说明Hadoop为每个作业维护若干内置计数器,以描述多项指标。例如,某些计数器记录已处理的字节数和记录数,使用户可监控已处理的输入数据量和以产生的输出数据量。计数器API采用枚举的方法统计计数enum MyCounter{MALFORORMED,NORMAL}//对枚举定义的自定义计数器加1context.getCounter(MyCounter.MALFOFORMED).increm...原创 2019-06-04 01:22:36 · 301 阅读 · 0 评论 -
【Hive笔记】练习hive操作
1.使用hive统计出每个用户的累积访问次数数据准备:userIdvisitDatevisitCountu012017/1/215u022017/1/236u032017/1/228u042017/1/203u012017/1/236u012017/1/218u022017/1/236u012017/...原创 2019-09-19 17:25:57 · 745 阅读 · 0 评论