自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 收藏
  • 关注

原创 【大数据之Hive】十六、Hive-HQL函数之窗口函数(开窗函数)

  先定义了窗口的大小(按行来算),然后对窗口内的行的数据进行计算,再将计算结果返回给改行。  窗口函数包括窗口和函数两部分,窗口用于定义计算范围,函数用于定义计算逻辑,窗口函数只会在原来的表上增加一列结果列,不改变原来的数据。函数:  绝大多数聚合函数都可以配合窗口使用,如max(),min(),sum(),count(),avg()等。窗口:  分为两种,一种是基于行的,一种是基于值的。  基于行的:如每行数据的窗口为上一行到当前行:对于第1行来说,处于窗口内的行为第0行和第1行;对于第2行

2023-06-26 17:57:38 2611 1

原创 【大数据之Hive】十五、Hive-HQL函数之炸裂函数UDTF

制表函数,接收一行数据,输出一行或多行数据。

2023-06-22 13:30:00 226

原创 【大数据之Hive】十四、Hive-HQL函数之炸裂函数和窗口函数

将一行数据拆分多行,即制表函数,接收一行数据,输出一行或多行数据。

2023-06-21 15:15:00 969

原创 【大数据之Hive】十三、Hive-HQL函数之单行函数和高级聚合函数

多进一出,即多行输入,一行输出。-- 普通聚合-- collect_list() :收集并形成list集合,结果不去重。-- collect_set() :收集并形成set集合,结果去重。

2023-06-20 21:11:11 1171

原创 【大数据之Hive】十二、Hive-HQL查询之分组、join、排序

group by 通常和聚合函数一起使用,按照一个或多个列的结果进行分组,任何对每个租执行聚合操作。用group by时,select中只能用在group by中的字段和聚合函数。

2023-06-15 22:15:00 1900

原创 【大数据之Hive】十一、Hive-HQL查询之基本查询

sql语句翻译成MapReduce的执行计划,在Map端读入数据,在每个Map端上对读入的数据进行聚合,就减少了shuffle的数据量,然后将每个Map聚合之后的结果汇总到一个Reduce中,在Reduce上进行统计。用where过滤不满足条件的行,只针对一行一行的数据,在from句后,且where句子不能用字段别名。对于模糊匹配like:用show查tables用通配符*,用select查表数据用通配符%。查询返回多行数据,用limit限制返回的行数。(2)SQL 可以写在一行或者多行。

2023-06-13 22:45:00 486

原创 【大数据之Hive】十、Hive之DML(Data Manipulation Language)数据操作语言

将文件导入Hive表中。关键字说明:(1)local:表示从本地加载数据到Hive表;否则从HDFS加载数据到HIve表。(2)overwrite:表示覆盖表中已有数据,否则表示追加。(3)partition:表示上传到指定分区,若目标是分区表则需要指定分区。

2023-06-12 18:12:16 952

原创 【大数据之Hive】九、Hive之DDL(Data Definition Language)数据定义语言

] 里的都是可选的操作。

2023-06-09 21:30:00 1135 1

原创 【大数据之Hive】八、Hive常用交互命令及参数配置

因为Hive是作为Hadoop的客户端启动的,所以Hive也会读入Hadoop的配置,Hive的配置会覆盖Hadoop的配置。

2023-06-07 16:45:00 993

原创 【大数据之Hive】七、 Hive服务启动脚本

先在$HIVE_HOME目录下创建一个logs文件夹,该文件夹下再创建两个文件:metastore.log和hiveServer2.log。在/home/用户名/bin下创建一个脚本:hiveservices.sh。然后将其复制到$HIVE_HOME/bin/下。

2023-06-06 08:00:00 489

原创 【大数据之Hive】六、Hive之metastore服务部署

metastore为Hive CLI或Hiveserver2提供元数据访问接口。

2023-06-05 18:25:57 2372

原创 【大数据之Hive】五、Hiveserver2服务部署

hiveserver2提供JDBC/ODBC接口,使得用户可以远程访问Hive数据,即作为客户端的代理与Hadoop集群进行交互。hiveserver2部署时需要部署到一个能访问集群的节点上,保证能够直接往Hadoop上提交数据。用户在客户端提交SQL语句时,由hiveserver请求HDFS或者提交计算任务到Yarn上,再由hiveserver2将结果返回给客户端。用户即由hiveserver2代理进行远程访问Hadoop集群的用户。

