自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql 中的锁

锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,除了传统的计算资源(cpu,ram,i/o)的争用以外,数据也是一种供许多用户共享的资源。作用:当有事物(线程)A有行锁时,mysql会自动为该表添加意向锁,事物(线程)b如果想申请整个表的写锁,那么不需要遍历每一行判断是否存在行锁,而直接判断是否存在意向锁,增强性能。每次操作锁住整张表,开销小,加锁快,不会出现死锁,锁定的粒度大,发生锁冲突的概率最高,并发低。锁定的是数据的一行,粒度小,能提供更好的并发性,需要更多的资源。

2024-06-14 12:43:47 1035

原创 mysql (事物)

总结:在没有关闭inndb自动提交事物和关闭inndb自动提交事物的情况下,都没有发生脏读的情况,都是在各自的窗口中执行各自的操作,另一个窗口的操作并不会对其他窗口有影响。隔离性Isolation:事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务执行时,不能被其他事务的执行所干扰,多个并发执行的事务之间要相互隔离。VALUES (1,'张三',2000), (2,'李四',2000);脏读过程的理解(切换事物的隔离级别,不同的隔离级别会导致数据的脏读,幻读,不可重复读)

2024-06-08 14:14:22 1063

原创 linux 开放mysql端口

这个错误表示客户端尝试连接到MySQL服务器时,服务器检查到客户端的IP地址没有被授权访问权限。MySQL的用户权限是基于用户名和来源IP的组合来判断的。MySql 8.0.11 换了新的身份验证插件(caching_sha2_password),而原来的身份验证插件为(mysql_native_password)。1.在MySQL所在服务器上使用命令登录到MySQL数据库中。3.2)若MySQL已经启动,重启MySQL服务器。3.4) 1.重新登录,2.刷新权限,3.重置密码。

2024-06-07 14:51:23 1197 1

原创 mysql 8 linux7,8安装教程

经过查询资料 发现 这是由于yum安装了旧版本的GPG keys所造成,从rpm版本4.1后,在安装或升级软件包时会自动检查软件包的签名。只要在每一条末尾加上--force --nodeps就可以解决问题!rpm -e --nodeps mariadb-libs //--nodeps 忽略依赖强制卸载。5.1) 因为版本问题初始化报错 需要查看自己linux的版本,上面已经介绍,重新下载安装。2.3)rpm -qa | grep -i mysql # -i 忽略大小写。6.设置mysql组的权限。

2024-06-07 11:56:42 726

原创 spark配置文件和优化

配置文件讲解: 属性 默认值 修改值 指定shuffle分区: spark.sql.shuffle.partitions 200 5 忽略损坏的文件 spark.sql.files.ignoreCorruptFiles false true ...

2020-10-04 16:56:52 418

原创 spark概念梳理

大数据技术和 Spark 概述通过实例学习 DataFrame、SQL、Dataset 等 Spark 的核心 API了解 Spark 的低级 API 实现,包括 RDD 以及 SQL 和 DataFrame 的执行过程了解 Spark 如何在集群上运行Spark 集群和应用程序的调试、监控、和调优学习 Spark 强大的流处理引擎——结构化流处理学习 MLlib 并了解如何应用它解决包括分类和推荐等多种实际问题“这本书是所有 Spark 开发者的必读物,介绍了许多其他地方...

2020-10-01 18:08:21 358

原创 hdfs重新梳理

1.hdfs中的块为什么这么大? 电脑磁盘都有默认的数据块大小,这是磁盘进行读写的最小单位。 hdfs同样也有块的概念,默认是128MB。 hdfs存储的数据是密集型的,例如一个块里面的数据只有1M不会占用一个块的大小。hdfs块比磁盘块大是为了最小化的寻址时间开销,如果块足够大,磁盘的寻址时间明显小于磁盘的传输时间。因而传输一个由多个块组成的大文件取决于磁盘的传输时间。 例如:磁盘的寻址时间是10ms,传输速率为100MB/S,为了使寻址时间占用传输时间的1%,那么一个块的大小是1...

2020-09-28 18:42:15 233

原创 spark-core笔记

二.rdd高级应用 1.认知rdd缓存的优点 RDD缓存机制 2.掌握RDD缓存策略的选择。 3.认知共享变量的使用。 4.掌握Spark的运行架构。5.宽依赖对比窄依赖相比于宽依赖,窄依赖对优化更有利 ,主要基于以下两点。(1)宽依赖往往对应着shuffle操作(shuffle就是将同一个节点的数据进行分区排序,分发给各个子rdd),需要在运行过程中将同一个父RDD的分区传入到不同的子RDD分区中,中间可能涉及多个节点之间的数据传输;而窄依...

