自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浅汐

大数据技术交流与分享,内有大量大数据干货 1群:126181630 2群:663052251 3群:671914634 4群:707635769 5群:545916944

  • 博客(453)
  • 收藏
  • 关注

原创 MySQL之auto_increment问题记录

概述在数据库应用中,经常用到自动递增的唯一编号来标识记录。在MySQL中,可通过数据列的auto_increment属性来自动生成。可在建表时可用“auto_increment=n”选项来指定一个自增的初始值。可用“alter table table_name auto_increment=n”命令来重设自增的起始值,当然在设置的时候MySQL会取数据表中auto_increment列的最大值...

2020-01-30 11:54:48 49330

原创 串的模式匹配算法(朴素、KMP、改进算法)Java

1.朴素的模式匹配算法  为主串和子串分别定义指针i,j。    (1)当 i 和 j 位置上的字母相同时,两个指针都指向下一个位置继续比较;    (2)当 i 和 j 位置上的字母不同时,i 退回上次匹配首位的下一位,j 则返回子串的首位。(注:该图从下标为1开始 )实现程序:/** * 朴素的模式匹配算法 * 说明:下标从0开始,与书稍有不同,但原理一样 ...

2020-01-04 14:02:03 24504

原创 循环队列和链队列(Java)

队列:只允许在一端进行插入操作,而在另一端进行删除操作的线性表。1.循环队列  队列的顺序储存结构:用数组存储队列,引入front指针指向队头元素,rear指针指向队尾元素的下一个位置,当front=rear时,为空队列,结构如下图所示。   当执行入队操作时,若数组尾部已满,而数组前部因有元素出队而有空位时,我们把新插入的元素从头开始入队,这样就类似于头尾相接的结构。  ...

2020-01-04 13:59:02 24323

原创 栈的顺序与链式存储(Java)

栈:限定仅在表尾进行插入和删除操作的线性表。栈的插入(进栈)和删除(出栈)操作如下图所示。  1.栈的顺序存储结构  用数组存放数据,top变量来指示栈顶元素在数组中的位置(栈顶指针)。一个长度为5的栈的示意图如下:实现程序:/** * 栈的顺序储存结构 * * 问题:构造器中,泛型数组创建是否有更好的方法? * */public class S...

2020-01-04 13:55:49 24128

原创 线性表之双向链表(Java)

