自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

asdsdwuwang的博客

专注于大数据

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

原创 Flink 重启策略和故障恢复策略

所以最好的配置方法是:对于没有开启 checkpoint 的任务,不配置重启策略, 开启 checkpoint 的任务,配置重启策略,并配置默认的重启次数。restart-strategy.exponential-delay.attempts-before-reset-backoff 默认值 infinite ,如果重新启动策略已设置为指数延迟,则Flink在作业失败之前重试执行的次数。也就是当作业发生异常时,如果上一次异常发生在 6 分钟之前,则重试的延迟时间重置为 1 秒,当前的重试计数重置为 1。

2024-06-25 15:55:03 898

原创 Flink 状态管理

通常,我们首先会创建一个 Keyed 或 Non-Keyed 的 Data Stream,然后再创建一个 Broadcasted Stream,最后通过 Data Stream 来连接(调用 connect 方法)到 Broadcasted Stream 上,这样实现将 Broadcast State 广播到 Data Stream 下游的每个 Task 中。KS:表示 Flink 程序从最上游的 Source Operator 开始构建 Stream,当调用 keyBy 时所依赖的 Key 的类型。

2023-12-07 17:30:58 996

原创 Flink 运行架构

接收器,Flink 将转换计算后的数据发送的地点 ,你可能需要存储下来,Flink 常见的 Sink 大概有如下几类:写入文件、打印出来、写入 socket 、自定义的 sink。Flink 的所有操作都称之为 Operator,客户端在提交任务的时候会对 Operator 进行优化操作,能进行合并的 Operator 会被合并为一个 Operator,合并后的 Operator 称为 Operator chain,实际上就是一个执行链,每个执行链会在 TaskManager 上一个独立的线程中执行。

2023-12-07 17:28:50 1147

原创 Flink 简介

Flink 起源于 Stratosphere 项目,Stratosphere 是在 2010~2014 年由 3 所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014 年 4 月 Stratosphere 的代码被复制并捐赠给了 Apache 软件基金会,参加这个孵化项目的初始成员是 Stratosphere 系统的核心开发人员,2014 年 12 月,Flink 一跃成为 Apache 软件基金会的顶级项目。

2023-12-07 17:24:33 961

原创 大数据治理

包括资产治理、数据质量监控、数据指标体系的建设等。其实数据治理的范围很⼴,包含数据本⾝的管理、数据安全、数据质量、数据成本等。在DAMA 数据管理知识体系指南中,数据治理位于数据管理“车轮图”的正中央,是数据架构、数据建模、数据存储、数据安全、数据质量、元数据管理、主数据管理等10大数据管理领域的总纲,为各项数据管理活动提供总体指导策略。

2023-11-29 14:21:44 1010

原创 ClickHouse集群搭建从0到1

root@localhost.localdomain:/ # ls /etc/clickhouse-serverconfig.xml users.xml/var/lib/clickhouse/var/lib/clickhouse/tmp//var/log/clickhouse-server/etc/rc.d/init.d/clickhouse-serverroot@localhost.localdomain:/ # file /etc/rc.d/init.d/clickhouse-server/e

2023-11-29 14:12:31 844

原创 git详细安装和使用

版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。常见的版本控制系统有:cvs、svn、gitGit是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

2023-11-28 17:57:27 526

原创 大数据命令全集

输出:2021-08-31--上个月第一天输出:2021-07-01--上个月最后一天输出:2021-07-31-- 获取当月第一天输出:2021-08-01-- 获取当月最后一天输出:2021-08-31。

2023-04-27 19:53:21 159

原创 Hive窗口函数

在SQL中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数。窗口函数又叫OLAP函数/分析函数,窗口函数兼具分组和排序功能。窗口函数最重要的关键字是 partition by 和 order by具体语法如下:XXX over (partition by xxx order by xxx)特别注意:over()里面的 pa

2023-04-27 19:44:16 70

原创 Hive大厂面试题

