自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hive建表指定JsonSerde:解析Json格式日志文件

数据准备{"student":{"name":"xiaowang","age":11,"sex":"M"},"class":{"book":"语文","level":2,"score":81},"teacher":{"name":"t1","class":"语文"}}{"student":{"name":"xiaoming","age":12,"sex":"M"},"class":{"book":"语文","level":2,"score":82},"teacher":{"name":"t2","c

2022-05-19 19:11:34 1049

原创 解决安装Azkaban出现:Access denied for user ‘azkaban‘@‘localhost‘ (using password: YES)

原本流程创建Azkaban用户并设置密码create user 'azkaban'@'%' identified by 'ok';授权grant select,update,delete on azkaban.* to 'azkaban'@'%' with grant option;刷新flush privileges;登录出现报错,各种尝试各种G解决方案将创建用户和授权中的 '%' 改成 'localhost'create user 'azkaban

2022-05-13 09:22:17 687

原创 Spark 优化之:资源参数调优

资源参数调优了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。所谓的Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。以下参数就是Spark中主要的资源参数,每个参数都对应着作业运行原理中的某个部分,我们同时也给出了一个调优的参考值。num-executors参数说明:该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向YARN集群管理器申

2022-04-27 08:37:52 549

原创 Spark 优化之:Shuffle优化

Shuffle调优1. map和reduce端缓冲区大小在Spark任务运行过程中,如果shuffle的map端处理的数据量比较大,但是map端缓冲的大小是固定的,可能会出现map端缓冲数据频繁spill溢写到磁盘文件中的情况,使得性能非常低下,通过调节map端缓冲的大小,可以避免频繁的磁盘IO操作,进而提升Spark任务的整体性能。map端缓冲的默认配置是32KB,如果每个task处理640KB的数据,那么会发生640/32 = 20次溢写,如果每个task处理64000KB的数据,即会发生6

2022-04-26 22:27:13 873

原创 Spark 优化之:RDD算子优化(篇幅很长,耐心看完收获满满)

RDD算子调优1. 避免RDD复用在对RDD进行算子时,要避免相同的算子和计算逻辑之下对RDD进行重复的计算,如下图所示对上图中的RDD计算架构进行修改,得到如下图所示的优化结果:一个简单的案例// 需要对名为“hello.txt”的HDFS文件进行一次map操作,再进行一次reduce操作。//也就是说,需要对一份数据执行两次算子操作。// 错误的做法:对于同一份数据执行多次算子操作时,创建多个RDD。// 这里执行了两次textFile方法,针对同一个HDFS.

2022-04-26 22:24:16 796 1

原创 Spark OOM、GC、栈内存故障排除

1. 避免OOM-out of memory在Shuffle过程,reduce端task并不是等到map端task将其数据全部写入磁盘后再去拉取,而是map端写一点数据,reduce端task就会拉取一小部分数据,然后立即进行后面的聚合、算子函数的使用等操作。reduce端task能够拉取多少数据,由reduce拉取数据的缓冲区buffer来决定,因为拉取过来的数据都是先放在buffer中,然后再进行后续的处理,buffer的默认大小为48MB。reduce端task会一边拉取一边计算,不一定每

2022-04-26 22:04:27 2438

原创 Spark数据倾斜优化

Spark数据倾斜就是数据分到各个区的数量不太均匀,可以自定义分区器,想怎么分就怎么分。Spark中的数据倾斜问题主要指shuffle过程中出现的数据倾斜问题,是由于不同的key对应的数据量不同导致的不同task所处理的数据量不同的问题。例如,reduced端一共要处理100万条数据,第一个和第二个task分别被分配到了1万条数据,计算5分钟内完成,第三个task分配到了98万数据,此时第三个task可能需要10个小时完成,这使得整个Spark作业需要10个小时才能运行完成,这就是数据倾斜所带来

2022-04-26 19:04:35 587

原创 创建MySQL的触发器

在MySQL中,创建触发器语法如下:CREATE TRIGGER trigger_nametrigger_time trigger_event ON tbl_nameFOR EACH ROWtrigger_stmt其中:trigger_name:标识触发器名称,用户自行指定; trigger_time:标识触发时机,取值为 BEFORE 或 AFTER; trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE; tbl_name:标识建立触发器的表名,

2022-04-07 18:29:48 1161

原创 创建、删除MySQL索引

1. 创建索引1.1 使用Alter创建索引添加主键索引> 特点:数据列不允许重复,不能为null,一张表只能有一个主键;Mysql主动将该字段进行排序 1 ALTER TABLE 表名 ADD Primary key (col); 添加唯一索引> 特点:索引列是唯一的,可以null;Mysql主动将该字段进行排序 1 ALTER TABLE 表名 ADD unique <索引名> (col.

2022-04-06 17:19:57 349

原创 安装 elasticsearch-head 依赖包问题:无法下载phantomjs

解决方案1.yum install -y wget2.wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1- linux-x86_64.tar.bz2执行上述两步即可

2022-03-29 19:56:49 2200

原创 Git下载head插件报错:fatal: remote error: The unauthenticated git protocol on port 9418

报错信息: Cloning into 'elasticsearch-head'...fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported.翻译:克隆到“elasticsearch-head”……致命:远程错误:9418端口上的未认证的git协议不再被支持。解决方案:上网找了很多解决方法,包括git config --global...

2022-03-29 19:53:35 3519 2

原创 redies数据类型及应用场景

Redis支持5中数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)string:string类型是redis最基本的类型,一个key对应于一个value,并且是二进制安全的,即可以包含任何数据,包括图片或者序列化的对象(突然想起Python的PIL中的Image模块,可以直接将图片转化为二进制文件)。string的一个键最大可以存储512MB。应用场景:应用广泛,几乎都用hash:hash是一个键值(key=>value

2022-03-16 14:38:03 1760

原创 如何优化Hive查询?看这篇

Hive查询过程根据上图,查询组件主要包括:UI(user interface)–用户提交查询或者其他操作,现在标准UI有CLI(command line interface),Thrift Serve,Hive web interface(HWI)。Driver(驱动)–负责接收查询及其他操作,Driver 实现了会话句柄的概念,并提供在基于JDBC / ODBC的execute和fetch APICompiler(编译器)...

2022-03-16 14:35:37 687

原创 解决小文件问题

更多关于Hive的优化,点击下面连接Hive数据倾斜的优化配置_徐凤年不是真无敌的博客-CSDN博客https://blog.csdn.net/AriesLY0411/article/details/123382148?spm=1001.2014.3001.5501什么情况下会产生hive小文件1.动态分区插入数据,产生大量的小文件,从而导致map数量剧增。2.reduce数量越多,小文件也越多(reduce的个数和输出文件是对应的)。3.数据源本身就包含大量的小文件。小文件危害

2022-03-16 14:27:06 312

原创 Hive数据倾斜的优化配置

Hive本质Hive的本质其实就是 Hdfs+MapReduce,HDFS存储、MR执行任务发生数据倾斜的原因1.数据本身倾斜内容倾斜、group by倾斜、小表Join大表2.过多Join过多导致Job过多、小文件过多、Mapper或Reducer过多3.SQL语句使用问题count(distinct)->全盘扫描join ... where 笛卡尔乘积关于数据倾斜见我的博客:大数据常见问题:数据倾斜的原理及处理方案_AriesLY0411的博客-CSDN

2022-03-09 17:22:26 2089

原创 日期类型选Timestamp? 还是 DateTime?

Hive TimeStamp是hive中的一种数据类型 对应的时间格式为yyyy-MM-dd HH:MM:SSHive中使用current_timestamp()函数获取当前时间,精确到毫秒select current_timestamp();+--------------------------+--+| _c0 |+--------------------------+--+| 2019-06-02 15:31:33.355 |+---

2022-03-04 08:47:53 585

原创 Spark入门必知:DAG、Cache、RDD、CheckPoint

目录前言关键字DAG(有向无环图)概念DAG 解决了什么问题工作流程Cache 缓存为什么要用cachecache的使用注意点cache存储级别如何选择存储级别checkPoint(检查点)cache和checkpoint的区别RDD(弹性数据集)宽窄依赖1.窄依赖(1对1 | N对1)2.宽依赖(一对多)分区优化Stage (阶段)概念划分规则Spark案例前言这里只向大家介绍几个关键的关键字知识点,详

2022-03-03 14:28:04 2336

原创 Spark WordCount执行报错:Exception in thread “main“ java.lang.UnsatisfiedLinkError

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Ljava/lang/String;)Lorg/apache/hadoop/io/nativeio/NativeIO$POSIX$Stat; at org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Native Method) at...

2022-02-28 17:06:18 353

原创 解决Idea创建spark工程报错:Cannot resolve plugin org.scala-tools:maven-scala-plugin: unknown

不能解析plugin org。 scala工具:maven-scala-plugin:未知 解决方案:首先:IDEA插件自动生成的pom文件中scala的版本是2.7,需要修改成与本地scala一致的版本号,我的是2.12.10<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h.

2022-02-28 14:55:38 4011 1

原创 InnoDB引擎架构

逻辑存储结构表空间(ibd文件):一个mysql实例可以对应多个表空间,用于存储记录、索引等数据段:分为数据段、索引段、回滚段、InnoDB是索引组织表,数据段就是B+树的叶子节点,索引段即为B+树的非叶子节点,段用来管理多个Extent(区)区:表空间的单元结构,每个区的大小为1M,默认情况下,InnoDB存储引擎页大小为16K,即一个区中一共有64个连续的页页:是InnoDB存储引擎磁盘管理的最小单元,每个页的大小默认16KB,为了保证页的连续性,InnoDB存储引擎每次从磁盘申

2022-02-27 18:00:03 511

原创 MySQL锁概念简介

概念锁是计算机协调多个进程或县城并发访问某一资源的机制全局锁概念特点:锁定库中的所有表,加锁后整个实例(表)就处于只读状态,后续的DML、DDL语句,已经更新操作的事务提交语句都会被阻塞使用场景:全库的逻辑备份,对所有表进行锁定,获取一致性视图,保证数据完整性加锁语句:flush tables with read lock;备份语句:mysqldump -uroot -p密码 itcast(哪个数据库)> itcast.sql(哪个sql文件) 不在mysql命令行执行

2022-02-27 16:57:03 508

原创 count(*)、count(1)、count(主键)、count(字段) 哪个性能最好

MySIAM引擎把一个表的总行数存在了磁盘上,因此count(*)的时候会直接返回这个数,效率很高InnoDB引擎就麻烦了,它执行count(*)的时候,需要把数据一行一行的从引擎里面读出来,然后计数count(*):InnoDB引擎并不会把全部字段取出来,而是专门做了优化,不取值,服务层直接累加count(主键):InnoDB引擎遍历整张表,把每一行的主键都取出来返回给服务层,服务层拿到主键后,直接按行进行累加(主键不可能为null,不用判断)count(字段):没有not nul

2022-02-27 16:35:59 308

原创 Scala集合方法大全(倾心整理)

这篇博客按Scala算子不同的实现功能进行汇总,含案例方便记忆主要分为:提取、修改、迭代处理、分段|分组、聚合、验证、容量、转变提取foreach遍历序列中所有元素val arr:Array[Int] =Array(1,2,3,4,1)arr.foreach(println)//结果12341apply根据下标提取指定元素,存在下标越界异常var arr1=Array(2,4,7,3,9)println(arr1.apply(2))//结果7a

2022-02-18 15:27:22 1094

原创 Java异常分类处理与Scala异常处理

异常体系 异常体系在Java语言中, 将程序执行中发生的不正常情况称为“异常” 。(开发过程中的语法错误和逻辑错误不是异常)Java程序在执行过程中所发生的异常事件可分为两类:Error: Java虚拟机无法解决的严重问题。 如: JVM系统内部错误、 资源耗尽、断电、网络中断、内存不够等情况。比如: StackOverflowError和OOM。 一般不编写针对性的代码进行处理。Exception: 其它因编程错误或偶然的外在因素导致的一般性问题, 可以使用针对性的代码进行...

2022-02-18 13:49:25 318

原创 Java小知识:对象引用类型

对于需要长期运行的应用程序来说,如果无用的对象所占用的内存空间不能得到即时的释放的话,那么在一个局部的时间段内便形成了事实上的内存泄露。 以前我们学过,如果要及时地释放内存,最稳妥的方法就是使用完对象之后,立刻执行 "object=null" 语句。当然,这也是一种理想状态。 JDK里面引入了4种对象引用类型,可以算是强行的调用System.gc()这个的垃圾回收的方法了。1.强引用(StrongReference):强引用不会被GC回收,并且在java.lang.ref里也没有...

2022-02-14 22:37:26 556

原创 大数据常见问题:数据倾斜的原理及处理方案

什么是数据倾斜Hadoop能够进行对海量数据进行批处理的核心,在于它的分布式思想,通过多台服务器(节点)组成集群,共同完成任务,进行分布式的数据处理。理想状态下,一个任务是由集群下所有机器共同承担执行任务,每个节点承担的任务应该相近,但实际上在并行处理过程中,分配到每台节点的数据量并不是均匀的,当大量的数据分配到某一个节点时(假设10个节点,5亿数据),那么原本只需要1小时完成的工作,变成了其中9个节点不到1小时就完成了工作,而分配到了大量数据的节点,花了5个小时才完成从最终结果来看,就是这个处

2022-02-14 16:18:08 11107

原创 大数据必知:Hadoop的三大组件和特点

大数据特点:5VIBM 提出大数据具有 5V 特点,分别为:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)Volume:巨大的数据量,采集、存储和计算的量都非常大。大数据的起始计量单位至少是 PB(1000TB)、EB(100万TB)或ZB(10亿TB)。8 bit = 1 Byte 一字节1024 B = 1 KB (KiloByte) 千字节1024 KB = 1 MB (MegaByte) 兆字节1024

