
Hadoop
茅坤宝骏氹
语言:Java、C/C++、C#、Python、Linux Shell。
框架:Spring、Spring MVC、Spring Boot、Spring Cloud、Hibernate、Mybatis、Freemarker、Velocity。
前端:HTML5、CSS3、JavaScript、Bootstrap、JQuery、Vue、React。
数据库:oracle、mysql、MongoDB、HBase。
缓存:Memcache、Redis。
消息队列:kafka。
大数据:Hadoop、Hive、Sqoop、Flume、Spark、Strom、OpenTSDB、Druid。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HiveSQL常用优化方法全面总结
转载自HiveSQL常用优化方法全面总结 Hive作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等等。对Hive的调优既包含对HiveQL语句本身的优化,也包含Hive配置项和MR方面的调整。 列裁剪和分区裁剪 最基本的操作。所谓列裁剪就是在查询时只读取需要的列,分区裁剪就是只读取需要的分区。以我们的日历记录表为例: select uid,event_t...转载 2020-11-08 10:42:04 · 565 阅读 · 0 评论 -
Zookeeper超详细的面试题
转载自Zookeeper超详细的面试题 1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所连接的zookeeper机器来处理。对于写请求,这些请求会同时发给其他zook..转载 2020-05-12 22:29:10 · 506 阅读 · 0 评论 -
Hadoop生态Zookeeper安装
一、安装条件前置 实验zookeeper安装在【Hadoop入门(二)集群安装】机器上,已完成安装jdk,hadoop和ssh配置环境等。 zookeeper所依赖的虚拟机和操作系统配置 环境:ubuntu14 + apache-zookeeper-3.5.6-bin.tar + jdk1.8+ssh 虚拟机:(vmware10) 二、zookeeper安装环境设置 (1)下载 ...原创 2020-01-28 12:45:48 · 367 阅读 · 0 评论 -
Hadoop生态hive(六)Hive QL表
一、创建表 语法: create [temporary] [external] table [if not exists] [db_name.] table_name [(col_name data_type [comment col_comment], ...)] [comment table_comment] [row format row_format] [stored as f...原创 2019-11-16 20:12:03 · 436 阅读 · 0 评论 -
Hadoop生态hive(五)Hive QL数据库
(1)查看数据库 show databases; (2)使用数据库 use db; (3)查看当前数据库 #与mysql的select database();不一样 select current_database(); (4)创建数据库 create database [if not exists] database_name ; #或者 create sche...原创 2019-11-16 19:00:03 · 216 阅读 · 0 评论 -
Hadoop生态hive(四)数据类型
一、原始类型 类型 描述 字面量示例 BOOLEAN true/false TRUE TINYINT 1字节的有符号整数 -128~127 10 MALLINT 2个字节的有符号整数,-32768~32767 20000 INT 4个字节的带符号整数 1000000 BIGINT 8字节带符号整数 13L...原创 2019-11-16 17:41:51 · 600 阅读 · 0 评论 -
Hadoop生态hive(四)数据类型
转载自Hive数据类型 一、列类型 列类型被用作Hive的列数据类型。它们如下: (1)整型 整型数据可以指定使用整型数据类型,INT。当数据范围超过INT的范围,需要使用BIGINT,如果数据范围比INT小,使用SMALLINT。 TINYINT比SMALLINT小。 下表描述了各种INT数据类型: 类型 后缀 示例 TINYINT Y 10Y S...转载 2020-01-22 12:07:56 · 556 阅读 · 0 评论 -
Hadoop生态Flume(二)安装配置
一、flume下载地址 列中的链接应显示可用镜像的列表,并根据您的推断位置进行默认选择。如果看不到该页面,请尝试使用其他浏览器。校验和和签名是主分发服务器上原始文件的链接。 Apache Flume二进制文件(tar.gz) apache-flume-1.9.0-bin.tar.gz apache-flume-1.9.0-bin.tar.gz.sha512 apache...原创 2019-11-16 13:39:31 · 239 阅读 · 1 评论 -
Hadoop生态Flume(一)介绍
一、概述 Apache Flume是一个分布式,可靠且可用的系统,用于有效地收集,聚合大量日志数据并将其从许多不同的源移动到集中式数据存储中。 Apache Flume的使用不仅限于日志数据聚合。由于数据源是可定制的,因此Flume可用于传输大量事件数据,包括但不限于网络流量数据,社交媒体生成的数据,电子邮件消息以及几乎所有可能的数据源。 Apache Flume是Apache Softwa...原创 2019-11-16 12:02:49 · 540 阅读 · 0 评论 -
Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
转载自Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient hive初始化(mysql为元数据库)完成后,执行SQL语句报错 经过各种查询资料,找到了一种解决办法,大家可以参考。 首先进入hive/bin目录下 执行命令./hive --service metas...转载 2019-11-10 20:52:44 · 902 阅读 · 0 评论 -
hive命令出现问题Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NET.URI
转载自hive命令出现问题Failed with exception Java.io.IOException:java.lang.IllegalArgumentException: java.NET.URI 一,问题描述: 登录到hive数据仓库后,输入一些命令,例如(show databases ,show tables),会报出如下错误: Failed with excepti...转载 2019-11-10 20:49:14 · 1580 阅读 · 1 评论 -
Hadoop生态hive(三)Hive QL介绍
一、表 创建表 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name CREATE TABLE 创建一个指定名字的表。Hive 创建内部表时,会将数据移动到数据仓库指向的路径; EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),记录数据所在的路径,不对数据的位置做任何改变 ...原创 2019-11-10 20:44:16 · 312 阅读 · 0 评论 -
Hadoop生态hive(二)安装
一、安装模式 内嵌模式:元数据保持在内嵌的Derby模式,只允许一个会话连接 本地独立模式:在本地安装Mysql,把元数据放到Mysql内 远程模式:元数据放置在远程的Mysql数据库 官方文档: https://cwiki.apache.org/confluence/display/Hive/GettingStarted 二、内嵌模式 (1)下载hive包 wget ht...原创 2019-11-10 20:33:12 · 348 阅读 · 0 评论 -
Hadoop生态hive(一)介绍
一、Hive是什么 起源自facebook由Jeff Hammerbacher领导的团队,构建在Hadoop上的数据仓库框架。设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据。2008年facebook把hive项目贡献给Apache。 由facebook开源,最初用于解决海量结构化的日志数据统计问题。ETL(Extraction-Transfo...原创 2019-11-10 19:35:49 · 429 阅读 · 0 评论 -
Hadoop入门(二十四)Mapreduce的求TopK程序
一、简介 求TopK是算法中最常使用到的,现在使用Mapreduce在海量数据中统计数据的求TopK。 二、例子 (1)实例描述 给出三个文件,每个文件中都存储了若干个数值,求所有数值中的求Top 5。 样例输入: 1)file1: 1 2 3 7 9 -99 2 2)file2: ...原创 2019-10-20 21:50:44 · 975 阅读 · 0 评论 -
Hadoop入门(二十三)Mapreduce的求数量最大程序
一、简介 在文件中统计出现最多个数的单词,将其输出到hdfs文件上。 二、例子 (1)实例描述 给出三个文件,每个文件中都若干个单词以空白符分隔,需要统计出现最多的单词 样例输入: 1)file1: M...原创 2019-10-20 21:36:04 · 505 阅读 · 0 评论 -
Hadoop入门(二十二)Mapreduce的求平均值程序
一、简介 求平均值是统计中最常使用到的,现在使用Mapreduce在海量数据中统计数据的求平均值。 二、例子 (1)实例描述 给出三个文件,每个文件中都存储了若干个数值,求所有数值中的求平均值。 样例输入: 1)file1: 1 2 3 7 9 -99 2 2)file2: 1...原创 2019-10-20 21:06:50 · 3068 阅读 · 0 评论 -
Hadoop入门(二十一)Mapreduce的求和程序
一、简介 求和是统计中最常使用到的,现在使用Mapreduce在海量数据中统计数据的求和。 二、例子 (1)实例描述 给出三个文件,每个文件中都存储了若干个数值,求所有数值中的求和。 样例输入: 1)file1: 1 2 3 7 9 -99 2 2)file2: 11 2 23...原创 2019-10-20 20:48:36 · 3988 阅读 · 1 评论 -
Hadoop入门(二十)Mapreduce的最小值程序
一、简介 最小值是统计中最常使用到的,现在使用Mapreduce在海量数据中统计数据的最小值。 二、例子 (1)实例描述 给出三个文件,每个文件中都存储了若干个数值,求所有数值中的最小值。 样例输入: 1)file1: 1 2 3 7 9 -99 2 2)file2: 11 2...原创 2019-10-20 20:38:56 · 777 阅读 · 0 评论 -
Hadoop入门(十九)Mapreduce的最大值程序
一、简介 最大值是统计中最常使用到的,现在使用Mapreduce在海量数据中统计数据的最大值。 二、例子 (1)实例描述 给出三个文件,每个文件中都存储了若干个数值,求所有数值中的最大值。 样例输入: 1)file1: 1 2 3 7 9 -99 2 2)file2: 11 2...原创 2019-10-20 20:33:25 · 1642 阅读 · 0 评论 -
Hadoop入门(十一)Mapreduce的InputFomrat各种子类
一、TextInputFormat extends FileInputFomrat<LongWritable,Text> 是默认读取文件的切分器,其内的LineRecordReader:用来读取每一行的内容, LineRecordReader:内的 nextKeyValue(){}中,key的赋值在: initialize()方法内, key=start=split.g...原创 2019-10-20 14:50:57 · 316 阅读 · 0 评论 -
Hadoop入门(十八)Mapreduce的倒排索引程序
一、简介 "倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引(Inverted Index)。 二、例子 (1)实例描述 通常情况下,倒排索引由一个单词(或词组)以及相关的文档...原创 2019-10-20 14:32:16 · 427 阅读 · 0 评论 -
Hadoop入门(十七)Mapreduce的多表关联程序
多表关联和单表关联类似,它也是通过对原始数据进行一定的处理,从其中挖掘出关心的信息 1 实例描述 输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列。要求从输入数据中找出工厂名和地址名的对应关系,输出"工厂名——地址名"表 样例输入如下所示: 1)factory.txt factoryname addressed Beij...原创 2019-10-14 00:16:42 · 526 阅读 · 0 评论 -
Hadoop入门(十六)Mapreduce的单表关联程序
"单表关联"要求从给出的数据中寻找所关心的数据,它是对原始数据所包含信息的挖掘 1 实例描述 给出child-parent(孩子——父母)表,要求输出grandchild-grandparent(孙子——祖父母)表 样例输入: child parent Tom Lucy Tom Jack Jone Lucy Jone ...原创 2019-10-13 22:01:30 · 843 阅读 · 0 评论 -
Hadoop入门(十五)Mapreduce的数据排序程序
"数据排序"是许多实际任务执行时要完成的第一项工作,比如学生成绩评比、数据建立索引等。这个实例和数据去重类似,都是先对原始数据进行初步处理,为进一步的数据操作打好基础 1 实例描述 对输入文件中数据进行排序。输入文件中的每行内容均为一个数字,即一个数据。要求在输出中每行有两个间隔的数字,其中,第一个代表原始数据在原始数据集中的位次,第二个代表原始数据。 样例输入如下所示: 1)file1 ...原创 2019-10-13 14:21:11 · 810 阅读 · 0 评论 -
Hadoop入门(十四)Mapreduce的数据去重程序
1 实例描述 对数据文件中的数据进行去重。数据文件中的每行都是一个数据 样例输入如下所示: 1)file1 2012-3-1 a 2012-3-2 b 2012-3-3 c 2012-3-4 d 2012-3-5 a 2012-3-6 b 2012-3-7 c 2012-3-3 c 2)file2 2012-3-1 b 2012-3-2 a 2012-3-3 b 2012-...原创 2019-10-13 12:10:43 · 1383 阅读 · 0 评论 -
Hadoop入门(三)HDFS API
一、、HDFS 常用类 Configuration 配置 Path 路径 FileSystem 文件系统 Stream 流 IOUtils IO工具 API文档 二、类解析 (1)Configuration 配置文件加载顺序 设置/获取参数方法 (2)Path Path 常用方法 (3)FileSystem 创建文件 ...原创 2019-10-04 19:52:28 · 314 阅读 · 0 评论 -
什么是数据分析
转载自 什么是数据分析什么是数据思维?「企业数据化管理变革」这本书中对数据思维是这么阐述的:数据思维是根据数据来思考事物的一种思维模式,是一种量化的思维模式,是重视事实、追求真理的思维模式。很多人陷入了一种误区,认为数据思维就是罗列数据,其实不然,数据思维的重点是要得出定性的结论。 举个简单的例子:甲公司的某款产品12月份的销售额3千万,环比增长-10%,同比增长10%,这就是罗列数据。而数据思维...转载 2018-05-07 10:43:26 · 295 阅读 · 0 评论 -
HDFS的诞生
转载自 HDFS的诞生1牛刀小试张大胖找了个实习的工作, 第一天上班Bill师傅给他分了个活儿:日志分析。张大胖拿到了师傅给的日志文件,大概有几十兆,打开一看, 每一行都长得差不多,类似这样:212.86.142.33 – - [20/Mar/2017:10:21:41 +0800] “GET / HTTP/1.1″ 200 986 “http://www.baidu.com/” “Mozilla...转载 2018-05-07 10:22:45 · 746 阅读 · 3 评论 -
什么是大数据
转载自 玻璃猫 程序员小灰大数据是具有海量、高增长率和多样化的信息资产,它需要全新的处理模式来增强决策力、洞察发现力和流程优化能力。Big data is high volume, high velocity, and/or high variety information assets that require new forms of processing to enable enhance...转载 2018-04-12 15:25:39 · 430 阅读 · 0 评论 -
漫画:什么是MapReduce
转载自 脑洞有点大的 程序员小灰什么是MapReduce?MapReduce是一种编程模型,其理论来自Google公司发表的三篇论文(MapReduce,BigTable,GFS)之一,主要应用于海量数据的并行计算。MapReduce可以分成Map和Reduce两部分理解。1.Map:映射过程,把一组数据按照某种Map函数映射成新的数据。2.Reduce:归约过程,把若干组映射结果进行汇总并输出...转载 2018-04-12 14:16:01 · 2744 阅读 · 2 评论 -
漫画:什么是数据仓库
转载自 玻璃猫 算法与数据结构一个故事在很久很久以前,世界上生活着许多种族,有人类,有矮人,有精灵......他们有着不同的信仰,不同的文化,彼此相安无事。可是,有一个猥琐男却偏偏想要统治整个世界。如何统治这么多不同文化信仰的种族呢?猥琐男想出一个馊主意,打造出几枚拥有魔力的戒指,免费送给不同种族的领袖,让他们可以更好地统治各自的族人。当各个种族的领袖美滋滋地戴上各自的魔戒,走上人生巅峰的时候,猥...转载 2018-04-17 22:37:31 · 513 阅读 · 0 评论 -
HDFS 的dao
一、HDFS dao接口 package cn.mk.dao; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.hadoop.fs.BlockLocation; import org.apache.hadoop.fs.FileStatus; public interfac原创 2017-11-26 17:57:02 · 670 阅读 · 0 评论 -
Hadoop入门(一)概念与单机安装
一、hadoop的概念 (1)什么是大数据 大数据是不能用传统的计算技术处理的大型数据集的集合。它不是一个单一的技术或工具,而是涉及的业务和技术的许多领域。 (2)hadoop的定义 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为...原创 2017-11-26 17:57:12 · 456 阅读 · 0 评论 -
Hadoop入门(四)HDFS编程
一、编程环境设置 编程使用到idea2018,maven (1)启动集群 在window上启动vmware软件的虚拟机hadoop01,hadoop02,hadoop03。 进入hadoop01虚拟机启动集群,执行命令 start-dfs.sh (2)检查开发环境网络 在window的命令行cmd窗口ping hadoop01的ip【192.168.150.128】,telnet...原创 2019-10-04 20:16:34 · 739 阅读 · 0 评论 -
Hadoop的FileSystem.copyToLocalFile两个参数 空指针异常
转载自Hadoop的FileSystem.copyToLocalFile两个参数 空指针异常 在网上一搜,直接改成fileSystem.copyToLocalFile(false,xx,xx,true)即可。 Exception in thread "main" java.lang.NullPointerException at java.lang.ProcessBuilder.s...转载 2019-10-04 20:25:40 · 1073 阅读 · 0 评论 -
Hadoop入门(十)Mapreduce高级shuffle之Sort和Group
一、排序分组概述 MapReduce中排序和分组在哪里被执行 第3步中需要对不同分区中的数据进行排序和分组,默认情况按照key进行排序和分组 二、排序 在Hadoop默认的排序算法中,只会针对key值进行排序 任务: 数据文件中,如果按照第一列升序排列, 当第一列相同时,第二列升序排列 如果当第一列相同时,求出第二列的最小值 自定义排序 1.封装一个自定义类型作为key...原创 2019-10-06 12:36:19 · 717 阅读 · 0 评论 -
Hadoop入门(七)Mapreduce高级Shuffle
一、Shuffle概述 Reduce阶段三个步骤,Shuffle就是一个随机、洗牌操作 Shuffle是什么 针对多个map任务的输出按照不同的分区(Partition)通过网络复制到不同的reduce任务节点上,这个过程就称作为Shuffle。 二、Shuffle过程 (1)Map端 1)在map端首先是InputSplit,在InputSplit中含有Dat...原创 2019-10-06 12:20:22 · 230 阅读 · 0 评论 -
Hadoop入门(八)Mapreduce高级shuffle之Partitioner
一、Partitioner概述 Map阶段总共五个步骤,2就是一个分区操作 哪个key到哪个Reducer的分配过程,是由Partitioner规定的。 二、Hadoop内置Partitioner MapReduce的使用者通常会指定Reduce任务和Reduce任务输出文件的数量(R)。 用户在中间key上使用分区函数来对数据进行分区,之后在输入到后续任务执行进程。一个默...原创 2019-10-06 11:41:54 · 310 阅读 · 0 评论 -
Hadoop入门(九)Mapreduce高级shuffle之Combiner
一、Combiner的出现 (1)为什么需要进行Map规约操 作 在上述过程中,我们看到至少两个性能瓶颈: (1)如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的最大值即可。这样做不仅可以减轻网络压力,同样也可以大幅度提高程序效率。 总结:网络带宽严重被占降低程序效率; (2)假设使用美国...原创 2019-10-06 11:26:02 · 455 阅读 · 0 评论