2023-05-31 17:45:00 2643

原创 【大数据之Hive】四、配置Hive元数据存储到MySQL

需求:把Hive元数据写道MySQL的metastore数据库中(MySQL默认没有metastore数据库,需要提前创建:create database metastore;连接地址:jdbc:mysql//hadoop102:3306/metastore驱动:com.mysql.cj.jdbc.Driver用户名:root密码:123456。

2023-05-30 13:45:00 1691

原创 【大数据之Hive】三、Linux下安装MySQL8.0.33

解决方法:用yum直接下载。

2023-05-29 20:09:25 2003

原创 【大数据之Hive】二、Hive安装

(9)先退出hive客户端,在hive根目录下删除derby.log和metastore_db,以及删除HDFS上的hive目录。Hive默认使用的元数据库为derby,derby数据库在同一时间只能一个客户访问,如果多个hive客户端同时访问会报错。企业开发中需要多客户访问hive,所以把hive元数据用MYSQL存储,MYSQL支持多客户端同时访问。安装部署Hive(最小化只用于本机测试环境中,不可用于生产环境),并运行。Hive把元数据库metastore_db保存在hive的根目录下。

2023-05-25 17:30:00 884

原创 【大数据之Hive】一、Hive概念及框架原理

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能,主要完成海量数据的分析和计算。优点:简化数据开发流程及提高了效率。

2023-05-24 11:30:00 896

原创 【大数据之Hadoop】三十六、Hadoop综合调优之企业开发场景案例

需求:从0.5G数据中,统计每个单词出现次数。服务器3台,每台配置2G内存,1核CPU,2线程。需求分析:0.5G/128m=4个MapTask;1个ReduceTask;1个MrAppMaster平均每个节点运行6个 / 3台 = 2个任务(2 2 2)

2023-05-23 22:45:00 79

原创 【大数据之Hadoop】三十五、Hadoop综合调优之测试MapReduce计算性能(压测)

使用Sort程序评测MapReduce。(3)验证数据是否真正排好序了。

2023-05-22 10:30:00 293

原创 【大数据之Hadoop】三十四、Hadoop综合调优之小文件优化方法

HDFS上每个文件都要在NameNode上创建对应的元数据,这个元数据的大小约为150byte,这样当小文件比较多的时候,就会产生很多的元数据文件,一方面会大量占用NameNode的内存空间,另一方面就是元数据文件过多,使得寻址索引速度变慢。在没有开启uber模式下,对/input路径上上传的小文件执行wordcount程序,可用看到控制台上显示uber模式是关闭的,且http://hadoop103:8088/cluster中该任务开启的容器超过1个,不大于9个。

2023-05-19 23:15:00 594

原创 【大数据之Hadoop】三十三、Yarn生产经验

(1)Resourcemanager相关。(2)Nodemanager相关。(3)Container容器相关。

2023-05-18 19:45:00 89

原创 【大数据之Hadoop】三十二、MapReduce生产经验

*(2)能在map阶段提前处理,最好先在Map阶段处理。**如:Combiner、MapJoin。生产环境,可以直接过滤掉空值;如果想保留空值,就自定义分区,将空值加随机数打散。大部分任务运行结束,只有部分任务还在运行,且时间很长。通常数据倾斜发生在Reduce阶段。数据频率倾斜——某一个区域的数据量要远远大于其他区域。(2)Map运行时间太长,导致Reduce等待过久。数据大小倾斜——部分记录的大小远远大于平均值。1)计算机性能:CPU、内存、磁盘、网络。

2023-05-17 12:00:00 377

原创 【大数据之Hadoop】三十一、HDFS集群迁移之Apache和Apache集群间数据拷贝

数据迁移场景:冷热集群数据分类存储;集群数据整体迁移;数据的准实时同步,目的在于数据的双备份可用。数据迁移需要考虑的因素:带宽、性能、增量同步(原始数据文件进行了追加写、被删除或重命名)、数据迁移的同步性。

2023-05-15 09:15:00 454

原创 【大数据之Hadoop】三十、HDFS故障排除

使用3台服务器,恢复yarn快照。

2023-05-11 23:00:00 761 1

原创 【大数据之Hadoop】二十九、HDFS存储优化

