![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
闻香识代码
这个作者很懒,什么都没留下…
展开
-
Hive (Hadoop)之数据压缩和存储知识总结
Hive 之数据压缩和存储知识总结1. 背景2. hadoop源码编译来支持snappy压缩方式3. hadoop压缩参数配置4. 开启map输出阶段压缩5. 开启reduce输出阶段压缩6. 文件存储格式(压缩和非压缩)7.存储和压缩结合8. 总结...原创 2020-09-09 20:53:22 · 378 阅读 · 0 评论 -
Hive 数据操作之JDBC总结
Hive 数据操作之JDBC总结1. 背景Hive作为一个处理结构化数据和文件的工具,可以通过多种方式进行数据操作和处理。Hive本身可以简单看成一个将sql语句转化为mapreduce程序或者类mapreduce程序的转换器,数据处理还是由转换出来的mapreduce程序在处理。Hive可以将结构化数据转换为一张表,然后通过HQL(属于SQL规范的一种实现方式)来进行数据查询和操作。数据操作则可以简单分为几类操作数据导入数据导出数据插入数据查询数据更新和删除(在hive的场景中原创 2020-09-05 10:17:23 · 1764 阅读 · 0 评论 -
Hive 总结之数据类型归纳
Hive 总结之数据类型归纳1. 背景Hive的本质是一个转换工具,将类sql语句(HQL)转换为mapreduce程序或者类mapreduce程序(hadoop的mapreduce或者spark)。Hive可以处理结构化数据并转换为一张表来提供对外的数据查询和分析。但本身不能存储数据。Hive的表的元数据(schema等信息)存储在数据库中,一般配置为使用mysql存储,不设置就是默认的derby数据库存储。数据信息则存储在hdfs中。既然涉及到类SQL(HQL),则必定语法上主体和SQL规范原创 2020-09-04 23:06:42 · 1284 阅读 · 0 评论 -
Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析
Hive Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析1. 背景使用hive过程中,遇到问题有时候信息不是很足够,这时候就需要去想办法查看错误信息。而这类服务器框架的错误信息一般都存放在日志中hive的日志不设置的话,默认存放在/tmp下当前用户所在目录,本文演示是root用户,所以文件存放在tmp文件夹下的root目录下/tmp/root已经按照日期和时间进行存储,查看最原创 2020-09-04 21:34:31 · 49271 阅读 · 8 评论 -
Hive 3.1.2安装(基于Centos7.x和Hadoop3.2.1)
Hive 3.1.2安装(基于Centos7.x和Hadoop3.2.1)背景Hadoop大数据套件被应用后,进行数据处理就必须编写mapreduce代码。而相当一部分大数据处理需求都是进行数据的查询操作(实际数据库的操作中,读写操作比例也有80%:20%的说法)Facebook的工程师也遇到这个问题。编写mapreduce对于程序员还是有一定门槛,但是会使用sql的人群更庞大。所以Facebook就发明了Hive,一个把sql语句转换为mapreduce代码的转换器。不过Hive的使用场景,还是原创 2020-08-24 20:47:32 · 2883 阅读 · 4 评论 -
MapReduce 程序在Yarn上执行流程图
MapReduce 程序在Yarn上执行流程图1.Yarnyarn作为一个资源调度和任务监控平台,上面可以运行各种程序。包括mapreduce、spark、hive、flink等等yarn出现后,也相对缓和了各个大数据分析引擎之间的竞争,都在开发yarn版本。也就是资源调度和任务监控让yarn去处理,各个数据引擎就专注于数据分析即可。2.mapreduce程序在yarn的运行流程整体流程以图片形式展示如果想要了解mapreduce程序如何在yarn上运行,请查看我的另外一篇博客。mapr原创 2020-08-23 22:41:07 · 574 阅读 · 0 评论 -
MapReduce 详细流程图总结
MapReduce 详细流程图总结1.mapreduce阶段map阶段shuffle阶段reduce阶段其中shuffle阶段,俗称奇迹发生的地方,主要是做了多次的分区和排序,并且对中间数据做了落地磁盘的处理,确保了数据安全,同时数据能够按照key进行划分,并且按照key排序。2.mapreduce详细流程图3.mapreduce思想总结分布式计算其实就一个思路,如何让程序由多台计算机并行处理程序是由数据+代码组成,这时候顺其自然的,将数据进行划分,将代码流程进行划分。这样每台计算原创 2020-08-22 23:01:28 · 1664 阅读 · 1 评论 -
MapReduce 归并排序利用之高效TopN案例
MapReduce 归并排序利用之高效TopN案例1.MapReduce排序根据mapreduce的内部机制可知,分区和排序贯穿整个过程。maptask的key,value输出到环形缓冲区中,每个maptask的数据从环形缓冲区溢写到临时文件,相同maptask的临时文件合并为一个文件,reduce从maptask产生的文件中针对key进行分组提取。这些排序,默认都是根据key来进行字符串升序排序,也就是ASCII码表的字母顺序升序排序。2.问题当需要对一个很大的分布式文件中数据原创 2020-08-22 21:30:27 · 919 阅读 · 0 评论 -
MapReduce 之小文件合并(HDFS小文件预处理)
MapReduce 之小文件合并1.HDFS之小文件背景知识HDFS作为分布式文件系统,自身机制原因,每一个数据块(默认128MB一个数据块)都会在namenode节点的元数据中保存一份索引。如果是小文件,例如1MB以下的小文件,由于HDFS本身机制,每个文件都会建立一个索引。这样的小文件过多,会导致namenode的索引文件过大。namenode的索引文件在启动时会加载到namenode的内存中,而内存是有限的。考虑到HDFS是分布式文件系统,里面存储的文件数量会非常大,所以这些小文件单独存放到原创 2020-08-22 20:27:19 · 1729 阅读 · 0 评论 -
HDFS 之Java API归纳(对照Zookeeper的java api)
HDFS 之Java API归纳1. HDFS访问方式HDFS和文件IO、mysql、yarn、zookeeper一样,都同时提供了命令行客户端,java api访问方式mysql、文件IO还有图形化客户端,navicat,图形化操作系统进行文件创建,删除等操作。2. HDFS的java api汇总2.1 封装获取FileSystem对象的代码private static FileSystem getFileSystem() throws URISyntaxException, IOExce原创 2020-08-22 17:24:06 · 150 阅读 · 0 评论 -
Linux centos7.x安装zookeeper 3.4.6教程
Linux centos7.x安装zookeeper 3.4.6教程1. 环境准备虚拟机集群,VMWare15.xlinux centos 7.x集群,一般安装4–5台。小技巧,安装好一台之后,使用vmware的镜像克隆技术,克隆多台。克隆之后,修改一下ip地址,hostname等配置即可。确保linux镜像系统中防火墙是关闭的下载zookeeper的linux安装压缩包,版本是3.4.62. 安装zookeeper上传安装包到某一台节点服务器上在app安装目录下解压缩,linux一般原创 2020-08-21 21:37:02 · 803 阅读 · 0 评论 -
MapReduce 数据倾斜以及解决思路
MapReduce 数据倾斜以及解决思路1.小背景在mapreduce的分布式解决框架中,数据处理主要分为2个步骤,map阶段和reduce阶段map阶段主要是数据转换,也就是按照预期把输入的数据进行转换,变为中间数据中间数据再分发给reduce阶段作为输入数据源进行处理。在这个过程中,由于数据本身按照设计的key规则划分时就不均匀,再加上使用默认的分区规则进行对key进行计算时,也有产生数据倾斜的可能(key.hashcode() % numberOfReduceTasks)2.大背景原创 2020-08-20 23:25:41 · 1904 阅读 · 1 评论 -
MapReduce 集群程序之本地windows运行
MapReduce 集群程序之本地windows运行1.环境准备Idea 2020版,如果可以,请支持正版Idea,因为破解版本确实会出现一些奇奇怪怪的bug。正版不会,相信这肯定是偶然现象。创建maven项目1.配置的pom.xml文件中添加以下依赖信息。2.检查Idea中关于maven的设置,主要是maven安装路径,maven的settings.xml文件以及maven本地仓库目录路径。<build> <plugins>原创 2020-08-20 21:43:16 · 921 阅读 · 0 评论 -
MapReduce 集群程序之Yarn运行
MapReduce 集群程序之上传到Linux运行1. 准备环境Idea,请使用正版。破解版亲测确实会有一些奇怪的bug创建maven项目pom.xml文件中,把相关依赖jar包信息写上。这里是Hadoop 3.2.1版本,不是官方最新,但相对稳定。注意,maven虽然可以自己进行依赖jar包管理,但如果引入的多个jar包本身版本之间不兼容,也是会出问题的。<build> <plugins> <plugin>原创 2020-08-20 20:55:54 · 541 阅读 · 0 评论 -
Hadoop 3.2.1Yarn虚拟机集群安装配置
Hadoop 3.2.1Yarn虚拟机集群启动配置主要配置2个文件1.yarn-site.xml这个文件位置在hadoop安装目录的etc下,我的目录如下/opt/apps/hadoop-3.2.1/etc/hadoop<!-- resource,manager主节点所在机器 --><property><name>yarn.resourcemanager.hostname</name><value>doit01</value原创 2020-08-20 11:55:52 · 880 阅读 · 0 评论 -
Hadoop MapReduce入门程序
Hadoop MapReduce入门程序1.数据准备1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001363157995052 13826544101 5C-0E-8B-C7-F1-E0:CMCC 120.197.40.4 4 0 264 0 2001363157991076 13926435656 20-10-7A-28-CC-0A:原创 2020-08-19 20:41:42 · 145 阅读 · 0 评论 -
MapReduce流程简要概括
MapReduce流程简要概括1.分布式计算分布式计算很重要的思想就是,一个问题拆分为多个步骤和多份数据,然后很多台计算机一起处理,最后对这些数据处理结果汇总聚合就是最终结果。我们的程序就是数据加逻辑/算法(代码),而要让多台电脑能够一起参与到问题解决中来,首先需要把数据和代码进行分割,这样让每台计算机都能参与计算与处理。在这个过程中,如何保证各个计算机分到的数据和任务都是相对均衡跟适合的就很考验程序机制了。例如集群中有高配电脑和低配电脑,如何协调,让高配电脑和低配电脑都能分配到适合自己硬件配置原创 2020-08-19 19:51:08 · 3465 阅读 · 0 评论 -
HDFS原理简图汇总
HDFS原理简图汇总1.HDFS结构简图2.namenode和datanode心跳机制3.namenode元数据更新的checkpoint机制4.hdfs写数据机制5.hdfs读数据机制一图胜千言,把文字转为图形确实可以更进一步对知识做提炼,如有错漏,欢迎大家留言指正。...原创 2020-08-16 22:26:34 · 310 阅读 · 0 评论 -
Hadoop之HDFS命令行操作归纳
Hadoop之HDFS命令行操作归纳作为一个分布式文件系统,HDFS对外提供了2种访问方式,一种是shell命令,一种是java api接口。当然,2种本质都一样,都是通过配置的hdfs入口进行访问,不过一种包装为shell命令,一种包装为java api的方式。注意需要先配置好环境变量,这样方便在任意目录下都能调用hdfs的命令1.文件查看1.hdfs dfs -ls 路径名(hdfs中的绝对路径)2. hdfs dfs -cat 文件路径名3. hdfs dfs -tail 文件路径名4原创 2020-08-15 23:06:39 · 628 阅读 · 0 评论