自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (1)
  • 收藏
  • 关注

原创 正则案例四:清空()里面的内容

一.需求今天在论坛上看到有人提了一个正则相关的问题,刚好有时间,就给他提供了一个解决方案。需求如下:字符串:‘我爱(xxx)中华(qq)人民(aac啊)共和国’想达到的效果,凡是()中的内容都不需要了,包括()本身,以上字符串希望返回结果:我爱中华人民共和国。二.解决方案2.1 Oracle解决方案首先想到的是regexp_replace进行替换,题目意思已经很明白,是要删除()及()里面的内容。代码:with tmp1 as(select '我爱(xxx)中华(qq)人民(aac啊)共

2021-06-30 18:08:44 3505

原创 MySQL优化系列6-索引优化

备注:测试数据库版本为MySQL 8.0文章目录一.索引介绍1.1 索引的类型1.1.1 B-Tree索引1.1.2 B+Tree索引1.2.3 B*Tree索引1.1.4 哈希索引1.1.5 空间数据索引1.1.6 全文索引二.如何创建高性能的索引2.1 独立的列2.2 前缀索引和索引选择性2.3 多列索引2.4 选择合适的索引列顺序2.5 聚簇索引2.6 覆盖索引2.7 使用索引扫描来做排序2.8 压缩(前缀压缩)索引2.9 冗余和重复索引2.10 未使用的索引2.11 索引和锁2.12 索引下推2.

2021-06-30 13:58:05 3619 3

原创 MySQL优化系列5-Schema与数据类型优化

备注:测试数据库版本为MySQL 8.0文章目录一.Schema与数据类型优化概述二.选择优化的数据类型2.1 整数类型2.2 实数类型2.3 字符类型2.4 日期和时间类型2.5 其它类型三.范式和反范式四.计数器表五.加快ALTER TABLE操作的速度5.1 预留列5.2 更改表定义文件5.3 MySQL 8.0 快速加列5.3.1 快速加列支持类型5.3.2 立刻加列的限制5.3.3 立刻加列的实现参考:一.Schema与数据类型优化概述良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要

2021-06-29 14:35:50 3573

原创 MySQL优化系列4-MySQL压力测试

备注:测试数据库版本为MySQL 8.0文章目录一.MySQL压力测试概述二.压力测试的工具2.1 测试工具-fio2.1.1 FIO安装2.1.2 fio参数说明2.1.3 测试用例2.2 TPCC测试2.2.1 环境安装2.2.2 bug修复2.2.3 开始测试2.3 Sysbench2.3.1 sysbench安装2.3.2 sysbench参数2.3.3 测试CPU2.3.4 测试IO2.3.5 对mysql事务型OLTP的测试参考:一.MySQL压力测试概述为什么压力测试很重要?因为压力测试

2021-06-28 14:14:27 3917

原创 MySQL优化系列3-Linux查看CPU、内存、磁盘、网络信息

备注:测试数据库版本为MySQL 8.0文章目录一.查看CPU信息1.1 查看物理CPU个数1.2 查看每个物理CPU中core的个数(即核数)1.3 查看逻辑CPU的个数1.4 查看CPU信息(型号)1.5 查看CPU的负载二.查看内存及交换空间2.1 /proc/meminfo2.2 free 命令2.3 释放cache三.磁盘信息3.1 fdisk命令3.2 查看磁盘的性能四.网络资源4.1 查看网卡基本信息4.2 查看网卡接口的速度4.3 网卡流量监控工具 iptraf4.4 netstat查看网

2021-06-25 15:00:12 7045

原创 MySQL优化系列2-操作系统优化概述

备注:测试数据库版本为MySQL 8.0文章目录一.选择操作系统二.选择文件系统三.选择磁盘队列调度策略3.1 Noop算法3.2 Deadline算法3.3 Anticipatory算法4.4 CFQ算法五.线程六.内存交换区参考:一.选择操作系统GNU/Linux如今是高性能MySQL最常用的操作系统,但是MySQL本身可以运行在很多操作系统上。MySQL官网 8.0和 5.7 支持的操作系统(https://www.mysql.com/support/supportedplatforms/da

2021-06-23 13:49:57 5385

原创 正则案例三:匹配3个及以上连续数字并输出

一.需求描述 今天朋友咨询一个正则的需求,对于连续超过3个数字进行输出,如果有多个连续数字,都需要输出。 例如 123abc1234 输出为 123.1234,中间用’.'进行分隔。二.解决方案2.1 Oracle解决方案看到这个需求,首先想到的是使用Oracle 正则表达式的regexp_replace函数了。多个匹配表达式用()进行关联,例如(.*?)([0-9]{3,})其中 *? 是匹配0次或多次,非贪婪模式。[0-9]{3,} 是匹配连续3个及以上数字。代码:with tmp

2021-06-22 10:45:52 10166

原创 正则案例二:匹配有且仅有3个连续数字的字符

一.需求描述近期收到朋友的一个需求,需要在一堆字符串中查找连续3个数字的字符,连续数字可能出现在开头、中间、结尾,而且如果连续数字超过3个,也不符合条件。二.解决方案2.1 Oracle解决方案^ 匹配每一行的开头,单行模式下等价于字符串的开头$ 匹配每一行的结尾,单行模式下等价于字符串的结尾字母可以使用 [a-zA-Z]数字可以用 \d 或者 [0-9]我测试匹配开头使用\d居然未匹配出来,只能使用[0-9]代码:with tmp1 as(select 'abc12' str fr

2021-06-22 10:07:56 7448

原创 MySQL优化系列1- 硬件优化概述

备注:测试数据库版本为MySQL 8.0文章目录一.硬件优化概述二.CPU2.1 CPU密集型2.2 I/O密集型三.内存四.硬盘4.1 存储简介4.2 RAID4.3 硬盘三大种类4.4 找到有效的内存/磁盘比例五.网络资源参考:一.硬件优化概述MySQL的硬件有:CPU内存硬盘网络资源对于硬件的选择与调优,在系统上线前就需要考虑起来。当然我们都知道:好的CPU,可以让SQL语句解析得更快,进而加快SQL语句的执行速度。大的内存,可以缓存更多的MySQL数据在内存中,进而加快M

2021-06-21 14:03:07 5896

原创 大数据开发之Hive优化篇8-Hive Job优化

备注:Hive 版本 2.1.1文章目录Hive job优化概述一.并行执行二.本地执行三.合并输入小文件四.合并输出小文件五.控制Map/Reduce数5.1 控制Hive job中的map数5.1.1 合并小文件,减小map数5.1.2 适当增加map数5.2 控制hive任务的reduce数参考Hive job优化概述实际开发过程中,经常会遇到hive sql运行比较慢的情况,这个时候查看job的信息,也是一直在运行,只是迟迟的不出结果。可以从如下几个方面来优化hive sql的job:

2021-06-17 14:05:03 9301 2

原创 大数据开发之Hive优化篇7-Hive的压缩

备注:Hive 版本 2.1.1文章目录一.Hive压缩概述1.1 常见压缩算法比较1.2 开启压缩二.压缩测试2.1 测试Orc文件压缩格式2.2 textfile文件格式测试参考:一.Hive压缩概述一般在hadoop集群上运行一个MapReduce会有以下步骤:input-> Map-> shuffle -> reduce -> output如果我们采用了数据压缩,在map阶段产生的数据大小就会减少,会减少磁盘的IO,同时还能够减少网络的IO。1.1 常见压缩算法

2021-06-16 14:31:32 7922 4

原创 大数据开发之Hive优化篇6-Hive on spark

备注:Hive 版本 2.1.1一.Hive on Spark介绍Hive是基于Hadoop平台的数据仓库,最初由Facebook开发,在经过多年发展之后,已经成为Hadoop事实上的SQL引擎标准。相较于其他诸如Impala、Shark(SparkSQL的前身)等引擎而言,Hive拥有更为广泛的用户基础以及对SQL语法更全面的支持。Hive最初的计算引擎为MapReduce,受限于其自身的Map+Reduce计算模式,以及不够充分的内存利用,MapReduce的性能难以得到提升。Hortonwor

2021-06-15 16:27:51 7108 5

原创 CDH 升级pyspark带来的问题

文章目录一.问题描述二.解决方案2.1 删除spark2.2 重启整个集群2.3 重新添加spark服务一.问题描述最近在自学pyspark,想本地通过pycharm来编辑pyspark脚本,运行的时候,提示没有pyspark模块,于是通过pycharm安装了pyspark(最新版本)。而且这个安装到了远程服务器上,真的坑奈何我安装的是CDH 6.3.1版本,然后spark版本是 2.4.0-cdh6.3.1,然后最新版本是3.0.2的新的pyspak程序,都未记录到 History Serve

2021-06-11 14:12:10 6544 9

原创 MySQL Lock wait timeout exceeded; try restarting transaction

文章目录一.问题描述二.解决方案一.问题描述今天在解决一个大的事务回滚的时候,mysql实例宕机了,等重启后,就发现create table出现了问题:mysql> CREATE TABLE `fact_sale_new` ( -> `id` bigint NOT NULL AUTO_INCREMENT, -> `sale_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRE

2021-06-10 14:17:05 6428

原创 Centos7 No space left on device处理一例

一.问题描述今天处理了一例No space left on device,我通过df -h看到,磁盘空间并没有满,真的是奇了怪了。[17:18:11] mydb>touch a.txt[17:18:11] touch: cannot touch `a.txt': No space left on device[root@mydb tmp]# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda1

2021-06-09 10:35:44 6856

原创 MySQL Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (111)一例

一.问题描述今天突然碰到一个mysql数据库重启后登陆不上的问题:[16:37:02] [root@hp2 ~]# mysql -uroot -p[16:37:04] Enter password: [16:37:04] ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)二.解决方案因为mysql.sock是mysql启动后才会生成的,所以这个文件其实是不存在的

2021-06-08 17:58:32 6336

原创 MySQL kill进程后出现killed

文章目录一.问题描述二.解决方案三.额外的一个报错四.启用innodb_force_recovery=3参考:一.问题描述拷贝一个大表的表数据的时候,等待时间太久,就在前台通过CTRL+C的方式停掉了。mysql> create table fact_sale_new as select * from fact_sale;^C^C -- query aborted^C^C -- query abortedERROR 2013 (HY000): Lost connection to MyS

2021-06-04 14:14:51 8917 5

原创 Centos7安装MySQL初始化缺少libaio.so.1

备注:OS :CentOS 7.9DB : MySQL 5.7.31一.问题描述最近帮一个朋友安装mysql,安装方式是二进制的安装,前面还挺顺利的。到了初始化这个步骤的时候,突然报错,缺少ibaio.so.1 这个包。二.解决方案2.1 yum安装lbaio既然缺少包,那么首先想到的就是安装lbaio的包。于是我执行了:yum -y install lbaio重新测试了一遍还是不行,难道是我安装得不对。于是我检查了一遍,发现安装的居然是32位的lbaio的包,怪不得不成功。

2021-06-03 14:13:55 9820 3

原创 MySQL 降配导致的实例crash

文章目录一.问题描述二.解决方案三.反馈参考:一.问题描述由于近期对服务器进行了降配,该mysql数据库会进行批量写入操作,直接导致实例crash查看错误日志:2021-02-02T09:09:23.557505Z 0 [Note] InnoDB: page_cleaner: 1000ms intended loop took 16791ms. The settings might not be optimal. (flushed=3 and evicted=0, during the time.)

2021-06-02 13:51:42 6169 2

原创 MySQL通过导出csv的方式将数据同步到hive

备注:测试版本MySQL 5.6一.将mysql的表导出到csv-- mysql端导出到csv文件mysql [szqb_pro_new]> select * from tab1 limit 1000 into outfile "/data/csv/tab1_20201224.csv";Query OK, 1000 rows affected (0.00 sec)-- scp到hadoop所在服务器[root@10-33-1-105 csv]# scp ./ tab1_20201224

2021-06-01 17:41:58 6145 2

空空如也

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

TA关注的人

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