纠删码和异构存储测试需要5台虚拟机。准备另外一套5台服务器集群。(1)克隆hadoop105为hadoop106,修改ip地址和hostname,然后重启。(2)关闭集群,删除所有服务器Hadoop的data和logs文件。(3)在hadoop102上修改xsync和jpsall文件,把hadoop105和hadoop106加上。xsync存储地址:/bin,在root下修改,然后后分发xsync:xsync xsync。

2023-05-10 19:15:00 1035

原创 【大数据之Hadoop】二十八、生产调优-HDFS集群扩容及缩容

增加或缩减服务器,注意不允许白名单和黑名单同时出现同一个主机。

2023-05-09 21:00:00 1238

原创 【BUG】Linux下MySQL8.0.33用mysql -u root -p登录报错:ERROR 1045 (280000):Access denied for ‘root‘@‘localhost‘

在Linux下安装MySQL8.0.33时首次登录MySQL,并修改密码(MySQL8.0.33)报错显示权限不足,用户’root’@'localhost’不能登录到MySQL服务器。root用户 + 123456,实现在任何主机上都能登录MySQL数据库。

2023-05-09 20:32:45 1043

原创 【大数据之Hadoop】二十七、生产调优-HDFS多目录

DataNode配置多个目录,每个目录存储的数据不一样(且数据不是副本),可以用于增加磁盘、硬盘,磁盘新增之后就会出现负载不均衡的问题。当硬盘空间不足时增加一块硬盘后,新加的硬盘是没有数据的,通过执行磁盘数据均衡命令使得磁盘负载均衡。在hdfs-site.xml中添加,每台服务器节点的磁盘不同,可以选择不分发。NameNode本地目录可以配置多个,每个目录存放内容相同,增加可靠性。关闭集群,删除三台节点的data和logs文件,最后再格式化重启集群。向一个集群上传文件,可以看到两个文件夹内容不一致。

2023-05-08 10:30:00 606

原创 【大数据之Hadoop】二十六、生产调优-HDFS集群压测

测试上传数据到集群和拉取数据的时间。HDFS的读写性能主要受网络和磁盘影响比较大。为了方便测试,将hadoop102、hadoop103、hadoop104虚拟机网络的带宽都设置为100Mbps。

2023-05-07 23:45:00 1068

原创 【Shell】一天快速入门