2022-02-14 16:06:30 10877

原创 Scala必知数据类型、运算符分类

数据类型Byte 8位有符号补码整数,数值区间 -128 ~ 127short 16位有符号补码整数,数值区间 -32768 ~ 32767Int 32位有符号补码整数,数值区间 -2147483648 ~ 2147483647Long 64位有符号补码整数,数值区间 -9223372036854775808 ~ 9223372036854775807Float 32位,IEEE 754标准的单精度浮点数Double ...

2022-02-14 14:05:46 442

原创 简述Java和Scala的区别

Java支持基本类型+static关键字,使得Java是个不纯粹的OOP语言Java已经存在很多年,编程思想根深蒂固,不能轻易大方面更新,这时候基于ava1.8版本派生出了Scala,基于1.8的新特性——函数式接口和lambada表达式Scala衍生出一种编程理念:函数式编程在Scala的方法里会对类进行分类,一般分为//入口方法:引入数据 返回值:return this(当前对象);//过程处理:处理业务 返回值:return this(当前对象);//出口方法:展

2022-02-14 13:50:15 1955

原创 Scala执行报错:No such file or class on classpath 解决方法(含环境变量配置)

首先确保Scala环境变量已设置Windows+R 输入 scala出现 scala> 环境变量配置完成执行第一个 scala 源文件object HelloScala { def main(args: Array[String]){ println("Hello, World!") }}编译:scalac HelloScala执行:scala HelloScala出现报错:No such file or clas...