小伙伴们在阅读时注意下,在上面的文章(Hive千亿级数据倾斜解决方案)中,有一处sql出现了上述问题(举例的时候原本是想使用left join的,结果手误写成了join)。:Hive是在0.7版本之后支持索引的,在0.8版本后引入bitmap索引处理器,在3.0版本开始移除索引的功能,取而代之的是2.3版本开始的物化视图,自动重写的物化视图替代了索引的功能。hive在指定列上建立索引,会产生一张索引表(Hive的一张物理表),里面的字段包括:索引列的值、该值对应的HDFS文件路径、该值在文件中的偏移量。

2023-04-01 15:33:16 92

原创 Hive存储与压缩

上图展示了一个Parquet文件的内容,一个文件中可以存储多个行组,文件的首位都是该文件的Magic Code,用于校验它是否是一个Parquet文件,Footer length记录了文件元数据的大小,通过该值和文件长度可以计算出元数据的偏移量,文件的元数据中包括每一个行组的元数据信息和该文件存储数据的Schema信息。查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。

2023-04-01 15:24:49 56

原创 Hive表类型

Hive的基本数据类型有:。Hive的集合类型有:。Hive主要有四种数据模型(即表):内部表、外部表、分区表和桶表。表的元数据保存传统的数据库的表中,当前hive只支持Derby和MySQL数据库。Hive中的内部表和传统数据库中的表在概念上是类似的,Hive的每个表都有自己的存储目录,除了外部表外,所有的表数据都存放在配置在文件的目录下。创建内部表:#2.3 Hive 外部表被external修饰的为外部表(external table),外部表指向已经存在在Hadoop HDFS上的数据,除了在删

2023-04-01 15:24:06 100

原创 hive表操作

Hive表的实质是(将超大表的数据按指定标准细分到指定目录),且分区的字段不属于Hive表中存在的字段;的实质是(将超大文件的数据按指定标准细分到分桶文件),且分桶的字段必须在Hive表中存在。需要Hive表分桶的时候,我们可以观察到Reduce的任务数量 = 分桶的数量,也就是最终产生的分桶文件的个数,因为分桶表就是通过MapReduce任务计算而来。由此可见,其实桶的概念就是MapReduce的分区的概念,两者完全相同。

2023-04-01 15:18:27 219

原创 Hive SQL底层执行原理

本节结构采用宏观着眼,微观入手,从整体到细节的方式剖析 Hive SQL 底层原理。第一节先介绍 Hive 底层的整体执行流程,然后第二节介绍执行流程中的 SQL 编译成 MapReduce 的过程,第三节剖析 SQL 编译成 MapReduce 的具体实现原理。

2023-04-01 15:16:02 279

原创 Hive解析Json数组超全讲解

在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析。接下来就聊聊Hive中是如何解析json数据的。结果:namezhangsan如果既要解析name字段,也解析age字段,则可以这样写:但是如果要解析的字段有很多,再这样写就太麻烦了,所以就有了 这个函数。结果:nameagezhangsan18注意:上面的函数中没有

2023-04-01 15:14:00 2588 6

原创 Hive企业级性能优化

Hive作为大数据平台举足轻重的框架,以其稳定性和简单易用性也成为当前构建企业级数据仓库时使用最多的框架之一。但是如果我们只局限于会使用Hive,而不考虑性能问题,就难搭建出一个完美的数仓,所以Hive性能调优是我们大数据从业者必须掌握的技能。本文将给大家讲解Hive性能调优的一些方法及技巧。当我们发现一条SQL语句执行时间过长或者不合理时,我们就要考虑对SQL进行优化,优化首先得进行问题排查,那么我们可以通过哪些方式进行排查呢。经常使用关系型数据库的同学可能知道关系型数据库的优化的诀窍-看执行计划。 如O

2023-04-01 15:12:39 83

原创 Hive Sql 大全(hive函数,hive表)

本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类: 一、DDL语句(数据定义语句):对数据库的操作:包含创建、修改数据库对数据表的操作:分为内部表及外部表,分区表和分桶表二、DQL语句(数据查询语句):单表查询、关联查询hive函数:包含聚合函数,条件函数,日期函数,字符串函数等行转列及列转行:lateral view 与 explode 以及 reflect窗口函数与分析函数其他一些窗口函数UD。