定义变量:变量名=值A = 122撤销变量:unset 变量名声明静态变量:readonly 变量名=值,静态变量只能读,不能撤销unset掉。(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。(2)等号两侧不能有空格。(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。(4)变量的值如果有空格,需要使用双引号或单引号括起来,表示变量值为一个字符串。(5)可把变量提升为全局环境变量,可供其他Shell程序使用。程序;return 参数。

2023-05-07 17:17:46 1038

原创 【大数据之Hadoop】二十五、生产调优-HDFS核心参数

根据经验:dfs.namenode.handler.count=20xln(集群规模,即DataNode台数),比如此时台数为3,则应该设置20xln3=21。(2)检查回收站的间隔时间fs.trash.checkpoint.interval,默认为0即该值与文件存活时间fs.trash.interval 相等。(3)要求:检查回收站的时间间隔要<=文件存活时间,即fs.trash.checkpoint.interval <= fs.trash.interval。恢复回收站的数据:把回收站里的文件移出来。

2023-05-06 15:30:00 912

原创 【大数据之Hadoop】二十四、Yarn的tool接口

传入的参数的数组元素有3个,分别是-Dmapreduce.job.queuename=root.test、/inpu、 /output,而程序里的输入输出路径为传入数组的第一第二个元素,所以需要编写Yarn的Tool接口动态修改参数。(6)进到jar包的存放目录,向集群提交jar文件执行,此时为3个参数,第一个用于生成特定的Tool,第二个和第三个为输入输出目录,显示正常运行。(7)在wordcount后面添加参数,也就是4个参数。(2)新建包名com.study.yarn。

2023-05-05 09:45:00 168

原创 【大数据之Hadoop】二十三、Yarn命令行操作及生产环境下的配置

容量调度器,支持任务优先级的配置,在资源紧张时,优先级高的任务将优先获取资源。默认情况,Yarn将所有任务的优先级限制为0,若想使用任务的优先级功能,须开放该限制。(1)default队列占总内存的40%,最大资源容量占总资源60%,hive队列占总内存的60%,最大资源容量占总资源80%。(2)像双十一、618在资源紧张时期保证任务队列资源充足,给任务设置优先级,优先级高的先处理,即对任务进行降级使用。服务器3台,每台配置2G内存,1核CPU,2线程。平均每个节点运行6/3=2个任务(2,2,2)

2023-05-04 09:06:35 2721

原创 【大数据之Hadoop】二十二、Yarn调度器和调度算法

Hadoop作业调度器主要有三种:FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。Apache Hadoop默认的资源调度器:容量调度器Capacity Scheduler。CDH框架默认调度器是Fair Scheduler。

2023-04-28 17:30:00 1435

原创 【大数据之Hadoop】二十一、MapReduce、HDFS、Yarn配合工作(作业提交全过程)

(20)缓冲区内部对数据分区存储,当数据进入到环形缓冲区时就进行分区标记(会根据分区进入到不同的reduce),缓冲区一侧存数据,一侧存索引,当数据达到80%时进行反向溢写。(3)该程序将运行所需资源提交到HDFS集群路径上,包括split切片信息(控制开启MapTask的数量)、配置参数文件xml(控制任务按照xml里的参数运行)以及jar包(程序代码)。(16)DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验),客户端以Packet为单位接收,先在本地缓存。

2023-04-27 23:00:00 711

原创 【大数据之Hadoop】二十、Yarn基础框架及工作机制

(10)RM将运行MapTask任务分配给NodeManager,NodeManager领取任务并创建容器(MapTask对应的容器有可能在同一个NodeManager节点上),并拷贝cpu、ram和jar包资源。(3)该程序将运行所需资源提交到HDFS集群路径上,包括split切片信息(控制开启MapTask的数量)、配置参数文件xml(控制任务按照xml里的参数运行)以及jar包(程序代码)。(5)RM将用户的请求初始化成一个Task任务,然后放到任务队列中排队(任务队列默认是容器)。

2023-04-25 18:30:00 463

原创 【大数据之Hadoop】十九、MapReduce总结

job的提交流程:待读写的源数据由客户端进行切片划分,划分完成之后提交(切片信息、jar包、xml配置文件)给yarn,yarn开启MrAppMaster,MrAppMaster读取切片信息,根据切片个数决定开启MapTask的个数。的方式进行存储,当数据进入到环形缓冲区时就进行分区标记(会根据分区进入到不同的reduce),缓冲区一侧存数据,一侧存索引,当数据达到80%时进行反向溢写。将数据写入本地磁盘之前,先要对数据进行一次本地排序,并在必要时对数据进行合并、压缩等操作。

2023-04-24 15:15:33 640

原创 【大数据之Hadoop】十八、MapReduce之压缩

优点:减少磁盘IO、减少磁盘存储空间。缺点:因为压缩解压缩都需要cpu处理,所以增加CPU开销。原则:运算密集型的Job,少用压缩;IO密集型的Job,多用压缩。

2023-04-23 16:00:00 562

原创 【大数据之Hadoop】十七、MapReduce之数据清洗ETL

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将分散、零乱、标准不统一的数据整合到一起,为决策提供分析依据。ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。

2023-04-21 11:15:00 2270

原创 【大数据之Hadoop】十六、MapReduce之Join

通过将关联条件作为Map输出的key,将两表满足Join条件的数据并携带数据所来源的文件信息,发往同一个ReduceTask,在Reduce中进行数据的串联。解决:在Map阶段进行数据合并操作,缓存多张表,提前处理业务逻辑,增加Map端业务,减少Reduce端数据的压力,尽可能的减少数据倾斜。在Reduce阶段极易产生数据倾斜,原因是大量数据在Reduce阶段进行合并处理过多的表,Map阶段负载低,资源利用率不高。Map Join适用于一张表很小(小表缓存到内存中)、一张表很大的场景(大表用于逐行遍历)。

2023-04-19 22:00:00 829 1

原创 【BUG】用myhadoop.sh start群起集群发现ResourceManager没起成功

查了日志,发现端口并没有被占用,且resource-types.xml文件也没问题,防火墙也关了。解决方法:只需要在ResourceManager的节点重启yarn就可以了。

2023-04-19 10:33:04 261

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除