2022-02-09 16:46:10 2194 1

原创 flume执行报错: flume java.lang.OutOfMemoryError: GC overhead limit exceeded

报错信息:原因:flumeJava内存溢出解决方案:修改flume的bin目录下flume-ng的配置信息把JAVA_OPTS 默认的20m调整为2048m(2G)或其他大小都可vim /opt/software/flume190/bin/flume-ng原配置信息:JAVA_OPTS="-Xmx20m"修改后:...

2022-02-08 15:10:18 794

原创 HBase入门:各组件详细介绍

简介:HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。是 Apache Hadoop 的数据库,是建立在 HDFS 之上,被设计用来提供高可靠性、高性能、列存储、可伸缩、多版本的 NoSQL的分布式数据存储系统,实现对大型数据的实时、随机的读写访问。特点:HBase 依赖于 HDFS 做底层的数据存储,BigTable 依赖 Google GFS 做数据存储HBase 依赖于 M

2022-01-23 22:16:33 4227

原创 Hadoop安装错误:Permission denied

先看报错:这是没有设置免密造成的解决方案#本机免密ssh-keygen -t rsals -la #.sshls.ssh/ #id_rsa id_rsa.pub #私钥 公钥cat .ssh/id_rsa.pub >> .ssh/authorized_keys sshroot@本机HOSTNAMEid_rsa => 私钥 pub = > 公钥规则:带着公钥找私钥,带着私钥去干活...

