自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

像豆芽一样优秀

大数据开发

  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 SQL处理json数据

通过sql解析字符串、提取键值对数据。

2022-07-20 09:41:45 7474 1

原创 通过SQL进行数据分发

将用户分发给各个门店。

2022-07-17 18:49:02 978

原创 kettle组件【维度查询/更新】的用法

通过维度查询/更新实现拉链表1. 逻辑分析创建数据表、添加示例数据抽取源数据,通过kettle组件【维度查询/更新】来实现维表中的start_date与end_date首尾相连,实现该人员的每个状态都保存在维表当中。通过组件来维护【维度查询/更新】组件的一个小bug。2. 见图如见物示例数据绿线代表张三的电话号码更新,红色代表李四的职级的更新,可以清晰的看出两条数据更新且start_date与end_date首尾相连。、3. 实现步骤示例数据CREATE TABLE user

2022-05-12 17:22:49 3905 7

原创 MySQL的缓存机制

一、查询缓存为什么MySQL8.0直接把查询缓存的功能删除了呢?一种说法是不建议使用查询缓存。因为查询缓存往往弊大于利。1. 什么是查询缓存?MySQL查询缓存即缓存查询数据的SQL文本及查询结果,用Key-Value的形式保存在服务器内存中。当查询命中缓存,MySQL会立刻返回结果,跳过了解析,优化和执行阶段。2. 查询缓存的命中条件有哪些?首先你得确保开启了查询缓存。(手动狗头MySQL将缓存存放在一个引用表(类似HashMap的数据结构)。通过一个哈希值索引,这个索引通过查询本身、当前

2021-10-27 16:50:58 3785

原创 【LeetCode】262.行程和用户(难度:困难)

行程和用户(难度:困难)Trips 表中存所有出租车的行程信息。每段行程有唯一键 Id,Client_Id 和 Driver_Id 是 Users 表中 Users_Id 的外键。Status 是枚举类型,枚举成员为 (‘completed’, ‘cancelled_by_driver’, ‘cancelled_by_client’)。IdClient_IdDriver_IdCity_IdStatusRequest_at11101completed2013-10-1

2021-10-09 16:16:47 184

原创 MySQL练习题

练习一: 各部门工资最高的员工(难度:中等)创建Employee 表,包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。DROP TABLE if EXISTS Employee;CREATE TABLE Employee(id INT,name VARCHAR(20),salary INT,departmentid INT,PRIMARY KEY (id));INSERT INTO Employee VALUES(1,'Joe',70000,1

2021-10-09 10:22:52 294

原创 Kettle循环导出整库数据

Kettle导出整库数据存入CSV文本中(导出其他文件格式同理)一、流程图二、执行流程三、结果图程序执行完后Excel文件存在配置的目录下,名字以数据库表名命名。下图是 aa 模型表数据和 aa csv数据。下图是 dddd 模型表数据和 dddd csv数据。可以看出数据以想要的格式导出,后续我们来依次介绍每个组件。四、各个组件解析一、主作业:将获取表明和子作业的路径配置(并在子作业高级选项中选择对红框内容勾选✔)二、获取表名:通过表输入将需要导出至CSV文件的表

2021-08-11 17:09:02 1407 4

原创 Kettle实现循环功能!!!

Kettle实现循环功能!!!一、结果图通过启动循环程序,点击确定弹出窗口的确定按钮,依次弹出“张三”、“李四”、“王五”,实现了简易的循环功能。二、流程图通过自定义“张三”、“李四”、“王五”的三条数据,依次执行该程序,达到循环的功能实现。三、各个组件解析通过组件 “自定义常量数据” 定义三条数据,将数据复制到结果中。(1)、定义三个字段(2)、填入数据(几条数据循环几次,这个值也可以通过变量实时变动,比如一个数据库有几张表)通过 “复制记录到结果” (后续可以通过 ${F

2021-08-11 16:13:18 8139 9

原创 ETL工具kettle的计算方式

一、前言在建设数据仓库,数据中台,指标计算,OLTP等等一系列操作的时候,我们会涉及到很多的计算,下面主要来实现一下kettle的多种计算方法二、示例脚本CREATE TABLE `score_count` ( `ID` int NOT NULL AUTO_INCREMENT, `CHINESE` float(10,2) DEFAULT NULL, `MATH` float(10,2) DEFAULT NULL, `ENGLISH` float(10,2) DEFAULT NULL,

2020-11-30 11:00:46 7346

原创 Kettle工具中Rest client组件的用法!!

一、结果图二、步骤1. 添加 “生成记录” 组件,填入请求的URL和参数2. 填写URL,发送POST请求以及其参数3. 从接口获取数据并进行解析4. 将评分rate字段分为三个等级(best、secondary、worst)5. switch/cast多路操作6. Excel文件输出7. 启动任务查看数据结果这里仅进行Excel输出结果,如果数据需要处理还可以配置后续流程。ETL工具kettle的Excel合并操作https://blog.csdn.net

2020-11-23 10:57:12 4360 5

原创 ETL工具kettle的Excel合并操作

一、结果图运行过程原始Excel合并之后输出结果集二、步骤拖拽出Excel输入组件浏览原始Excel文件并点击添加将文件路径修改为通配符格式点击菜单栏的 “字段” ,选择 “获取来自头部数据的字段”点击确定拖拽Excel输出组件将两个组件连接选择路径保存启动该任务.........

2020-10-28 09:40:27 3430

原创 MySQL的视图(view)

一、 什么是视图?视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。二、 为什么要用视图?视图隐藏了底层的表结构, 简化了数据访问操作, 客户端不再需要底层表的机构及其之间的关系。视图是一个查询结果集, 随实体数据表数据变化而变化。视图提供了一个统一访问的接口。(即可以允许用户通过视图访问数据的安全机制, 而不授予用户直接访问底层表的权限), 从而加强了安全性, 使用户只能看到视图所显示的数据。视图还可以被嵌套, 一个

2020-10-19 09:45:02 3452

原创 ETL工具kettle的插入更新操作

一、 示例脚本:# 创建表CREATE TABLE `score` ( `id` bigint NOT NULL AUTO_INCREMENT, `sname` varchar(255) DEFAULT NULL COMMENT '学生姓名', `cname` varchar(255) DEFAULT NULL COMMENT '课程名称', `score` int DEFAULT NULL COMMENT '分数', PRIMARY KEY (`id`)) ENGINE=Inno

2020-10-14 09:41:57 6428 1

原创 ETL工具kettle的列转行组件

一、 示例脚本:# 创建表create table score( id bigint(20) auto_increment, sname varchar(255) comment "学生姓名", cname varchar(255) comment "课程名称", score int(11) comment "分数", primary key(id))engine=innodb;# 插入数据insert into score values(1,"小孙","mysql",55);ins

2020-09-25 14:29:49 5381

原创 ETL工具kettle的发送邮件功能

我们可以通过发送邮件的方式来知道Kettle程序是否正常运行。一、 邮箱授权登录你的邮箱并开启POP3/SMTP服务(我这边使用的QQ邮箱)启动完成的授权码复制(随后使用)二、 创建转换任务三、 配置组件参数发送邮件的消息服务配置其他邮箱参数可能不同,百度自查。SMTP服务器(QQ发送):smtp.qq.com端口号(QQ邮箱端口号):465或587用户名(QQ邮箱):[email protected]密码(QQ邮箱):这个密码是邮箱的授权码(并不是邮箱密码)地址收

2020-09-24 09:23:36 4975 1

原创 ETL工具kettle的性能优化

性能调优在整个项目中尤为重要。对于初级开发人员往往都不知道如何对性能进行调优。其实性能调优主要分为两个方面:一方面是硬件方面的调优,一方面是软件方面的调优。本文章主要介绍Kettle方面的性能调优以及效率的提升。一、Kettle性能调优1. commit size表输出的提交记录数量(默认1000),具体根据数量大小来修改。修改前速度(7447/s):修改后(7992/s):2. 数据库连接调参基于上层优化方案继续调优useServerPrepStmts=falserewriteBatc

2020-09-23 16:56:13 9795

原创 MySQL8.0窗口函数

窗口函数简介MySQL被Orcale收购了之后,MySQL8.0继承了Orcale的窗口函数(又称:开窗函数),这个功能在大多商业数据库如Orcale和PostgreSQL中早已支持。MySQL的窗口函数也称为OLAP函数,OLAP是Online Analytical Processing的简称,意思是对数据库进行实时分析处理,也叫分析函数。窗口函数与聚合函数的区别聚合函数是将多条记录聚合为一条,而窗口函数是每条记录都会执行,有几条记录执行完还是几条。聚合函数也可以用于窗口函数中。creat

2020-08-30 18:41:11 913

原创 MySQL中handler_read的用法

概述MySQL有一个神秘的HANDLER命令,此命令非SQL标准语法,可以降低优化器对于SQL语句的解析与优化开销,从而提升查询性能。步骤# 1. 更新会话FLUSH STATUS;# 2. 执行一段SQL语句SELECT * FROM CAR WHERE CAR_BRANK LIKE "别克%" ORDER BY ID DESC LIMIT 10;# 3.1 查看当前会话SHOW SESSION STATUS LIKE "handler_read%";# 3.2 查看全局会话SHOW

2020-08-23 20:05:19 1264

原创 MySQL优化工具之Show profiles分析SQL性能

使用show profiles分析SQL性能分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL刨析。该参数开启后,后续执行的SQL语句都将记录其资源开销,例如IO、上下文切换、CPU、Memory等等。根据这些开销进一步分析SQL瓶颈从而进行优化与调整。方法/步骤show profiles是5.0.37之后添加的,如果想使用此功能,确保版本在5.0.37之后。查看数据库版本SELECT VERSION()查看是否打开pro

2020-08-22 17:20:48 337

原创 数据仓库中的星型模型与雪花模型

数据仓库模型分析在数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构。下面我们先来理解两种模型的概念。星型模型图如下:星型模型:是一种使用关系型数据库实现多维度分析空间的模式,用星型模型可以通过关系数据库来模拟OLAP模式,使用关系数据库+星型模型能够优化存储并且保持数据结构的灵活性。星型模型由一个事实表和一组维表组成。每个维表都有一个维作为主键,所有这些维表的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事实表,形成一个宽表。宽表一般是事实表,包含.

2020-08-08 15:30:11 1367

原创 数据仓库的理解

一、 什么是数据仓库?数据仓库(Data Warehouse)简称 DW 或 DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计上的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集, 从逻辑上讲数据仓库和数据库没有什么区别的。二、 数据仓库的特点1. 面向主题主题是与传统数据库的面向应用相对应的,是一个抽象概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。每一个主题对应一个宏观的分析领域。在逻辑意义上,他是对应企业中某一宏观分析领域所设计到的分析对象.

2020-08-03 22:32:57 889

原创 分区表的使用场景有哪些?

分区表1. 什么场景的数据需要分区表非常大以至于无法全部都放在内存中,或者只在表的最后部分有热点数据,其他均为历史数据。分区表的数据更加容易维护。例如,想批量删除大量数据可以使用清除整个分区的方式。还可以对一个独立分区进行优化、检查、修复等操作。分区表的数据可以分布在不同的物理设备上,从而高效地利用多个硬件设备。可以使用分区表来避免某些特殊的瓶颈,例如InnoDB的单个索引互斥访问。如果需要,还可以备份和恢复独立的分区,这在非常大的数据集的场景下效果极好。2. 分区的限制一个表最多只

2020-07-09 12:13:52 1643

原创 一条SQL语句如何优化

SQL优化伴我成长很多面试官会问道:给你一条SQL语句如何优化?直观来看:1. 避免使用 SELECT * FROM TABLE,用具体的列替换,避免全表扫描。2. WHERE子句使用 IN或 NOT IN的优化# 示例1SELECT * FROM XIAOCHEN WHERE COMPANY_NAME IN ( SELECT D.COMPANY_NAME FROM ( SELECT COMPANY_NAME FROM XIAOCHEN ORDER BY ID DESC LIMIT 10 )

2020-07-07 23:20:39 1481

原创 rank() over,dense_rank() over,row_number() over的区别

rank() over,dense_rank() over,row_number() over的区别LeetCode.178题解(https://leetcode-cn.com/problems/rank-scores/):编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。IdScore13.5023.6534.0043.85

2020-07-06 22:24:47 1066

原创 MySQL优化

MySQL优化主要体现在几个方面设计:存储引擎,字段选择,范式与反范式功能:索引,缓存,分区分表架构:主从复制,读写分离,负载均衡设计方面一、存储引擎MySQL >= 5.5 版本默认的存储引擎是InnoDB。InnoDB的数据存储在表空间内,由一系列数据文件组成。InnoDB采用多版本控制机制(MVCC)来支持高并发,并且实现了四个隔离级别。其默认隔离级别为REPETABLE READ(可重复读),并且通过间隙锁策略防止幻读(读未提交)的出现。InnoDB是基于聚簇索引建立的

2020-05-20 23:42:37 400

原创 B-Tree索引与hash索引的区别

索引的优点:索引大大减少了服务器需要扫描的数据量。索引可以帮助服务器避免排序和临时表。索引可以将随机 I / O变为顺序 I / OB-tree索引B-tree索引的优点:B-tree索引通常意味着所有的值都是按着顺序存储的,并且每一个叶子页到根的距离相同。B-tree索引能够加快访问数据的存储,因为索引的存储引擎不再需要进行全表扫描来获取需要的数据。B-tree对索引列是顺序组织存储的,索引很适合进行范围查找。B-tree索引适用于全键值、键值范围或前缀查找。匹配规则.

2020-05-19 23:24:08 268

原创 MySQL行转列与列转行,存储过程动态行转列

一、创建表插入一些示例数据create table score( id bigint(20) auto_increment, sname varchar(255) comment "学生姓名", cname varchar(255) comment "课程名称", score int(11) comment "分数", primary key(id))engine=innodb;...

2020-05-05 15:11:46 1220

原创 MySQL查询重复数据与去重

MySQL查询重复数据并删除重复数据一、创建表,插入一批示例数据create table student( id bigint(20) auto_increment, code int(20), name varchar(255), flag int(2), primary key(id))engine=innodb;insert into student values(1,...

2020-05-04 14:36:11 1350

原创 深入浅出索引(上)

一、添加索引create table T (ID int primary key,k int NOT NULL DEFAULT 0, s varchar(16) NOT NULL DEFAULT '',index k(k))engine=InnoDB;insert into T values(100,1, 'aa'),(200,2,'bb'),(300,3,'cc'),(500,5...

2020-04-09 23:04:23 163

原创 一条简单的SQL语句

深入浅出索引(上)一、唠叨几句二、聚簇索引三、B+树一、唠叨几句某个群里发现的一个问题:表t的id字段是主键索引时,select * from t where id=1 与 select * from t where id=10000000的区别,直观看过去应该是前者的速度比后者快一点,为了验证我的想法,马上去一个上亿量数据的表里去查询了一番。果不其然,一个0.00008s,一个0.0010...

2020-04-08 23:06:20 255

原创 Xpath的使用

Xpath的使用以及进阶一、xpath介绍二 、xpath简单语法XML 实例文档三 、xpath高级进阶一、xpath介绍XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准...

2019-04-20 11:34:36 460

kettle循环抽取表数据.zip

通过kettle循环抽取整库数据至CSV文件,可根据该程序修改抽取至数据至数据库等。

2021-11-10

MySQL优化.pdf

左手MySQL,右手Kettle,ETL唯快不破,只要功夫深,玩转ETL/// 来自一位喜欢说唱的程序员。。。

2020-12-07

kettle学习资料-内有kettle程序.zip

Kettle学习资料,里面有多种工作中的实战经验提供学习,有转换可以直接执行。有15个kettle程序学习参考,学以致用才最为重要。

2020-12-07

空空如也

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

TA关注的人

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