2020-09-16 19:14:47 138

转载 使用Linux的MAT分析工具分析超大dump文件(几GB)

官网下载连接:https://www.eclipse.org/mat/downloads.php下载wget http://eclipse.stu.edu.tw/mat/1.9.0/rcp/MemoryAnalyzer-1.9.0.20190605-linux.gtk.x86_64.zip1解压unzip MemoryAnalyzer-1.8.0.20180604-linux.gtk.x86_64.zip1修改MAT的内存大小vi MemoryAnalyzer.ini1jmap dum

2020-06-03 12:48:27 1611

原创 jvm 垃圾收集器整理记录

serial收集器parnew收集器parallel scavenge收集器serial old收集器cms收集器(concurrent mark sweep)garbage first垃圾收集(简称G1)衡量采集器的三个标准1.内存占用2.吞吐量3.延迟serial收集器例如妈妈在帮助儿子打扫房间卫生,儿子必须乖乖坐在椅子上面,不能在地下乱跑。否则就白打扫了。parnew收集器parnew收集器是serial收集器的多线程并行版本..

2020-06-01 17:54:13 121

转载 java逃逸技术分析

概念引入我们都知道,Java 创建的对象都是被分配到堆内存上,但是事实并不是这么绝对,通过对Java对象分配的过程分析,可以知道有两个地方会导致Java中创建出来的对象并一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB(Thread Local Allocation Buffer)线程私有的缓存区。基本概念介绍逃逸分析,是一种可以有效减少Java程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用

2020-05-30 16:20:17 175

原创 hadoop HDFS详解(通过demo理解)

目录技能目标目录一.掌握HDFS文件系统的访问方式二.掌握HDFS的体系结构三.掌握HDFS文件的读写流程、副本摆放策略,认知HDFS数据负载均衡和机架感知。四.了解HDFS的序列化使用一.掌握HDFS文件系统的访问方式 org.apache.hadoop.fs.FileSystem是抽象的文件访问接口使用shell方式访问1.列出文件目录 hdfs dfs -ls /2.递归方式列出目录包括子目录hdfs dfs -ls -R /3.在HD...

2020-05-26 18:19:12 435

转载 c 语言(基本教程 三)

一.C字符串 1.1字符串函数二.C结构体 2.1结构体变量的初始化 2.2访问结构成员 2.3位域三.c共用体 3.1定义共用体 3.2访问共用体成员四.C位域一.C字符串在 C 语言中,字符串实际上是使用null字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所...

2020-05-14 23:26:39 370 1

转载 c 语言(基本教程 二)

一.C函数二.C作用域规则 2.1 局部变量 2.2 全局变量 2.3 形式参数三.C数组 3.1 声明数组 3.2 初始化数组四.C enum(枚举) 4.1 枚举语法定义格式为: 4.2枚举变量的定义五.C指针 (就是地址引用) 5.1什么是指针? 5.2如何使用指针? 5.3C 中的 NULL 指针 ...

2020-05-14 21:23:40 383 2

转载 c 语言(基本教程 一)

一.实例 #include <stdio.h> //stdio.h是一个头文件 (标准输入输出头文件) ,#include是一个预处理命令,用来引入头文件。 当编译器 遇到printf()函数时,如果没有找到stdio.h头文件,会发生编译错误。 int main(){...

2020-05-14 17:58:03 323 1

原创 C 标准库 (stdio.h 介绍)

<stdio.h> 1.简介 2.库变量 3.宏函数 4.库函数 4.1 关闭流 stream。刷新所有的缓冲区。 int fclose(FILE *stream) 4.2清除给定流 stream 的文件结束和错误标识符。 4.3测试给定流 stream 的错误标识符。一.<stdio.h> 简介 stdio .h头文件定义了三个变量类型...

2020-05-14 16:08:40 6394

原创 计算机深入理解 一

一.系统的硬件组成 1.1 总线 总线是用来在计算机各个部件中传递数据的快递员,这个快递员携带的数据是有限制的通常是4个字节32位,8个字节64位。 1.2 IO/设备 IO/设备是计算机与外界数据交换的快递员。 包括四个功能不一的快递员 1)作为用户输入的键盘和鼠标 2)作为用户输出的显示器 3)用来长期...

2020-05-11 11:53:53 206

转载 原码、反码、补码知识详细讲解(此作者是我找到的讲的最细最明白的一个)

本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如,十进制中的数 +3 ..

2020-05-09 17:08:45 182

原创 java,c 位与 & 运算