2021-12-28 18:01:31 2151

原创 Hadoop安装错误:Cannot set priority of secondarynamenode process : xxxxx

这是由于当前用户与可操作用户不匹配,产生权限冲突使用以下命令可解决chown -R root:root 文件名/,如 chown -R root:root hadoop3.1.3/成果:

2021-12-28 17:55:54 11724 1

原创 Redis安装步骤(含常见异常解决方案)

//基于内存的NoSQL操作步骤:(进入moba直接操作即可)#默认安装gcc版本4.8.5 yum-yinstallgcc //可能报错需要将gcc升至5.3以上 yum-yinstallcentos-release-scl yum-yinstalldevtoolset-9-gccdevtoolset-9-gcc-c++devtoolset-9-binutils sclenabledevtoolset-9bash //临时设置 ec...

2021-12-21 17:18:09 1211

原创 虚拟机优化

在优化之前需要一台远程终端控制软件,如MobaXterm或者Xshell,我使用的是Moba配置Moba左上角Session——>SSH——>添加用户,输入安装虚拟机时设置的用户名密码,记得OK——>输入对应IPADDR,勾选Specify username——>OK确认优化分为以下几步: 每结束一个命令按 shift zz 退出,不能按错 1.#常用命令本地化安装 2.#挂载镜像 3.#备份默认配置信...