在每个数据结点中都有两个指针,分别指向直接后继和直接前驱,这样的链表称为双向链表。双向链表的结构如图所示:查找元素可以根据元素的位置,分别沿正向和反向查找。双向链表实现程序:public class DuLinkList<E> { private Node<E> head; private int count; /**...

2020-01-04 13:51:35 23908

原创 线性表之循环链表(Java)

将单链表终端结点的指针域由空指针改为指向头结点,形成一个环,这种头尾相接的单链表称为循环列表。循环列表的结构如下图所示:循环链表的优点:可以从任意一个结点出发,遍历所有结点。将两个具有尾指针的循环链表合并成一个表非常方便,如下图所示:合并后:Java程序代码:Node p=rearA.next;rearA.next=rearB.next.next;Node...

2020-01-04 13:46:59 12145

原创 线性表之静态链表(Java)

用数组描述的链表,称为静态链表。数组元素由两个数据域data和cur组成:data存放数据元素;cur相当于单链表中的next指针,称为游标。某一静态链表结构如图所示(游标存放内容可参考程序中的说明1):静态链表的优缺点:静态链表实现程序:/** * 说明: * 1.数组第一个元素的cur为备用链表第一个结点下标, * 数组最后一个元素的cur为第一个有数据...

2020-01-04 13:45:51 4612

原创 线性表之单链表 (Java)

每个结点中只包含一个指针域的链表,称为单链表。单链表的结构如图所示:单链表与顺序存储结构的对比:实现程序:/** * 说明: * 1.《大话数据结构》中没有线性表的长度,但提到可以存储于头节点的数据域中。 * 本程序的线性表长度存放于count变量中,线性表长度可以使程序比较方便。 * 2.程序中,第i个位置代表第i个结点,头结点属于第0个结点 * 3.因为...

2020-01-04 13:43:16 236

原创 线性表之顺序存储结构(Java)

顺序存储结构指的是用一段地址连续的存储单元一次存储线性表的数据元素,一般用一维数组来实现。书中的线性表抽象数据类型定义如下(第45页):实现程序:package SqList; /** * * 几个注意点: * 1.初始化时,应考虑数组大小为负的情况 * 2.在各操作中,当涉及到位置i时,都应考虑i位置不合理的情况 * 3.插入操作中,需考虑线性表已满的情况 ...

2020-01-04 13:39:38 192

原创 二叉排序树

前言数据结构中,线性表分为无序线性表和有序线性表。无序线性表的数据是杂乱无序的,所以在插入和删除时,没有什么必须遵守的规则,可以插入在数据尾部或者删除在数据尾部。但是在查找的时候,需要遍历整个数据表,导致无序线性表的查找效率低。有序线性表的数据则相反,查找数据时的时候因为数据是有序的,可以用二分法、插值法、斐波那契查找法来实现。但是,当进行插入和删除操作时,需要维护表中数据的有序性,会耗费大量...

2020-01-03 23:15:03 297

原创 霍夫曼树

前言霍夫曼树是二叉树的一种特殊形式,又称为最优二叉树,其主要作用在于数据压缩和编码长度的优化。重要概念路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。图2.1图2.1所示二叉树结点A到结点D的路径长度为2,结点A到达结点C的路径长度为1。...

2020-01-03 23:08:22 1982

原创 线索二叉树

线索二叉树产生背景现有一棵结点数目为n的二叉树,采用二叉链表的形式存储。对于每个结点均有指向左右孩子的两个指针域,而结点为n的二叉树一共有n-1条有效分支路径。那么,则二叉链表中存在2n-(n-1)=n+1个空指针域。那么,这些空指针造成了空间浪费。例如:图2.1所示一棵二叉树一共有10个结点,空指针^有11个。图2.1此外,当对二叉树进行中序遍历时可以得到二叉树的中序序...

2020-01-03 23:00:35 214

原创 kettle-8.3.0.0:MySQL级表关联

目的在数据库A中创建“用户表”、“商品表”、“订单表”,在数据库B中创建“订单详细信息表”。最终目标为根据用户表、商品表、订单表获取订单详细信息表,最终目标结果如下。create database testA;use testA;-- 用户表create table `user`( `id`int(10) primary key, `name` varchar(50...

2019-12-29 17:41:02 440

原创 kettle-8.3.0.0:MySQL字段合并

目的在数据库A和数据库B中分别创建表userA和表userB。最终目标为将数据表userA中的字段“surname”和“name”合并后的数据插入到数据表userB中。create database testA;use testA;create table `userA`( `id`int(10) primary key, `surname` varchar(10),...

2019-12-29 17:15:34 732

原创 kettle-8.3.0.0:MySQL增量插入和更新

目的在数据库A和数据库B中分别创建表userA和表userB。最终目标为将数据表userA中的数据插入更新到数据表userB中。create database testA;use testA;create table `userA`( `id`int(10) primary key, `name` varchar(50), `age` int(3))ENGI...

2019-12-29 17:10:21 852

原创 数据管理篇

一、概述数据管理主要分为:元数据管理、计算管理、存储和成本管理、数据质量管理二、元数据元数据主要分为两大类:技术元数据和业务元数据技术元数据:存储数据仓库技术细节的数据,包括:存储元数据:表名、字段名、分区信息等运行元数据:作业类型、SQL、运行参数等开发元数据:数据同步、计算任务、任务调度等信息监控元数据:告警配置、运行日志等信息业务元数据:纬度及属性...

2019-12-28 22:21:18 301

原创 数据模型篇

一、概述1.什么是数据模型?数据模型就是数据的组织和存储方法。主要关注的是从业务、数据存取和使用角度合理存储数据。2.典型数据仓库建模方法论ER模型纬度模型(建模四步曲:确定业务流程->确定粒度->确定纬度->确定事实表)二、阿里巴巴数据整合管理体系oneData1.体系架构    核心内容包括规范定义、模型设计等!2.模型分层主要分为三大...

2019-12-28 22:04:30 250

原创 kettle-8.3.0.0:插件的安装与使用(大数据表插件使用)

ODPS插件参考:基于Kettle的MaxCompute插件实现数据上云使用Hive参考:http://cloud.itheima.com/areanew/schoolzixun/cloud/20190801/192216.html主要步骤:(请先在本机配置hosts)修改\kettle\data-integration\plugins\pentaho-big-data-plu...

2019-12-28 13:08:57 1304

原创 kettle-8.3.0.0:数据检验、统计与脚本

概述数据剖析和数据检验:用于数据的检查、清洗 。统计步骤:提供数据采样和统计的功能。分区:根据数据里某个字段的值,拆分成多个数据块。输出到不同的库表和文件中。脚本:Javascript 基础数据剖析和数据检验1.数据剖析分析原始数据的数据类型、长度、值域等,属于ETL的第一步kettle中使用DataCleaner进行数据剖析首先需要在工具-marketPlace中安装...

2019-12-28 12:50:42 8042 2

原创 kettle-8.3.0.0:子转换、集群与变量

概述kettle中3个重要的步骤:子转换/映射:在转换里调用一个子转换,便于封装和重用。集群:集群模式变量和参数:变量和参数的用法子转换定义子转换:主要由映射输入与映射输出定义这里给出一个从kettle自带的samples中拿出来的示例,详情配置,参考kettle示例保存这个转换(可以是文件,也可以在资源库),这就是子转换了!2.调用子转换 子转...

2019-12-28 12:44:07 454

原创 kettle-8.3.0.0:查询步骤与连接步骤

概述查询步骤:用来查询数据源里的数据并合并到主数据流中 。连接步骤:结果集通过关键字进行连接 。(与前面的UNION不同)查询步骤1.流查询流查询示例:(注意上文中的流查询的限制) // 带有i的流向表示是信息流2.数据库查询数据库查询配置示例:3.web查询//相关实例,也可以看kettle包中的examplesweb中前面应...

2019-12-27 16:56:46 422

原创 kettle-8.3.0.0:流程步骤与应用步骤

概述流程主要用来控制数据流程与数据流向。应用则是提供一些工具类。流程步骤1.ETL元数据注入类似Java中的反射,在设计时不知道文件名、文件位置等,在真正执行时才知道具体的一些配置等信息具体介绍后续补充,官方Wikia:https://wiki.pentaho.com/display/EAI/ETL+Metadata+Injection2.数据过滤这里说一下Ja...

2019-12-27 16:47:59 772

原创 kettle-8.3.0.0:转换步骤

概述转换步骤分类:1. 增加新的列2. 字符串处理3. 行列变换4. 排序/排重/字段选择5. 其他转换步骤增加新的列1.增加常量列增加一列常量的列其它增加列的操作大同小异,不一一赘述,只介绍计算器增加常量列增加序列列增加分组序列列增加校验列增加XML列计算器 2.计算器可以进行数值运算、日期运算等...(更多计算类型的介绍,参见...

2019-12-27 15:36:35 524

原创 kettle-8.3.0.0:输出步骤

概述数据库表:• 表输出• 更新,删除,插入/更新• 批量加载(mysql,oracle)• 数据同步文件:• SQL 文件输出• 文本文件输出• XML 输出• Excel Output/Excel Writer其他(报表、应用)数据库输出1.表输出(提前手动在数据库中创建表)使用SQL的方式向数据库插入数据(INSERT)支持批量提交支...

2019-12-27 12:00:14 514

原创 kettle-8.3.0.0:输入步骤

输入步骤主要分为以下几类:• 生成记录/自定义常量• 获取系统信息• 表输入• 文本文件输入• XML 文件输入• Json输入• 其他输入步骤生成记录和自定义常量1.生成记录由于生成记录每行都是一样的数据,所以便诞生了自定义常量数据来手工模拟数据2.自定义常量数据常用于构造一些测试数据。获取系统信息获得各类系统信息,常见的包括:• 转换开...

2019-12-27 11:47:26 519

原创 kettle内置变量和属性参考

内置变量变量 描述 Internal.Kettle.Version 这是kettle的版本号,比如4.0.0 Internal.Kettle.Build.Version 这是kettle源代码的SVN的修订号 Internal.Kettle.Build.Date 这是kettle的build日期 Internal.Job.Filename.Directo...

2019-12-27 11:39:20 1252

原创 kettle-8.3.0.0:基本使用

一、子程序功能和启动方式介绍spoon.sh: 图形界面方式启动作业和转换设计器。pan.sh: 命令行方式执行转换。kitchen.sh: 命令行方式执行作业。carte.sh: 启动web服务,用于 Kettle 的远程运行或集群运行。encr.sh: 密码加密转换和作业:Kettle 的 Spoon 设计器用来设计转换(Transformation)和 作业(Job...

2019-12-27 10:20:55 1912

原创 kettle-8.3.0.0:资源库、运行方式与日志

资源库资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。kettle资源库元数据•资源库资源库包括文件资源库、数据库资源库Kettle 4.0 以后资源库类型可以插件扩展•XML 文件.ktr 转换文件的XML的根节点必须是 <tra...

2019-12-26 11:23:53 998

原创 kettle-8.3.0.0:创建资源库

资源库的介绍kettle资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。资源库有两种形式:一、Kettle database repository,即保存在各种常见的数据库资源库类型,用户通过用户名/密码来访问资源库中的资源,默认的用户名/密码是ad...

2019-12-26 10:35:16 1737

原创 kettle-8.3.0.0:定时任务(后台任务)

前面我们介绍了 Kettle的Spoon的转换和作业定时任务GUI设计方式以及运行,但是在实际应用中,我们需要计划任务是在服务器后台运行。首先我们需要了解Kettle的Kitchen和Pan:Kitchen——作业(job)执行器 (命令行方式)Pan——转换(trasform)执行器 (命令行方式)下面我们将重点讲解经常会用到的 ***作业执行器 kitchen.sh *** 。...

2019-12-26 00:56:54 3177

原创 kettle-8.3.0.0:定时任务(GUI)

应用场景有时候,需要我们建立的转换任务能够定时执行,那么我们需要怎么办呢?此时,我们需要建立一个job,来让转换定时执行。操作步骤1、运行软件,进入主界面。点击左上角的 文件 → 新建 → 作业(J)新建一个作业(job),并保存,作业的后缀名为.kjb。2、点击面板左侧的核心对象,选择通用文件夹下的START和转换并把它拖到右侧的编辑区中,按住shift画...

2019-12-26 00:30:49 478

原创 kettle-8.3.0.0:在MySQL中,将A库的某张表的数据插入到B库(B库中的目的表要事先创建好) 全量同步

应用场景:为了方便演示,在数据库A和数据库B中分别创建表userA和表userB。最终目标为将数据表userA中的数据插入到数据表userB中。create database testA;use testA;create table `userA`( `id`int(10) primary key, `name` varchar(50), `age` int(...

2019-12-26 00:13:03 1350

原创 kettle-8.3.0.0连接MySQL报错

问题描述:点击 "测试" 以后,报错信息如下:org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the databaseDriver class 'org.gjt.mm.mysql.Driver' could not be found,...

2019-12-25 23:18:08 1031 1

原创 kettle-8.3.0.0的下载安装

Kettle 介绍Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎...

2019-12-25 22:48:59 2190

原创 kafka broker Leader -1引起spark Streaming不能消费

一、问题描述:Kafka生产集群中有一台机器cdh-003由于物理故障原因挂掉了,并且系统起不来了,使得线上的spark Streaming实时任务不能正常消费,重启实时任务都不行。查看kafka topic状态,发现broker Leader出现-1的情况,如下图二、问题分析Kafka Broker Leader 为-1,表示有partition在选举Leader的时候失败了,因此引...

2019-12-25 00:41:34 258

原创 IDEA-plugin之解决maven工程jar冲突必备良药Maven Helper

在开发的过程中,我们难免会遇到各种jar包冲突,如果不掌握解决的办法,就会连连报错!下面推荐一个IDEA的插件 -- Maven Helper安装有两种方式一种是IDEA自动安装,但是经过我IDEA 2017.03版本的测试,安装完没有任何作用。故不推荐。另外一种就是从Maven Helper插件官网下载,之后手动安装。下面开始正文安装下载离线插件包从Maven Helper...

2019-12-25 00:40:10 247

原创 Spark2.4.2报错总结

报错一:背景启动spark-shell后查询hive中的表信息,报错$SPARK_HOME/bin/spark-shellspark.sql("select * from student.student ").show()日志Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.ha...

2019-12-25 00:38:01 916

原创 flume中几种常见的source、channel、sink

一、source1、avro source侦听Avro端口并从外部Avro客户端流接收事件。 当与另一个(上一跳)Flume代理上的内置Avro Sink配对时,它可以创建分层集合拓扑。channels – type – The component type name, needs to beavro bind – hostname ...

2019-12-24 17:11:04 1344

翻译 [Spark版本更新]--2.3.0发行说明(二)

新功能·[SPARK-3181] - 使用Huber估计器添加鲁棒回归算法·[SPARK-4131] - 支持“通过查询将数据写入文件系统”·[SPARK-12139] - Hive查询的REGEX列规范·[SPARK-14516] - 聚类评估器·[SPARK-15689] -...

2019-12-24 15:09:34 2158

翻译 [Spark版本更新]--2.3.0发行说明(一)

自从2017年12月1日发布spark-2.2.1以来,已有3个月时间。2018年2月28日,spark官方发布了一个大版本Spark-2.3.0,解决了1399个大大小小的问题。一、DataBricks做了相关说明今天,我们很高兴地宣布Databricks上的Apache Spark 2.3.0作为其Databricks Runtime4.0的一部分。我们要感谢Apache Spa...

2019-12-24 15:08:38 1453

空空如也

空空如也

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

TA关注的人

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