mapreduce
闻香识代码
这个作者很懒,什么都没留下…
展开
-
Sqoop简介(1.4.7 最新版本)
Sqoop简介1. 背景1.1 概览在大数据处理业务框架中,需要处理的数据一般是2个来源(行为日志和业务数据),有些公司如果有python部门,就需要加上python数据这一个。python数据因为各个公司以及各个页面和接口中数据差异较大,一般需要针对公司和特定业务编写程序进行解析,然后存入HDFS或者其他分布式文件系统中。一般都是编写Spark程序(可以分布式进行处理,效率对比java程序要更高。当然,也可以使用java编写mapreduce程序)。行为日志数据,此前已经说过,一般都是使用f原创 2020-10-17 21:26:11 · 1791 阅读 · 0 评论 -
HQL(Hive SQL)DML之数据导入导出知识汇总
HQL(Hive SQL)DML之数据导入导出知识汇总1. 背景作为一个将sql转换为mapreduce的转换器,其操作语言HQL必然会划分DDL和DMLHive的sql和传统数据库的sql不一样,hive主要用于数据仓库分析工具,也就是常说的数据一次导入,多次查询和分析。所以数据导入和导出属于重点设计和关注点。关于Hive的博客会是一个系列,考虑到数据查询的重要性,后面会专文说明。本文只讲述关于数据导入和导出的操作。2. 数据导入2.1 向表中加载数据语法load data [l原创 2020-09-05 20:54:24 · 612 阅读 · 0 评论 -
Hive HQL知识DDL汇总之数据表操作
Hive HQL知识DDL汇总之数据表操作1. 数据表操作概述数据库中database和table可以看作是2级文件管理,如mysql在windows下的数据库文件就是划分2级文件夹目录。数据表的操作,可以简单分为建立表格,对表结构修改、删除表。hive的表,元数据存储在单独的数据库中,本文配置为存放在mysql中。表中数据则存放在hdfs中。如下图示例2 创建表2.1 概述建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_na原创 2020-09-05 18:01:54 · 425 阅读 · 0 评论 -
Hive 数据操作之JDBC总结
Hive 数据操作之JDBC总结1. 背景Hive作为一个处理结构化数据和文件的工具,可以通过多种方式进行数据操作和处理。Hive本身可以简单看成一个将sql语句转化为mapreduce程序或者类mapreduce程序的转换器,数据处理还是由转换出来的mapreduce程序在处理。Hive可以将结构化数据转换为一张表,然后通过HQL(属于SQL规范的一种实现方式)来进行数据查询和操作。数据操作则可以简单分为几类操作数据导入数据导出数据插入数据查询数据更新和删除(在hive的场景中原创 2020-09-05 10:17:23 · 1774 阅读 · 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 · 1290 阅读 · 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 · 49368 阅读 · 8 评论 -
Hive HQL面试题(窗口函数over)(二)
Hive HQL面试题(窗口函数over)(二)1. 数据准备1文本文件a,2020-02-10,600a,2020-03-01,200a,2020-03-02,300a,2020-03-03,200a,2020-03-04,400a,2020-03-05,600a,2020-02-05,200a,2020-02-06,300a,2020-02-07,200a,2020-02-08,400b,2020-02-05,200b,2020-02-06,300b,2020-02-0原创 2020-09-03 23:40:48 · 719 阅读 · 0 评论 -
Hive HQL面试题(group by和case when)(一)
HQL面试题(一)1. 数据准备gz.txt 用户工资组成表用户id(uid), 基本工资(jb) 奖金(jj) 提成(tc) 部门编号( deptno)1,2000,3000,1500,12,5000,500,1000,23,1500,1000,3000,24,3000,6000,8000,35,1500,2000,1800,16,2500,1000,1900,1bm.txt 部门表1,销售2,技术3,行政yg.txt 员工信息表原创 2020-09-03 22:40:24 · 2859 阅读 · 0 评论 -
Hive常见属性配置总结
Hive常见属性配置总结1.概述和其他所有框架一样,hive的配置信息也是划分层级的,就近原则如果是使用java api进行操作,则代码中配置优先级最高,然后是java项目中配置文件,然后是hive安装目录中的配置文件如果是shell 客户端进行操作,则hive指令中参数优先级最高,然后是shell客户端启动时的配置信息,然后是hive安装目录中配置。2. 具体配置Hive数据仓库位置配置Default数据仓库的最原始位置是在hdfs上的:/user/hive/warehouse路原创 2020-09-02 23:46:00 · 569 阅读 · 0 评论 -
Hive启动和简单指令总结
Hive 启动总结1. 背景作为传统的服务器端程序,hive具备多种启动方式java api(jdbc)、shell客户端、web页面jdbchttps://mvnrepository.com/search?q=hive-jdbcshell 客户端就是本身做讲解的连接方式web页面http://linux100:10002/2. 启动方式2.1 环境准备hive安装 安装hdfs环境 安装hdfsyarn环境 安装yarnmysql环境安装mys原创 2020-09-02 22:32:05 · 2025 阅读 · 0 评论 -
大数据处理技术之Hive 概览
大数据处理技术之Hive 概览1. 大数据架构如我另一篇博客了所述,大数据处理技术架构和业务应用,大数据业务和技术架构简图如下:整个大数据技术可以分为3大块,数据存储、数据处理和分析、数据展示。三大板块都可以独立和业务系统对接,但一般这三者都会形成一个技术体系对外部的技术体系提供服务。例如一家公司内部的大数据部门负责存储从业务体系中获取到的海量数据如日志、业务数据等等,然后通过mapreduce、hive、spark、flink等技术进行分析处理,之后再通过OLAP对外进行数据展示或者提供对外A原创 2020-09-02 21:14:39 · 1441 阅读 · 0 评论 -
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 · 2898 阅读 · 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 · 578 阅读 · 0 评论 -
MapReduce 详细流程图总结
MapReduce 详细流程图总结1.mapreduce阶段map阶段shuffle阶段reduce阶段其中shuffle阶段,俗称奇迹发生的地方,主要是做了多次的分区和排序,并且对中间数据做了落地磁盘的处理,确保了数据安全,同时数据能够按照key进行划分,并且按照key排序。2.mapreduce详细流程图3.mapreduce思想总结分布式计算其实就一个思路,如何让程序由多台计算机并行处理程序是由数据+代码组成,这时候顺其自然的,将数据进行划分,将代码流程进行划分。这样每台计算原创 2020-08-22 23:01:28 · 1677 阅读 · 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 · 923 阅读 · 0 评论 -
MapReduce 之小文件合并(HDFS小文件预处理)
MapReduce 之小文件合并1.HDFS之小文件背景知识HDFS作为分布式文件系统,自身机制原因,每一个数据块(默认128MB一个数据块)都会在namenode节点的元数据中保存一份索引。如果是小文件,例如1MB以下的小文件,由于HDFS本身机制,每个文件都会建立一个索引。这样的小文件过多,会导致namenode的索引文件过大。namenode的索引文件在启动时会加载到namenode的内存中,而内存是有限的。考虑到HDFS是分布式文件系统,里面存储的文件数量会非常大,所以这些小文件单独存放到原创 2020-08-22 20:27:19 · 1738 阅读 · 0 评论 -
MapReduce 数据倾斜以及解决思路
MapReduce 数据倾斜以及解决思路1.小背景在mapreduce的分布式解决框架中,数据处理主要分为2个步骤,map阶段和reduce阶段map阶段主要是数据转换,也就是按照预期把输入的数据进行转换,变为中间数据中间数据再分发给reduce阶段作为输入数据源进行处理。在这个过程中,由于数据本身按照设计的key规则划分时就不均匀,再加上使用默认的分区规则进行对key进行计算时,也有产生数据倾斜的可能(key.hashcode() % numberOfReduceTasks)2.大背景原创 2020-08-20 23:25:41 · 1925 阅读 · 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 · 931 阅读 · 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 · 545 阅读 · 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 · 890 阅读 · 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 · 149 阅读 · 0 评论 -
MapReduce流程简要概括
MapReduce流程简要概括1.分布式计算分布式计算很重要的思想就是,一个问题拆分为多个步骤和多份数据,然后很多台计算机一起处理,最后对这些数据处理结果汇总聚合就是最终结果。我们的程序就是数据加逻辑/算法(代码),而要让多台电脑能够一起参与到问题解决中来,首先需要把数据和代码进行分割,这样让每台计算机都能参与计算与处理。在这个过程中,如何保证各个计算机分到的数据和任务都是相对均衡跟适合的就很考验程序机制了。例如集群中有高配电脑和低配电脑,如何协调,让高配电脑和低配电脑都能分配到适合自己硬件配置原创 2020-08-19 19:51:08 · 3478 阅读 · 0 评论