自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wzy0623的专栏

数据库、数据仓库、大数据

原创 Kettle构建Hadoop ETL实践(八-2):维度表技术

目录 4. 递归 五、退化维度 1. 退化订单维度 2. 修改定期装载脚本 3. 测试修改后的定期装载 六、杂项维度 1. 新增销售订单属性杂项维度 2. 修改定期装载Kettle作业 3. 测试修改后的定期装载 七、维度合并 1. 修改数据仓库模式 2. 修改定期装载Ke...

2020-11-09 11:39:08 190 0

原创 Kettle构建Hadoop ETL实践(八-1):维度表技术

目录 一、增加列 1. 修改数据库模式 2. 修改Sqoop作业项 3. 修改定期装载维度表的转换 4. 修改定期装载事实表的转换 5. 测试 二、维度子集 1. 建立包含属性子集的子维度 2. 建立包含行子集的子维度 3. 使用视图实现维度子集 三、角色扮演维度 1.修改...

2020-11-09 10:58:46 3848 0

原创 Kettle构建Hadoop ETL实践(七):定期自动执行ETL作业

目录 一、使用crontab 1. crontab权限 2. crontab命令 3. crontab文件 4. crontab示例 5. crontab环境 6. 重定向输出 二、使用Oozie 1. Oozie体系结构 2. CDH 6.3.1中的Oozie 3. 建立定...

2020-10-16 18:59:50 1829 3

原创 Kettle构建Hadoop ETL实践(六):数据转换与装载

目录 一、数据清洗 1. 处理“脏数据” 2. 数据清洗原则 3. 数据清洗实例 (1)身份证号码格式检查 (2)去除重复数据 (3)建立标准数据对照表 二、Hive简介 1. Hive的体系结构 2. Hive的工作流程 3. Hive服务器 (1)配置HS2 (2)临...

2020-10-13 16:44:25 2707 1

原创 Kettle构建Hadoop ETL实践(五):数据抽取

目录 一、Kettle数据抽取概览 1. 文件抽取 (1)处理文本文件 (2)处理XML文件 2. 数据库抽取 二、变化数据捕获 1. 基于源数据的CDC 2. 基于触发器的CDC 3. 基于快照的CDC 4. 基于日志的CDC 三、使用Sqoop抽取数据 1. Sqoop...

2020-09-29 14:37:17 1063 1

原创 Kettle构建Hadoop ETL实践(四):建立ETL示例模型

目录 一、业务场景 1. 操作型数据源 2. 销售订单数据仓库模型设计 二、HIVE相关配置 1. 选择文件格式 2. 选择表类型 3. 支持行级更新 4. Hive事务支持的限制 三、建立数据库表 1. 源数据库表 2. RDS库表 3. TDS库表 四、装载日期维度数...

2020-09-04 18:03:37 577 0

原创 Kettle构建Hadoop ETL实践(三):Kettle对Hadoop的支持

目录 一、Hadoop相关的步骤与作业项 二、连接Hadoop 1. 连接Hadoop集群 (1)开始前准备 (2)配置步骤 2. 连接Hive 3. 连接Impala 4. 建立MySQL数据库连接 三、导入导出Hadoop集群数据 1. 向HDFS导入数据 2. 向Hiv...

2020-09-01 15:26:57 1100 8

原创 Kettle构建Hadoop ETL实践(二):安装与配置