2023-03-04 19:15:20 2187

原创 Hive概览

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。其本质是将SQL转换为MapReduce/Spark的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce/Spark的任务的工具,甚至更进一步可以说hive就是一个MapReduce/Spark Sql的客户端为什么要使用hive?

2022-12-19 15:57:22 91

原创 服务器新加磁盘进行挂载

最后将挂载命令写入/etc/fstab,或者直接将上面的挂载命令开机执行,即写到/etc/rc.local文件。挂载命令:mount -t ext4 -o defaults /dev/vdb /app。命令:mkfs -t ext4 /dev/vdb。命令:fdisk -l 或者 lsblk。2、格式化新加的磁盘 /dev/vdb。新建目录命令:mkdir /app。命令:df -h 或者 lsblk。命令:vim /etc/fstab。添加上面的挂载的命令到该文件并保存。3、新建挂载目录、挂载磁盘。

2022-12-19 15:44:38 1982

原创 附-Java基本概念

在Java中,注释有三种,分别为:类名、接口名包名变量名、对象名、方法名等标识符首单词字母全小写,其他单词首字母大写,也要尽量见名知义常量名成员变量对于简称,最好也把它当作单词来用,如下表:示例:关键字是Java系统所定义有特定语法含义的字符序列,如:class、public等等,关键字不能作为标识符使用。我们在学习一门计算机语言的时候,一定要了解这个语言支持哪些数据类型。Java语言是强类型(strongly typed)语言,这意味着在Java中,所有的数据,包括常量、变量和表达式都会有一个类型。

2022-12-19 15:31:27 119

原创 面向对象基础三

JDK异常没有包括所有可能的异常情况,所以你可以写出自己定义的异常类来。为创建自己的异常,你应该继承一个在意义上和该异常相似的异常类。try {");} try {g();try {f();} try {g();} try {h();} } }}1234上面的语句应该放在异常处理语句的最后。i ++;

2022-12-19 15:29:11 58

原创 面向对象基础四

以interface取代class关键字就是定义接口的形式。如果interface需要公开,则interface前也可以有public,因此也要求文件名也必须和接口名一致。一个类可以实现多个接口,使用关键字implements后跟若干接口名,接口名之间用逗号分隔。实现接口的类除非定义为抽象类,否则,一个非抽象的类在实现接口时,需要将接口中所有的方法进行实现。因为接口中的方法如果没有存取控制符修饰的话,就是public,所以在实现接口的类中,应在方法前加上存取控制符public。void m();

2022-12-19 15:25:52 117

原创 面向对象基础二

面向对象基础二

2022-12-18 15:34:03 151

原创 面向对象基础一

它表示特定的瞬间,精确到毫秒。在这里我们自己定义一个简单的Date类,用来表示具有年、月、日的日期。我们先来看看如下定义怎么样?}在这段程序定义中,类定义为public,同时year、month、day也定义为public,它们是什么含义呢?我们前面提到包这个概念,我们说,在同一个包中的类在功能上是相关的,但是在包内的这些类并非全部都可以被其他包中的类调用的,怎么区分呢?那些可以被包外使用的类,我们在定义的时候,在类名前加上public,而不能被包外使用的类,在定义的时候,不要加public。

2022-12-18 15:31:01 44

原创 Java流

类型参数的命名风格为:用简练的名字作为形式类型参数的名字(如果可能,单个字符),最好避免小写字母,比如:T、E等。类型参数表用尖括号括起来,多个类型参数之间用逗号隔开。泛型的定义可以应用在接口、类、方法。//定义泛型接口、类,类型参数表在接口名、类名之后 public < T , E > T getT(T t , E e);//类型参数表在存取权限之后 } class B < T , E > implements A < T , E > {return t;} }#

2022-12-18 15:29:53 106

原创 Java泛型