2021-12-21 17:14:03 762

原创 MySQL常用函数汇总

MySQL 数值型函数函数名称 作 用ABS 求绝对值SQRT 求二次方根MOD 求余数CEI L 和 CEILING 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整FLOOR 向下取整,返回值转化为一个BIGINTRAND 生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列ROUND 对所传参数进行四舍五入SIGN 返回参数的符号POW 和 POWER 两个函数的功能相同,都是所传参数的次方的结果值SIN

2021-12-20 10:56:02 132

原创 虚拟机安装教程(多图)

打开虚拟机点击左上角文件——创建,创建自定义虚拟机,硬件兼容性,可选择向下兼容,但不能选择向上兼容,一般win10选择15.x选择稍后安装,之后操作系统默认是windows,我这里选择用linux,版本CentOS67位跳转下一页面,注意!不要装C盘!!!选择容量大些的盘安装,最好再创建一个二级目录安装进去,根据需求以及自身配置选择处理器数量,核心,以及虚拟机的内存,我这里选择双处理器四核以及4G虚拟机,下一步,根据需求选择网络,如果是自己用选择仅主机选择推荐的SCSI磁盘,下一步,...

2021-12-05 17:17:08 35853 3

原创 MySQL视图及优缺点

视图一、常见的数据库对象1.表 table 表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录2.数据字典,就是系统表,存放数据库相关信息的表,系统表的数据通常由数据库系统维护,程序员通常不应该修改,只可查看3.约数 constraint,执行数据校验的规则,用于保证数据完整性的规则4.视图 view,一个或者多个数据表里的数据的逻辑显示,视图并不存储数据5.索引 index 用于提高查询性能,相当于书的目录6.存储过程 procedure 用于完成一次完整的..

2021-11-29 17:17:56 6939

原创 MySQL数据库查询,select

概述 数据的操作永远离不开增删改查四个字,也就是DML数据操作语言:涉及增删改,DQL语言:数据查询语言 关键字selectDQL语言:数据查询语言D:Data Q:Quevy L:Language 关键字:select查询:selectselect 字段名1,字段名2,字段名3... from 表名 也可以用表名.字段名 用于区分不同的表拥有相同的表名取别名:关键字 ASselect * from 表名 as 表别名; --as可以省略,但最好加...

2021-11-26 16:21:19 1389

空空如也

空空如也

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

TA关注的人

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