目录 一、安装 1. 安装环境 (1)选择操作系统 (2)安装规划 2. 安装前准备 (1)安装Java环境 (2)安装GNOME Desktop图形界面 (3)安装配置VNC远程控制 (4)在客户端安装vncviewer 3. 安装运行Kettle (1)下载和解压 (2...

2020-08-24 18:18:05 994 0

原创 快速安全清理MySQL binlog

一、问题提出 之前写过一篇名为“快速安全删除MySQL大表”的博客,讲解如何在不影响线上数据库服务的前提下删除大表。实际上清理MySQL binlog也会遇到同样的问题。例如,我们每个binlog文件的大小是1G。最初的做法是,每天凌晨2:30执行下面的操作清理10天前binlog: ...

2020-08-21 14:47:32 1095 0

原创 Kettle构建Hadoop ETL实践(一):ETL与Kettle

目录 一、ETL基础 1. 数据仓库架构中的ETL 2. 数据抽取 (1)逻辑抽取 (2)物理抽取 (3)变化数据捕获 3. 数据转换 4. 数据装载 5. 开发ETL系统的方法 二、ETL工具 1. ETL工具的产生 2. ETL工具的功能 (1)连接 (2)平台独立...

2020-08-13 18:21:32 2202 0

转载 分布式之数据库和缓存双写一致性方案解析

引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面...

2020-07-30 16:55:10 249 0

原创 新书上架,毛遂自荐!

all in one:全面介绍复制、中间件、集群、存储四类各种MySQL高可用技术。 step by step:各种方案安装配置部署的详细步骤。 troubleshooting and test:问题复现、解决与性能对比测试。

2020-07-20 14:49:38 543 0

原创 DBeaver连接hive、impala、phoenix、HAWQ、redis

目录 一、DBeaver简介 二、下载与安装 三、连接hive 四、连接impala 五、连接phoenix 六、连接HAWQ 七、连接redis 伴随着技术的不断发展与进步,我们会接触和使用越来越多的数据源。从经久不衰的MySQL、Oracle、SQLserver、DB2...

2020-06-15 11:38:17 1725 1

原创 Kettle与Hadoop(九)提交Spark作业

实验目的: 配置Kettle向Spark集群提交作业。 实验环境: Spark History Server: 172.16.1.126 Spark Gateway: 172.16.1.124 172.16.1.125 172.16.1.126 172.16.1.127 PDI: 172.1...

2020-06-10 10:29:06 674 0

原创 Kettle与Hadoop(八)执行Oozie作业

1. 打开PDI,新建一个作业,如图1所示。 图1 2. 编辑'Oozie job executor'作业项,如图2所示。 图2 说明: CDH631是已经建好的Hadoop集群连接,参见“https://wxy0327.blog.csdn.net/art...

2020-06-09 10:12:55 473 0

原创 Kettle与Hadoop(七)执行Sqoop作业

目录 一、Sqoop export 二、Sqoop import 一、Sqoop export 1. 建立一个作业,将HDFS文件导出到MySQL数据库。 (1)打开PDI,新建一个作业,如图1所示。 图1 (2)编辑'Sqoop export'作业项,如图2...

2020-06-08 10:17:55 475 1

原创 Kettle与Hadoop(六)执行HiveQL语句

1. 建立hive表,导入原始数据,过程参考 https://blog.csdn.net/wzy0623/article/details/106471124#2.%20%E5%90%91Hive%E5%AF%BC%E5%85%A5%E6%95%B0%E6%8D%AE。 2. 建立一个作业,查询...

2020-06-04 10:20:05 283 0

原创 Kettle与Hadoop(五)执行MapReduce

目录 一、示例1——格式化原始web日志 1. 准备文件与目录 2. 建立一个用于Mapper的转换 3. 建立一个调用MapReduce步骤的作业,使用mapper转换,仅运行map作业。 4. 执行作业并验证输出 二、示例2——生成聚合数据集 1. 准备文件与目录 2. 建立一...

2020-06-02 15:16:14 320 0

原创 Kettle与Hadoop(四)导入导出Hadoop集群数据

目录 一、向Hadoop集群导入数据(Hadoop copy files) 1. 向HDFS导入数据 2. 向Hive导入数据 二、从Hadoop集群抽取数据 1. 把数据从HDFS抽取到RDBMS 2. 把数据从Hive抽取到RDBMS 参考: 一、向Hadoop集群导入数据(H...

2020-06-01 14:14:59 378 0

原创 Kettle与Hadoop(三)连接Hadoop

目录 一、环境说明 二、连接Hadoop集群 三、连接Hive 四、连接Impala 五、后续(建立MySQL数据库连接) Kettle可以与Hadoop协同工作。让我们从简单的开始,本文介绍如何配置Kettle访问Hadoop集群(HDFS、MapReduce、Zookeep...

2020-05-28 16:04:06 760 0

原创 Kettle与Hadoop(二)Kettle安装配置

目录 一、安装Java 二、安装Kettle 三、运行Kettle程序 1. 安装Linux图形环境 2. 安装配置VNC Server 3. 在客户端使用vncviewer连接系统 4. 执行spoon.sh 四、给Spoon创建一个桌面快捷启动方式 五、配置 1. 配置文件...

2020-05-28 10:36:06 830 0

原创 Kettle与Hadoop(一)Kettle简介

目录 一、Kettle设计原则 二、转换 1. 步骤 2. 转换的跳 3. 并行 4. 数据行 5. 数据转换 (1)Date和String的转换 (2)Numeric和String的转换 (3)其它转换 三、作业 1. 作业项 2. 作业跳 3. 多路径和回溯 4....

2020-05-26 14:59:08 557 0

原创 Kettle工具——Spoon、Kitchen、Pan、Carte

目录 1. Spoon 2. Kitchen和Pan (1)命令行参数 (2)例子 3. Carte Kettle里有不同的工具,用于ETL的不同阶段。主要工具如下: Spoon:图形化工具,用于快速设计和维护复杂的ETL工作流。 Kitchen:运行作业的命令行工具。 ...

2020-05-25 10:39:42 422 0

原创 Kettle数据库连接中的集群与分片

目录 1. 在数据库连接中使用集群 2. 创建数据库分区schemas 3. 启用数据库分区 4. 例子 (1)将三个mysql实例的数据导入到另一个mysql实例 (2)将一个mysql实例的数据分发到三个mysql实例 (3)将三个mysql实例的数据导入到另三个mysql实例 ...

2020-05-21 17:22:49 309 0

原创 彻底搞清 Kettle 数据分发方式与多线程

Kettle转换中,各步骤之间行集(row set)的发送有分发和复制两种方式,本文讨论这两种方式的区别,以及它们与Kettle多线程的关系。我们用一个简单的例子辅助说明,Kettle版本为8.3。定义一个转换,以t1表作为输入,输出到表t2和t3。t1表中有1-10十个整数。当创建第二个跳(ho...

2020-05-20 16:58:50 957 0

原创 phoenix中日期与时间戳的相关转换

日期转时间戳: select to_char(to_number(to_date('2020-03-01','yyyy-MM-dd','GMT+8'))/1000,'##########'); 时间戳转日期: ...

2020-04-24 13:51:40 1414 0

原创 使用MySQL的rlike判断字符串是否匹配

问题提出: 表user_experience_wealth_log改名为user_experience_wealth_log_new,该表涉及若干存储过程。为了避免遗漏,需要确认所有相关过程都做了修改,验证方法为不存在包含user_experience_wealth_log的存储过程。 问题分...

2020-04-24 09:00:57 921 0

原创 求二进制中1的个数之——HAKMEM算法

问题很简单,求一个整数的二进制中1的个数。 方案一: select @i:= 50 i,@i_bin:=bin(@i) i_bin, length(@i_bin)-length(replace(@i_bin,'1','')) len_1; 方案二: ...

2020-04-16 09:32:46 159 1

原创 MySQL找出未提交事务的信息

目录 一、processlist中的未提交事务 二、information_schema.innodb_trx中的未提交事务 三、performance_schema.events_statements_current中的未提交事务 参考: 我们经常会碰到这样的情况,某个事务执行...

2020-03-28 08:14:05 329 0

原创 redis手工分片

目录 一、redis环境 二、redis手工分片步骤 1. 配置级联复制 2. 去掉老哨兵监控 3. 停止新实例从老实例的复制 4. 添加新哨兵监控 5. 重启新哨兵 6. 添加老哨兵监控 7. 重启老哨兵 随着数据量越来越大,一个redis实例可能需要分成多个以形成数...

2020-03-25 05:43:38 278 0

原创 在CDH 6.3.1上安装HAWQ 2.4.0

目录 一、安装环境 二、选择HAWQ主机 三、安装前准备 1. 建立gpadmin用户和HAWQ主目录 2. 创建HAWQ的本地数据目录 3. 安装依赖包 三、安装HAWQ 1. 下载安装包 2. 解压并安装 四、配置HAWQ 1. 创建HAWQ的HDFS数据目录 2. 修...

2020-03-13 17:41:38 613 1

原创 定期全备redis

首先申明我的观点,redis本身只是缓存,不适合作为数据库使用,有说微博就是拿redis当DB用的,自己去证实吧。如果非要拿redis当数据库,就不得不考虑数据丢失问题,这里讨论两种常见的可能造成数据丢失的情况。 第一种情况是redis实例或所在主机宕机,这可以通过复制来解决,再配以re...

2020-03-12 07:18:22 423 0

原创 CDH 6.3.1整合Zeppelin 0.8.2

Zeppelin是一个基于Web的笔记本,可以直接在浏览器中编写代码,对数据进行查询分析并生成报表或图表,做出数据驱动的、交互、协作的文档,并且可以共享笔记。Zeppelin提供了内置的Apache Spark集成,提供的功能有: 自动引入SparkContext 和 SQLContext 从...

2020-03-11 11:12:22 946 0

原创 在CDH 6.3中安装Phoenix服务

目录 一、下载并安装Phoenix parcel 二、安装CSD文件 三、在Cloudera Manager中添加Phoenix服务(前提是已经安装了HBase服务) 四、配置HBase以用于Phoenix 五、验证Phoenix安装 参考: 一、下载并安装Phoenix parce...

2020-03-10 08:04:44 2136 8

原创 用NC或rsync传文件和目录

目标机(172.16.1.125): nc -l 12345 | tar zxvf - 源机(172.16.1.124): tar cfz - * | nc 172.16.1.125 12345

2020-03-02 18:02:26 321 0

转载 MySQL百万级数据高效导入Redis

DBAplus社群今天 以下文章来源于侠梦的开发笔记,作者侠梦 前言 随着系统的运行,数据量变得越来越大,单纯的将数据存储在MySQL中,已然不能满足查询要求了,此时我们引入Redis作为查询的缓存层,将业务中的热数据保存到Redis,扩展传统关系型数据库的服务能力,用户通过应用直接从Red...

2020-03-02 16:16:50 599 0

原创 Galera Cluster for MySQL 详解(五)——负载均衡

Galera负载均衡器(Galera Load Balancer,GLB)为客户端请求提供了一个简单的TCP连接平衡功能,其与Galera Cluster的关系类似于MySQL Router之于组复制。它从另一个轻量级负载均衡器Pen中汲取灵感,开发考虑了可伸缩性和性能,但仅限于平衡TCP连接。G...

2020-02-29 14:50:18 622 0

原创 获取MySQL历史session

MySQL的show processlist命令可以显示当时的会话情况,但很多时候都需要查看出问题当时的状态,可惜MySQL没有提供类似history session这样的功能。于是为了方便问题排查,自己写了一个非常简单的抓取MySQL现场session的脚本,生产数据库已经用了很长时间,感觉对t...

2020-02-27 07:07:45 672 0

原创 批量取redis key/value和批量删除key

需求:取出所有前缀为g.at.ga.的string类型的key及其value 实现: 1. 取出key redis-cli -p 26379 -a 123456 -n 0 keys g.at.ga.* > a.txt 2. 拼出取value的命令 sed 's/^/get &...

2020-01-23 07:38:55 2350 1

转载 为什么 redis 单线程却能支撑高并发

redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redi...

2020-01-16 09:18:50 360 0

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