位&运算符1.判断一个整数是否是2的整数次幂。二进制数的位权是以2为底的幂,如果一个整数 m 是 2 的 n 次幂,那么转换为二进制之后只有最高位为 1,其余位置为 0,再观察 m-1 转换为二进制后的形式以及 m&(m-1) 的结果,例如:2 --> 0000 0010 1 --> 0000 0001 2&1 --&g...

2020-04-30 13:23:48 175

原创 java, c 亦或用法

计算机存储的都是二进制值。利用位逻辑运算是最高效的运算。异或运算  1、异或是一个数学运算符。应用于逻辑运算。  2、例如:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值相 异结果为真。  异或的运算方法是一个二进制运算:  1^1=0  0^0=0  1^0=1  0^1=1  两者相等为0,不等为1.总之,就是这样,n^...

2020-04-30 13:02:04 566

转载 mavne ( POM 标签大全详解)

POM 标签大全详解 <!--父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。 坐标包括group ID,artifact ID和 version。 --> <parent> <!--被继承的父项目的构件标识符 --> <artifactId />...

2020-04-27 23:28:26 134

原创 hadoop (MapReduce流程)

MapReduce 流程图 一.任务提交启动一些检查(待处理的文件和存放处理后的文件是否存在) 经过inputFormat(inputformat中产生文件的切片和输出k,v对) 根据数据来切片(切片的规则 剩余的部分 > 切片的大小 * 1.1),map任务的切分根据数据量的大小。(默认一个块128M), mapper执行任务的数量通常由输...

2020-04-19 11:08:22 265

原创 slf4j 打印日志记录

目录Logger必须作为类的静态变量使用。原因如下:类中创建日志记录器maven 需要引入的jar包日志级别 slf4j的简单用法Logger必须作为类的静态变量使用。原因如下: 1 使用static修饰的属性是归这个类使用的 2 也就是说不论这个类实例化多少个,大家用的都是同一个static属性 3 log...

2020-04-10 17:28:44 683

原创 jvm 调优参数整理记录

虚拟机调试参数:1.设置堆的最大和最小值-Xmx 堆中可以申请的最大内存 -Xms 堆中可以申请的最小内存 将两个值调成一样可以避免堆自动扩展。2.可以让虚拟机出现内存异常时Dump出当前内存堆转储快照以便进行分析。-XX:+HeapDumpOnOutOfMemoryError3.设置出现内存溢出时,内存快照的保存路径-XX:HeapDumpPath...

2020-04-06 10:07:45 115

原创 jvm 内存管理(一)

虚拟机调试参数:一.head中对象分配的规则,创建的过程,对象的内存布局二.对象的访问定位虚拟机调试参数:在head中可以配置内存的大小,配置参数是-Xmx 堆中可以申请的最大内存 -Xms 堆中可以申请的最小内存 将两个值调成一样可以避免堆自动扩展。-XX:+HeapDumpOnOutOfMemoryError 可以让虚拟机出...

2020-04-05 20:57:16 220

转载 查看parquet文件格式内容

1. 下载对应的parquet-tools jar:http://logservice-resource.oss-cn-shanghai.aliyuncs.com/tools/parquet-tools-1.6.0rc3-SNAPSHOT.jar?spm=5176.doc52798.2.7.H3s2kL&file=parquet-tools-1.6.0rc3-SNAPSHOT.jarg...

2020-03-31 07:58:30 1955

原创 mysql 高级

1.插入数据乱码;2.mysql sql_mode合理设置:3.mysql逻辑架构4.利用show profile查看sql的执行周期1.插入数据乱码;字符集默认是 latin1 需要修改字符集。2.mysql sql_mode合理设置:查看sql_mode的设置设置的值意思3.mysql逻辑架构4.利用show prof...

2020-03-30 13:20:15 65

转载 JVM--一文读懂垃圾回收