类型参数的命名风格为:用简练的名字作为形式类型参数的名字(如果可能,单个字符),最好避免小写字母,比如:T、E等。类型参数表用尖括号括起来,多个类型参数之间用逗号隔开。泛型的定义可以应用在接口、类、方法。//定义泛型接口、类,类型参数表在接口名、类名之后 public < T , E > T getT(T t , E e);//类型参数表在存取权限之后 } class B < T , E > implements A < T , E > {return t;} }#

2022-12-18 15:26:02 97

原创 Java线程

通过new创建线程对象,是的线程处于新建状态,处于该状态的线程尚无法被系统调度执行。Java对线程的调度采用的是抢占式调度模型,让可运行池中优先级高的线程优先占用CPU,而对于优先级相同的的线程,随机选择一个线程使其占用CPU,当它失去CPU的使用权后,再随机选择其它线程获得CPU的使用权。代码中的method2()方法是把class作为锁的情况,他和synchronized修饰的static方法产生的效果是相同的,取得的锁很特别,是当前被调用方法的所属的类(而不再是由这个类产生的某个具体对象了)。

2022-12-18 15:23:57 58

原创 Java数组

数组变量的意义:数组变量是引用类型的变量,这意味着,数组变量中存放的是数组的引用,而非数组本身,数组的存储空间是在初始化的时候在堆(所谓堆,大家可以理解做一个大仓库)中分配的,这一点同C语言有很大区别,这也成为Java数组的一个优势,数组的大小可以在运行的时候确定,而不必在定义的时候就确定下来。一个数组就是一组数据的序列,该序列中每个元素的类型相同,可以是基本类型,也可以是引用类型。数组的初始化:数组的初始化像其他类型的变量一样,既可以在定义的同时初始化,也可以在定义以后,在第一次使用的使用初始化。

2022-12-18 15:21:39 50

原创 Java字符串相关类

每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串生成器中。类的构造方法有好几个,所以字符串变量的初始化也会有相应的几个形式,我们这里只了解常用的方式,其他方式,大家自己查看JDK说明书进行了解。这条语句的含义是什么呢?左右的这两个常量其实是同一个对象,并不是两个不同的具有相同字符组合的对象。String对象一旦创建,它的内容是不能改变的,大家可能说String的。在Java中,我们经常使用字符串,所有的字符串值的类型均为。因为这两个字符串的字符序列是一致的,所以,结果为。

2022-12-18 15:13:28 59

原创 Java程序的基本输入输出

Scanner使用分隔符将其输入分解为各个不同的部分(称为token),默认情况下使用空白作为分隔符。我们可以使用该类中的方法来设置不同的分隔符。在Scanner类中有很多不同的next为前缀的方法,我们可以使用不同的next 方法将分解得到的token转换为不同类型的值。比如,我们可以使用nextInt()将下一个要被处理的token转换为int数据。如何判断我们要处理的token是不是还有呢?Scanner类中也提供了一系列以hasNext为前缀的方法来判断是否还有要处理的token,如果还有,

2022-12-18 15:10:39 1708 1

原创 第一个java程序

显然,我们应该采用后一种方案,我们应该对每个类分立的测试,确保每个类的功能正常,然后再组装在一起测试,那么通常我们把main作为这个类的测试方法,用来测试这个类的功能是否正常。我们在做java工程的时候,如果需要定义若干类,这若干类可以写在一个java源代码文件中,也可以分开写在不同的java源代码文件中,java源代码文件的命名符合上面的要求即可。目前,我们要牢记main方法的方法首部的写法,其含义,在随后的学习过程中,我们再逐渐领会。第五,Java程序的基本执行单位,依然是语句,语句的结束标识为分号。

2022-12-18 15:06:48 41

原创 Java基础入门

Java是区分大小写的语言,包括文件名(虽然Windows不区分,但是在使用JDK的工具时,JDK工具是区分的,因此,虽然helloworld.java和HelloWorld.java,对于Windows来讲没有区别,但是Java却区别它,因此在保存Java文件的时候要注意大小写);所谓JRE,是Java Runtime Environment的缩写,如果一个Java程序需要运行,则需要JRE的支持,如果你的计算机只是用来运行Java程序,不需要下载JDK,只需要JRE即可。

