![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop
文章平均质量分 90
MrZhangBaby
世界上并没有完美的程序,
但我们并不因此而沮丧,
因为写程序本来就是一个不断追求完美的过程。
你可以不够优秀,但不要甘于平凡。
展开
-
谈笑间学会数仓—维度层设计④
谈笑间学会数仓—维度层设计④特殊维度1.1、递归层次上篇博客已经了解了维度的层次结构,即维度属性以层次方式或一对多的方式相互关联;或者描述为不同维度之间的主从关系,比如商品和类目的关系、商品和品牌的关系等。递归层次指的是某维度的实例值的层次关系,比如淘宝类目体系,如下图所示:维度的递归层次,按照层级是否固定分为均衡层次结构和非均衡层次结构。比如类目,有固定数量的级别,分别是叶子类目、五级类目、四级类目、三级类目、二级类目、一级类目;地区,分别是乡镇/街道、区县、城市、省份、国家,对于这种具有固定数原创 2021-01-06 17:05:55 · 816 阅读 · 0 评论 -
Hadoop3.0初探-部署安装Hadoop
Hadoop3.0初探目录Hadoop3.0初探为什么要搞这篇博客呢?安装包下载首先配置ssh免密登录部署Hadoop安装前检查本地环境并安装jdk下载地址安装成功校验安装Hadoop下载对应安装包解压 && 并修改配置文件报错异常一报错异常二最后再贴一个环境变量的配置为什么要搞这篇博客呢?就是目前hadoop3.0 也出来很久了呢,想着自己本地搭建一套玩一下~MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)2 GHz 四原创 2020-08-20 18:15:07 · 846 阅读 · 0 评论 -
谈笑间学会Hive—你不知道的2concat*
2concat*是啥子?指的是hive中的concat()函数、concat_ws()函数为啥子写呢?今天在核对数据的时候发现了一个问题,问题产生的原因是这样的。核对数据需要参照表对吧?不管是父表还是兄弟姐妹表,总之是要有关联的,才有办法核对数据嘛。怎么核数呢?核对表与对照表的数据量、记录数情况核对表中主键个数及是否存在重复(可能有人会说,既然是主键重复p呀,核算什么?大哥这里用的Hive没有主键的概念哦~)对照表 && 结果表进行关联核数,根据结果判断是否有异常主键数据原创 2020-08-19 15:23:06 · 278 阅读 · 0 评论 -
谈笑间学会大数据-Hive中的分桶表
谈笑间学会大数据-Hive中的分桶表你可以不够优秀,但是不要甘于平凡Hive中的分桶表官方文档首先我们可以参考下官方文档,对于创建分桶表的一些描述https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-BucketedSortedTables什么是分桶表? 分桶是相对分区进行更细粒度的划分。分桶将整个数据内容安装某列属性值得hash值进行区分,如要安装name原创 2020-06-21 22:34:00 · 353 阅读 · 0 评论 -
谈笑间学会大数据-Hive中的排序
谈笑间学会大数据-Hive中的排序Hive中的四种排序order by 、 sort by 、 distribute by 、cluster by首先贴一下官网对于Hive排序的几种方法的介绍:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SortBy总述order by全局排序;对输入的数据做排序,故此只有一个reducer(多个reducer无法保证全局有序);只有一个reducer,会导致当输入规模较大原创 2020-06-15 00:14:26 · 568 阅读 · 2 评论 -
谈笑间学会大数据-MapReduce作业运行全流程
MapReduce作业运行流程keywordsYarn、ResourceManager 、 ApplicationManager + Resource Schedule 、Container一个job运行的整体流程Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序。MapReduce运行在Yarn之上,其架构:名称解释ResourceManagerRM是一个全局的资源管理器,负责整原创 2020-06-10 13:13:03 · 343 阅读 · 0 评论 -
谈笑间学会大数据-Hive函数
谈笑间学会大数据-Hive函数 用户自定义函数(UDF)是一个允许用户扩展HiveQL的强大的功能。正如我们将看到的,用户使用Java进行编码。一旦将用户自定义函数加入到用户会话中(交互式的或者通过脚本执行的),它们就将和内置的函数一样使用,甚至可以提供联机帮助。Hive具有多种类型的用户自定义函数,每一种都会针对输入数据执行特定“一类”的转换过程。 在ETL处理中,一个处理过程可能包含多个处理步骤。Hive语言具有多种方式来将上一步骤的输入通过管道传递给下一个步骤,然后在一个查询中产生众多输出原创 2020-06-01 17:43:55 · 258 阅读 · 0 评论 -
谈笑间学会大数据-Hive调优策略
谈笑间学会大数据-Hive调优策略 Hive SQL是一种声明试语言,用户会提交声明式的查询,而Hive会将其转换成MapReduce job,大多数情况下,用户不需要了解Hive内部的实现原理的,这样就可以专注业务的事情,不再关注底层实现了。 不过,当用户对于Hive具有越来越多的经验后,了解一下Hive背后的理论知识和底层的一些实现细节,会让用户更加高效地使用Hive。使用exp...原创 2020-05-06 15:54:43 · 398 阅读 · 0 评论 -
谈笑间学会大数据-Hive设计模式
谈笑间学会大数据-Hive设计模式 Hive看上去以及实际香味都像是一个关系型数据库。用户对如表和列这列术语比较熟悉,而且Hive提供的查询语言和用户之前使用过的SQL方言非常地相似。不过,Hive实现和使用的方法和传统的关系型数据库是非常不通的。通常,用户视图移植关系型数据库中的模式,而事实上Hive是反模式的。按天划分的表 按天划分表就是一种模式,其通常会在表名中加入一个时间戳,...原创 2020-04-13 17:52:38 · 298 阅读 · 0 评论 -
谈笑间学会大数据-Hive视图
谈笑间学会大数据-Hive视图视图是什么? 视图可以允许保存一个查询并像对待表一样对这个查询进行操作。这是一个逻辑结构,因为它不像一个表会存储数据。换句话说,Hive目前暂不支持物化视图。当一个查询引用一个视图时,这个视图所定义的查询语句将和用户的查询语句组合在一起,然后供Hive制定查询计划。从逻辑上讲,可以想象为Hive先执行这个视图,然后使用这个结果进行余下后续的查询。 使用视...原创 2020-04-07 19:48:48 · 369 阅读 · 1 评论 -
谈笑间学会大数据-Hive查询SQL
Hive查询SQL这篇博客呢,不想说太多基础,有些东西像MySQL类似的语法,简单的select...from...这种大家都会的,我就不bb了~原则上:大多数情况是,MySQL支持的SQL语法,在Hive中也同样适用...使用正则表达式来指定列SELECT symbol, `price.*`FROM stocks;SQL执行以后的大致效果...原创 2020-04-02 16:21:53 · 379 阅读 · 1 评论 -
Hive使用正则表达式模糊匹配列报错
报错信息:Invalid table alias or column reference ‘name.*’hive> select * from test_stu_3 > ;OK张三 张三 12李四 李四 10wangwu wangwu 8赵六 赵六 1Time taken: 0.124 seconds, Fetched: 4 row(s)hive> s...原创 2020-04-02 11:47:37 · 1694 阅读 · 0 评论 -
yarn的web界面上显示节点异常unhealthy
错误截图解决方案暂无,后续更新...原创 2020-04-01 17:21:49 · 789 阅读 · 0 评论 -
hadoop格式化namenode后导致datanode无法启动
hadoop格式化namenode后导致datanode无法启动首先贴报错哈,错误不一样,就不用往下看了。。。报错截图错误分析Failed to add storage directory [DISK]file:/Users/zhangchenguang/software/hadoop-2.7.3/tmp/dfs/data/java.io.IOException: Inco...原创 2020-04-01 17:15:56 · 1126 阅读 · 0 评论 -
星型模型&&雪花模型
星型模型&&雪花模型星型模型星型模式是多维的数据关系,它由事实表(Fact Table)和维表(Dimension Table)组成。每个维表中都会有一个维作为主键,所有这些维的主键结合成事实表的主键。事实表的非主键属性称为事实,它们一般都是数值或其他可以进行计算的数据。在多维分析的商业智能解决方案中,根据事实表和维度表的关系,又可将常见的模型分为星型模型和雪花型模型。...原创 2020-03-31 17:39:11 · 1805 阅读 · 0 评论 -
谈笑间学会大数据-hivesql练习题-小试牛刀
Hive练习题第1题我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 ...原创 2020-03-31 16:55:54 · 298 阅读 · 0 评论 -
谈笑间学会大数据-hivesql练习题参考答案
第1题我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1...原创 2020-03-31 16:45:01 · 457 阅读 · 0 评论 -
谈笑间学会大数据-Hive数据定义
Hive数据定义目录Hive数据定义向管理表中装载数据通过查询语句向表中插入数据动态分区插入单个查询语句中创建表并加载数据导出数据向管理表中装载数据既然Hive没有行级别的数据插入、数据更新和删除操作,那么往表中装载数据的唯一途径就是使用一种“大量”的数据装载操作。或者通过其他方式仅仅将文件写入到正确的目录下。load data local inpath ...原创 2020-03-31 15:12:53 · 201 阅读 · 0 评论 -
谈笑间学会大数据-Hive数据定义
Hive数据定义前言HiveQL是Hive查询语言。和普遍使用的所有SQL方言一样,它不完全遵守任一种ANSISQL标准的修订版。HiveQL可能和MySQL的方言最接近,但是两者还是存在显著性差异的。Hive不支持行级插入操作、更新操作和删除操作。Hive也不支持事务。Hive增加了在Hadoop背景下的可以提供更高性能的扩展,以及一些个性化的扩展,甚至还增加了一些外部程序。Hive...原创 2020-03-27 16:29:51 · 348 阅读 · 0 评论 -
谈笑间学会大数据-Hive数据类型和文件格式
Hive数据类型和文件格式Hive数据类型数据类型的意义Hive支持关系型数据库中的大多数基本数据类型,同时也支持关系型数据库中很少出现的3种集合数据类型,下面我们将简短地介绍一下这样做的原因。其中一个需要考虑的因素就是这些数据类型是如何在文本文件中进行表示的,同时还要考虑文本存储中为了解决各种性能问题以及其他问题有哪些替代方案。和大多数的数据库相比,Hive具有一个独特的功能,那...原创 2020-03-26 11:48:01 · 406 阅读 · 0 评论 -
谈笑间学会大数据-Hive命令
Hive命令前言Hive是有命令行模式的,你知道吗?很实用,很适合用来学习一些语法呀,简单的操作鸭...不用烦琐的去写代码、打包、上传、运行、就可以实现的哦~$HIVE_HOME/bin/hive这个shell命令(后面我们省略称为hive)是通向包括命令行界面也就是CLI等Hive服务的通道。我们假定用户已经将$HIVE_HOME/bin加入到环境变量PATH中了,则用户只需要在s...原创 2020-03-25 14:54:06 · 355 阅读 · 0 评论 -
谈笑间学会大数据-Hive安装部署及组件架构
Hive安装部署及组件架构Hive安装部署首先贴出hive官网地址:http://hive.apache.org/ 任何一个框架或者组件学习的时候都需要去参考一下官方文档,因为这个是学习这个组件的一种方式,大部分通过看书、看博客来进行学习,有好也有不好吧。好处是:大牛博主都已经进行了总结,让我们更加好接受。缺点:会形成依赖,缺少自己的想法和见解。大牛们怎么知道的呢?其实大部分来源于官网文...原创 2020-03-23 16:12:18 · 323 阅读 · 0 评论 -
谈笑间学会大数据-初识Hive
初识HiveHive 是什么呢?hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据:可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能;可以将SQL语句转换为MapReduce任务运行,通过自己的SQL查询分析需要的内容,这套SQL简称Hive SQL,使不熟悉mapreduce的用户可以很方便...原创 2020-03-20 17:57:15 · 337 阅读 · 2 评论 -
谈笑间学会MapReduce-优化MapReduce任务
优化MapReduce任务使用Combiner通过使用combiner可以使MapReduce整体性能得到提升。combiner等同于本地的Reduce操作,可以有效提升全局reduce操作效率。combiner可以从根本上优化和最小化键值对的数量,而键值对是通过网络在mapper和reducer之间传输的。combiner使用map操作处理键值对输出的中间结果,并不影响map和reduc...原创 2020-03-16 11:48:14 · 255 阅读 · 0 评论 -
谈笑间学会MapReduce-优化Reduce任务核心原理
Reduce任务核心原理reduce任务的处理阶段reduce任务处理是包含三个阶段的一个序列。除用户定义的reduce函数的执行是定制的之外,还有其持续时间依赖于每个阶段流经的数据量以及底层Hadoop集群的性能。对每个阶段进行性能分析有助于识别潜在瓶颈以及低速的数据处理。下面给出reduce任务的三个主要阶段详细分析一下reduce的每一个阶段:对于Shuffle阶段的性能...原创 2020-03-09 15:55:02 · 381 阅读 · 0 评论 -
谈笑间学会MapReduce-优化Map任务核心原理
优化Map任务如何优化呢?首先我们要知道map任务这一阶段的流程和瓶颈,才可以进行“因材施教”进行优化,map任务流程图如下:由图可知,详细流程如下:在Read阶段,map任务从Hadoop分布式文件系统(HDFS)读取固定大小(如64MB)的数据块。而写入的文件根据实际的情况也不同,可以是任意大小的数据块(如80MB)。这种情况下,为了存储数据,就有两种数据块:一种是64MB,另一种...原创 2020-03-06 18:03:35 · 368 阅读 · 0 评论 -
Hadoop参数调优
Hadoop参数调优性能调优涉及4个方面:CPU利用率、内存占用情况、磁盘I/O和网络流量。有很多因素会对HadoopMapReduce性能产生影响。一般说来,与工作负载相关的Hadoop性能优化需要关注以下3个主要方面:系统硬件、系统软件,以及Hadoop基础设施组件的配置和调优/优化。需要指出的是,Hadoop被归类为高扩展性解决方案,但却不足以归类为高性能集群解决方案。系统管理员...原创 2020-03-05 18:06:11 · 1372 阅读 · 2 评论 -
谈笑间学会MapReduce-初识MapReduce
What is MapReduce?MapReduce是一个流行的针对数据密集任务的分布式计算模型,它正在发展成为用来支撑包括Web索引、数据挖掘和科学仿真等领域的大规模数据并行应用的重要编程模型。Hadoop是Google公司的MapReduce编程模型的最受欢迎的Java开源实现。在很多公司,Hadoop已经用于大规模数据分析任务,并且经常用在对响应时间要求很严格的作业中。MapR...原创 2020-03-05 16:32:32 · 338 阅读 · 0 评论 -
谈笑间学会HDFS—HDFS的数据管理与策略选择
HDFS缓存与缓存块HDFS的缓存与我们平常所说的缓存(cache)在作用上是一致的,主要是为了减少重复的数据请求过程。但是在具体实现上,我们平常所用的缓存可能只由一个简单的缓冲数组构成,而HDFS用的是缓存块(cacheblock)的概念。HDFS的缓存块由普通的文件块转换而来,同样也可以转换回去。HDFS缓存的出现可以大大提高用户读取文件的速度,因为它是缓存在DataNode内存中的,此过...原创 2020-03-04 16:10:33 · 298 阅读 · 0 评论 -
谈笑间学会HDFS—hdfs的数据存储
1、HDFS的数据存储的意义先有了数据的存储,才有后续的写入和管理等操作。HDFS的数据存储包括两块:一块是HDFS内存存储,另一块是HDFS异构存储。HDFS内存存储是一种十分特殊的存储方式,将会对集群数据的读写带来不小的性能提升,而HDFS异构存储则能帮助我们更加合理地把数据存到应该存的地方。1-1、HDFS的内存存储HDFS的内存存储是HDFS所有数据存储方式中比较特殊的一种,与...原创 2020-02-28 12:15:54 · 1732 阅读 · 0 评论 -
YARN中资源调度器的那些事儿
YARN中资源调度器的那些事儿,接上次Yarn的那些事儿,来扯一下调度器...YARN三种资源调度器理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有...原创 2019-08-02 23:52:47 · 773 阅读 · 0 评论 -
MapReduce哪些事儿
上节分享了HDFS那些事儿,接着我们来说一下经典的Hadoop1和引入完Yarn以后的Hadoop2.0+,为什么要引入Yarn这一资源调度器,有什么作用和好处,请往下看~MapReduce模型MapReduce概括:MapReduce 是一种分布式编程模型,采用“分而治之”的思想,将一个大规模数据集分解为多个小规模数据,然后分发给集群中多个节点共同完成计算。这样可以有效降低每一部...原创 2019-08-02 23:32:16 · 178 阅读 · 0 评论 -
HDFS的那些事儿
前言 学习呢要善于总结,善于发现问题,都知道大数据很火,但是大数据、分布式为什么火呢?很少数人能说出他的有点,大部分都是在因为在coding而coding,没有体会理解它真正的作用和价值,发这篇文章呢,就是为了让大家更加深刻的理解HDFS的优势及诞生的背景。背景 随着物联网、社交网络、云计算等技术不断融入我们的生活以及现有的计算能力、存储空间、网络带宽的高速发展...原创 2019-08-02 22:49:05 · 225 阅读 · 0 评论 -
hadoop之hdfs shell操作
为什么突然回头写这些基本的语法及使用操作呢。我觉得有一些细节还有待提高,希望通过我写的博客能带动更多的人,熟悉了解hadoop,熟悉了解大数据,让操作更流畅和便捷。对我而言也是一次回炉重塑的过程。哈哈... 安装部署,翻下我以前的帖子,伪分布式和分布式环境搭建,以及虚拟机的构建都已经写过了,在此就不多bb了。也可以参考官网的环境搭建过程:http://hadoop.a...原创 2019-06-29 18:30:25 · 544 阅读 · 0 评论 -
hadoop之hdfs api操作
hadoop之hdfs api操作hadoop只有shell操作吗?那么我在程序中如何使用呢?当然不是,肯定又api呀,有接口呀,不能傻乎乎的开发呀,你能想到的,hadoop的开发者也能想到,那么下面我就来介绍一下,api的使用吧。根据语言的不同又分为几种,在此,我仅以编程语言排行的第一-----JAVA 语言来输出demo,当然也可以用python,怎么开心,怎么来?首先搞过j...原创 2019-07-01 22:44:30 · 449 阅读 · 0 评论 -
Hadoop生态圈各种组件介绍
好多初入学习大数据的人不是很清楚,今天分享一个图,并介绍一下大致的组件,其他还有一些组件是没有包含在其中的,但是大部分这个图片是有了的。一、简介Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。二、HDFSHado...原创 2019-05-06 11:56:14 · 8099 阅读 · 0 评论 -
mac上运行打包程序报Mkdirs failed to create /var/folders/6c/mj93yj2x3z71ps5p99s9htc00000gn/T/hadoop-unjar3499
写测试程序的时候发现了一个问题,就是使用mac打包完的程序,报错如下:其实内容很简单,就是对一个MR wordcount程序,代码稍后贴,先说下这个问题如何解决:zip -d /Users/zhangchenguang/Desktop/HadoopPro-0.0.1-SNAPSHOT-jar-with-dependencies.jar META-INF/LICENSE然后就可以...原创 2019-04-23 11:15:59 · 677 阅读 · 0 评论