JVM--一文读懂垃圾回收与其他语言相比,例如c/c++,我们都知道,java虚拟机对于程序中产生的垃圾,虚拟机是会自动帮我们进行清除管理的,而像c/c++这些语言平台则需要程序员自己手动对内存进行释放。虽然这种自动帮我们回收垃圾的策略少了一定的灵活性,但却让代码编写者省去了很多工作,同时也提高了很多安全性。(因为像C/C++假如你创建了大量的对象,但却由于自己的疏忽忘了将他们进行释放,可...

2020-03-12 14:57:12 124

原创 HashMap源码分析 1.8

类中定义的成员变量transient Node<K,V>[] table; //这个数组添加数据的时候初始化。transient int size;// map中包含健值对的数量final float loadFactor; //map的默认加载因子int threshold;// 下一个要调整大小的大小值(容量*加载因子)static final float DE...

2020-03-12 14:34:26 69 1

原创 Java 中 “^”  “|” “&”的运算方式

“^” 相同为0,不同为1例如:2^3 2的二进制数是: 0000 0010 3的二进制数是:00000011 2^3的结果是: 00000001 = 1 #用“^”查处重复数组中出现一次的值是多少public static void main(String[] args) {int...

2020-03-12 09:27:54 368

转载 简单看看原码、补码和反码

最近这破事贼多,都没有什么时间写写博客,都好久都没有更新博客了!不过平常看jdk源码的时候有很大的感触,就是基础真的很重要,那什么是基础呢?除了java的基本语法之外,最基础的莫过于原码,反码和补码了以及基本的运算了!  由于我是编程半路出家,最开始的时候学过一点这些东西,当时只是感觉,擦!我是写代码的,这些原码什么的有个鸡儿用,有时间看这个还不如多写点代码!但是现在,看了不少源码,回头一看却...

2020-03-12 07:48:47 553

原创 kafka总体概述

服务端常规配置broker加入集群需要的配置主题的默认配置如何选定分区的数量硬件的选择消费者和消费群组服务端常规配置 broker.id:每个broker都需要一个标识符,在整个集群中必须唯一。 port: kafka服务的端口。 zookeeper.connect: zookeeper保存broker元数据地址。 log.d...

2020-03-08 10:02:34 443 1

原创 kafka linux 客户端操作命令

生产命令消费命令topic删除命令topic描述命令在linux运行kafka bin/kafka-server-start ../config/server.properties生产命令1.创建一个topic KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --repli...

2020-03-07 21:37:07 2510

原创 java代码调用kafka API实现消费数据

订阅主题轮训消费数据同步提交当前偏移量(后面的任务会阻塞)异步提交当前偏移量异步回调方式提交当前偏移量同步和异步组合提交当前偏移量提交特定的偏移量(在处理数据的总监提交偏移量)原子性提交当前偏移量调用消费者api获取数据 订阅主题,可以用正则表达式匹配,下面指定以test开始的主题都会监听。 轮训消费数据(一旦消费者订阅了主题,轮...

2020-03-07 14:23:09 2648 1

转载 kafka:topic为什么要进行分区?副本机制是如何做的?

kafka为什么要在topic里加入分区的概念?如果没有分区,topic中的segment消息写满后,直接给订阅者不是也可以吗?Kafka可以将主题划分为多个分区(Partition),会根据分区规则选择把消息存储到哪个分区中,只要如果分区规则设置的合理,那么所有的消息将会被均匀的分布到不同的分区中,这样就实现了负载均衡和水平扩展。另外,多个订阅者可以从一个或者多个分区中同时消费数据,以支撑...

2020-03-06 15:44:05 162

原创 List 集合总结(LinkedList源码调试)

继承结构 1.创建一个LinkedList实例 2.向LinkedList添加一个元素 3.向LinkedList指定的索引添加一个元素 4.删除一个元素 4.1删除指定索引的元素list.remove(3); 4.2删除第一个元素list.removeFirst(); 4.3删除最后一个元素list.rem...

2020-03-04 09:34:05 202

原创 List 集合总结(ArrayList源码调试)

ArrayList 类的架构图1.创建一个ArrayList对象底层的创建过程2.向集合中插入一个元素总结 ArrayList 类的架构图ArrayList对外提供的成员参数private static final int DEFAULT_CAPACITY = 10; //如果没有指定数组的初始化容量,默认是10个private static final...

2020-03-02 09:59:48 371

原创 kylin 安装教程下载安装包解压 cd /home/kylin wget http://www-us.apache.org/dist/kylin/apache-kylin-2.3.1/apache-

安装kylin之前要安装了hadoop ,hive,hbase ,安装hbase要先安装zookeeper1.下载安装包解压 wget http://www-us.apache.org/dist/kylin/apache-kylin-2.3.1/apache-kylin-2.3.1-hbase1x-bin.tar.gz tar -zxvf apache-kylin-2.3....

2020-02-01 09:46:27 1342

原创 hive username = root. Terminating connection pool (set lazyInit to true if you expect to start your

Caused by: java.sql.SQLException: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://192.168.87.129:3306/hive, username = root. Terminating connection pool (set lazyInit t...

2020-01-30 10:33:34 3099

原创 hive 安装教程

hive安装和配置hive的测试hive安装和配置一:下载hive——地址:http://mirror.bit.edu.cn/apache/hive/ 1.解压到/usr/software/hive 2.设置环境变量 export HIVE_HOME=/usr/software/hive/hiveexport CLASSPATH=...

2020-01-30 10:31:04 6312 1

空空如也

空空如也

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

TA关注的人

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