2022-12-18 14:55:16 60

原创 Shell编程

Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。Shell 既是一种命令语言,又是一种程序设计语言。Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell 脚本编程,不是指开发 shell 自身。Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的Shell 解释器。

2022-12-17 13:28:39 199

原创 linux命令

相对路径在输入路径时,最前面不是以/开始的 ,表示相对当前目录所在的目录位置绝对路径在输入路径时,最前面是以/开始的,表示 从根目录开始的具体目录位置#tail -10 文件#tail -f 文件名#tail -100f 文件名#

2022-12-17 10:12:31 353

原创 大数据sql面试题

本套大数据SQL题不仅题目丰富多样,答案更是精彩绝伦!注:以下参考答案都经过简单数据场景进行测试通过,但并未测试其他复杂情况。本文档的SQL主要使用。

2022-12-16 18:37:28 234

原创 Scala核心基础二

scala是支持面向对象的,也有类和对象的概念。我们依然可以基于scala语言来开发面向对象的应用程序。#简写方式#用法如果类是空的,没有任何成员,可以省略如果构造器的参数为空,可以省略#示例使用简写方法重新创建Person类和对象参考代码#1.1 定义和访问成员变量一个类会有自己的属性,例如:人这样一个类,有自己的姓名和年龄。我们接下来学习在类中定义、和访问成员变量。步骤参考代码#1.2 使用下划线初始化成员变量scala中有一

2022-12-07 21:42:16 398

原创 Scala核心基础一

scala是运行在上的多范式编程语言,同时支持面向对象和面向函数编程多范式:就是包含多种编程思想。目前主流的编程思想有4中,即面向对象、面向过程、面向函数、以及泛型面向函数一句话形容:函数也是一个对象,可以作为参数进行传递。也就是:面向对象 :传递的参数是具体的对象或者值函数式编程:传递的参数可以是一个函数(处理逻辑)早期,scala刚出现的时候,并没有怎么引起重视,随着Spark和Kafka这样基于scala的大数据框架的兴起,scala逐步进入大数据开发者的眼帘。scala的主要优势是它的表达性。

2022-12-07 21:07:48 478

原创 CDH6安装文档(文末有cdh6.2.0网盘链接下载地址)

CDH6安装文档(文末有cdh6.2.0网盘链接下载地址)

2022-12-06 22:24:10 490

原创 idea常用快捷键汇总

厉害的提示 `ctrl+alt+v``fori` ---for循环(int i=0;i

2022-12-06 18:12:42 847

原创 MySQL数据库和函数使用优化

可以从哪几个方面进行数据库的优化?如下图所示:SQL及索引优化根据需求写出良好的SQL,并创建有效的索引,实现某一种需求可以多种写法,这时候我们就要选择一种效率最高的写法。这个时候就要了解sql优化数据库表结构优化根据数据库的范式,设计表结构,表结构设计的好直接关系到写SQL语句。系统配置优化大多数运行在Linux机器上,如tcp连接数的限制、打开文件数的限制、安全性的限制,因此我们要对这些配置进行相应的优化。硬件配置优化选择适合数据库服务的cpu,更快的IO,更高的内存;cpu并不是越多越好。

2022-12-06 17:48:03 183

ChatGPT的技术详解和产业未来.pdf

ChatGPT的技术详解和产业未来和人工智能的结合

2023-11-28

poi-ooxml-schemas-4.1.0.jar

在集群中读取excel文件时还需要的poi-ooxml-schemas-4.1.0.jar

2022-12-18

iceberg-hive-runtime-0.12.1.jar

flinkcdc写入到iceberg中,hive读取iceberg时所需要的运行环境

2022-12-18

spark-excel-2.11-0.13.1.jar

spark程序读取excel文件时必须要使用的所需jar包

2022-12-18

postgresql-42.4.1.jar

pg数据库,用于连接读写pg库的jar包

2022-12-18

dbeaver-ce-22.2.0-win32.win32.x86-64.zip

dbeaver安装包windows版本

2022-12-18

空空如也

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

TA关注的人

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