自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 大数据基础设施搭建 - Spark

到YARN WEB页面查看任务提交情况。

2024-04-01 21:23:00 656

原创 大数据基础设施搭建 - Doris

注意:priority_networks配置依据,执行命令 ip a查询子网网段。下载地址:https://doris.apache.org/download/执行下列命令,能查出记录的下载avx2版本,否则下载noavx2版本。需要使用mysql客户端连接doris。注意:存储目录必须手动提前创建。目的:将be和fe连接起来。分发到需要安装BE的节点。注意这里的*不要去掉。

2024-03-13 20:23:20 919

原创 大数据基础设施搭建 - Flink

一个应用中可能有多个作业,分发器Dispatcher将每一个作业封装成一个JobMaster对象,JobMaster将每一个作业的代码执行逻辑生成一个执行图,资源管理器ResourceManager向TaskManager申请资源来执行该作业的执行操作,最终将作业交给TaskManager中的任务槽Slot来执行,作业执行完成后返回给客户端响应。在yarn的WEB-UI界面,点击任务的History位置,如果Flink历史服务器生效就会跳转到Flink历史服务器UI界面,否则会跳转到Yarn的UI界面。

2024-02-27 08:27:38 1638

原创 Java抽取Hive、HDFS元数据信息

* 元数据表附加信息 服务实现类*

2024-01-30 11:00:05 871

原创 大数据基础设施搭建 - Hbase

首先保证Zookeeper和Hadoop正常运行。

2024-01-23 16:15:53 1254

原创 大数据基础设施搭建 - Redis

需要通过命令行进行开启,因为aof的备份恢复优先级高于rdb,修改配置文件需要重启redis,重启后的aof文件是空的,备份恢复时redis中就是空的,所以需要在重启redis前准备好aof文件。有序不重复,就是在set的基础上,给每个元素绑定了一个分数,按照分数由低到高排序。redis是用c写的,因此安装redis需要c语言的编译环境,即需要安装gcc。RDB为快照备份,会在备份时将内存中的所有数据持久化到磁盘的一个文件中。AOF为日志备份,会将所有写操作命令记录在一个日志文件中。

2024-01-22 20:11:23 525

原创 数仓建设 - 维度建模 - DIM维度

1、上传日期数据文件到HDFS的临时目录 /tmp/tmp_dim_date_info/

2023-12-07 15:17:57 868

原创 大数据基础设施搭建 - 数据装载

入仓时机:业务数据、日志数据都同步到HDFS后。即Sqoop同步业务全量表完成后。业务数据进入HDFS时机:全量数据每天凌晨将昨天的数据同步到HDFS昨天目录。增量数据实时同步到HDFS到binlog对应的日期目录。日志数据进入HDFS时机:实时同步到日志行为发生的日期,JSON串中的ts字段解析出来的日期。

2023-12-03 20:24:02 613

原创 大数据基础设施搭建 - 业务数据同步策略

套路:从body中拿出采集到的数据,解析出有用字段放入header中,配置文件中可以获取header中的东西。作用1:把从Kafka中获取的json串的业务表名放到header中。作用2:把从Kafka中获取的json串的ts时间戳转换成毫秒,放入header中。import com/**// 1、从body中解析json拿出想要字段 byte [ ] body = event . getBody();

2023-12-02 21:41:06 1478 1

原创 SQL解惑 - 谜题2

处理连续问题标准步骤:(1)按雇员分组,按日期排序,得到rn(2)用日期减rn。

2023-12-02 12:33:21 715

原创 大数据基础设施搭建 - Maxwell

Maxwell需要在MySQL中存储其运行过程中的所需的一些数据,包括binlog同步的断点位置(Maxwell支持断点续传)等等,故需要在MySQL为Maxwell创建数据库及用户。授予权限2:任意库里的任意表的基础读权限(SELECT, REPLICATION CLIENT, REPLICATION SLAVE),给到maxwell用户的任意地址连接。授予权限1:把maxwell库下的所有表的ALL所有权限授予给maxwell用户的%任意的host地址连接。select_priv:查询权限。

2023-11-30 18:03:56 1249

原创 大数据基础设施搭建 - Sqoop

部署节点:在Hadoop集群的任意节点部署都可以,因为Hadoop配置文件中指出了NameNode、ResourceManager在哪台节点上,并且配置文件分发到了所有节点上!–null-non-string:如果指定列为非字符串类型,使用指定字符串替换值为null的该类列的值。–null-string:如果指定列为字符串类型,使用指定字符串替换值为null的该类列的值。–fields-terminated-by:Hdfs文本文件中,字段分隔符?–compression-codec:指定压缩格式。

2023-11-29 22:55:45 817

原创 大数据基础设施搭建 - Hive

hive元数据存储:默认是元数据存储于hive内置的derby数据库,是用Java写的。生产中使用独立服务模式,因为在嵌入式模式下,每个Hive CLI都需要直接连接元数据库,当Hive CLI较多时,数据库压力会比较大。如果配置文件中有此项配置,说明hive在连接元数据的时候需要走第三方服务thrift,必须启动独立服务模式metastore服务!有两种提供服务的方式,分别是嵌入式模式和独立服务模式。hive元数据概述:记录了hive中表的名称、列名、数据类型、分区信息、数据存储路径等。

2023-11-24 15:50:04 2553

原创 大数据基础设施搭建 - Flume

作用:拦截events,经拦截器处理,输出处理后的events。开发:创建maven项目,打成jar包形式上传到flume所在机器作用:按照kafka消息中的时间字段,决定消息存储到hdfs的哪个文件中。import com/*** 作用:获取kafka中时间戳字段,放入event头中,flume写入hdfs时,从头部获取时间,作为该event放入hdfs的文件夹名称。

2023-11-23 13:06:21 2777

原创 大数据基础设施搭建 - Kafka(with ZooKeeper)

Kafka官网:https://kafka.apache.org/introKafka是Scala开发的,运行依赖JVM,所以安装Kafka前需要先安装JDK。

2023-11-21 14:01:27 1019

原创 大数据基础设施搭建 - ZooKeeper

内容:zookeeper的数据存储路径/myid文件存放路径。文件必须在配置的dataDir目录下。注意:ZooKeeper依赖JDK。必须修改,否则配置文件不起作用。文件名称必须是myid。内容:增加集群节点配置。

2023-11-19 20:08:23 502

原创 大数据基础设施搭建 - MySQL

可能会报缺少依赖的错误!执行下面命令即可: [mall@mall mysql]$ sudo yum install libaio。

2023-11-18 19:22:47 386 1

原创 大数据基础设施搭建 - Hadoop

代理配置:hadoop.proxyuser.hadoop.hosts必须配,hadoop.proxyuser.hadoop.groups和hadoop.proxyuser.hadoop.users至少配置一个。hadoop.proxyuser.hadoop.hosts和hadoop.proxyuser.hadoop.users:本案例配置表示允许用户hadoop,在任意主机节点,代理任意用户。该配置文件位于下面的JAR文件中:hadoop-mapreduce-client-core-x.x.x.jar。

2023-11-17 22:53:02 1560

原创 大数据基础设施搭建 - JDK

在root账号下操作,/目录下只能用root账号创建目录。

2023-11-16 23:09:13 604

原创 大数据基础设施搭建 - 阿里云Linux环境

目的: 按i键切换至编辑模式,在# Example datasource config内容上增加以下配置,关闭cloud-init中的自动配置网络的参数,避免网卡配置文件内容被覆盖。描述:按i键切换至编辑模式,将BOOTPROTO的值修改为static,并将以上步骤中记录的IP地址、网关信息、子网掩码填写到该配置文件中,修改之后的内容如下所示。linux系统默认ip地址是动态获取的,如果不配置ip,每次重启服务器,ip都会改变,这对于访问系统中的项目是很不友好的。目的:查看实例的IP地址、子网掩码。

2023-11-16 10:43:11 188

原创 数据仓库工具箱-第三章-零售业务

业务方目的(分析决策) ========》 星型模型。

2023-11-07 17:03:25 1470

原创 SparkSQL - 常见问题

自动广播原理:orc格式的表会对数据进行压缩,如果压缩比过大,会导致广播时间过长。自动广播原因:大表join小表时,小表大小在阈值以下,就会自动广播小表到每个excutor。参考资料:https://www.ai2news.com/blog/3041168/TODO:如何查看spark集群的参数设置(搞一套自己的集群,自己试试看怎么查看)(3)广播变量的数据量是否太大(查看集群配置的自动广播阈值大小)(2)广播超时时间阈值太小(查看集群配置的广播超时时间阈值)(1)关闭自动广播或调低自动广播阈值。

2023-11-02 11:48:55 1240

原创 七天内连续登陆天数

近七天连续登录天数

2023-08-31 20:11:43 177

原创 数据仓库工具箱-第6章-订单管理

就是那些看起来像是事实表的一个维度关键字,但实际上并没有对应的维度表,就是维度属性存储到事实表中,这种存储到事实表中的维度列被称为退化维度。因为处于事实表中的订单号没有与维度表连接,所以它是一种退化维度。

2023-04-07 20:22:17 572 1

原创 分布式下session共享问题

一、session是什么存放在服务器内存中的数据,比如一个map。二、分布式下session共享问题2.1.1 不同域名间session不共享2.1.2 同域名不同服务器间session不共享解决方案:(1)session复制优点:tomcat原生支持,只需要修改配置文件。缺点:数据传输占用大量带宽;任意一台tomcat保存的数据都是所有tomcat的session综合,占大量内存;不支持水平扩展;(2)客户端存储优点:用户保存自己的session信息到cookie中,节省服务器资源。

2022-02-22 20:25:39 448

原创 数据结构 -- 尚大 -- 栈

一、概述二、实现数组实现import java.util.Scanner;/** * @date 2022/1/14 20:50 */public class ArrayStack { public static void main(String[] args) { ArrayStack stack = new ArrayStack(4); String key = ""; boolean loop = true;

2022-01-14 21:17:16 210

原创 算法 -- 约瑟夫问题

一、什么是约瑟夫问题二、求出队编号的序列的方式单向环形链表数组取模三、代码

2022-01-14 20:31:38 202

原创 并发编程 -- 创建线程的四种方式

一、继承Thread类二、实现Runnable接口三、实现Callable接口四、线程池方式

2021-12-03 22:21:55 235

原创 大数据面试题

一、spark – 提交流程spark submit启动一个进程,和rm通信,申请资源在合适的nm上启动am,am启动一个driver线程,driver线程启动后,向rm申请资源创建计算对象,rm返回可用资源列表给am,am在nm上启动executor进程,excutor向am反向注册,excutor全部注册完,driver继续执行main方法,执行到action算子的时候,触发一个job,并根据宽依赖划分阶段,每个stage根据最后一个rdd的分区数量划分task,之后将task分发到各个executo

2021-11-18 02:31:38 473

原创 Kakfa -- 精准一次性消费

一、定义精确一次消费(Exactly-once) 是指消息一定会被处理且只会被处理一次。不多不少就一次处理。至少一次消费(at least once),主要是保证数据不会丢失,但有可能存在数据重复问题。最多一次消费 (at most once),主要是保证数据不会重复,但有可能存在数据丢失问题。二、问题如何产生数据何时会丢失: 比如实时计算任务进行计算,到数据结果存盘之前,进程崩溃,假设在进程崩溃前kafka调整了偏移量,那么kafka就会认为数据已经被处理过,即使进程重启,kafka也会

2021-11-13 19:59:16 866 1

原创 奇怪的问题

一、数据库为什么要分这么多数据类型?原文链接:https://blog.csdn.net/weixin_33095355/article/details/113398843简单来说,语言是用来实现某种特定目的的,编程语言也不例外(SQL也是),比如说,在自然语言中,交流信息会比较容易,但在特定领域就会显得不精准,例如process这个单词,在不同的领域可以是不同的意思,可以翻译为:进程,处理,加工,流程等,在不同的领域代表不同的意思,因此限定领域非常重要。再比如,在自然语言中,同一个字符可能代表完全不

2021-11-03 18:56:10 132

原创 数据结构 --线性表 -- 双向链表

一、概述二、代码/** * 双向链表 * @date 2021/10/18 21:11 */public class DoubleLinkedList<E> { public static void main(String[] args) { // 测试 System.out.println("双向链表的测试"); HashMap<String, String> map = new HashMap<>(

2021-10-18 23:15:50 90

原创 数据结构 -- 线性表 -- 数组模拟环形队列

一、前言先回忆一下上一篇数组模拟的队列存在的问题。即队列仅能使用一次,即使队列中有空位也无法进队。那么为什么会出现这个问题呢,其实导致该队列仅能使用一次的原因是我们定义的判断队列满的条件有缺陷,导致了队列的假性溢出。那么如何来解决呢,这就需要用到数学手段从逻辑上将它改为环形队列,即将原来入队出队时的rear++和front++改为rear=(rear+1)%MaxSize和front=(front+1)%MaxSize这种循环进一。二、环形队列四要素队空条件:front = rear队满条件:(r

2021-10-14 13:52:15 174

原创 数据结构 -- 线性表 -- 数组模拟队列

一、概述数组模拟队列存在问题:不是环形队列,队列只能用一次二、代码实现import java.lang.reflect.Array;import java.util.Scanner;/** * 数组模拟队列 * 存在问题:不是环形队列,队列只能用一次 * @date 2021/10/12 23:50 */public class ArrayQueue<T> { private int maxSize; // 表示数组的最大容量 private int fr

2021-10-13 21:03:00 101

原创 数据结构 -- 稀疏数组工具类

一、概述可以将此类当成一个工具类来使用,此类提供正常数组转为稀疏数组和把稀疏数组恢复为二维数组两个静态方法应用场景:用于压缩数大数组中出现大量重复数据的数组压缩,可以节省空间二、代码实现/** * 稀疏数组 * 可以当一个工具类来用,提供原始数组转稀疏数组和稀疏数组恢复成原始数组两个方法 * 应用场景:可以压缩大数组(有很多重复值的) * @date 2021/10/11 22:47 */public class SparseArray { //todo 1.原始数组转稀疏数组

2021-10-12 22:50:29 69

原创 数据结构 -- 优先队列

一、概述二、最大优先队列最大优先队列代码public class MaxPriorityQueue<T extends Comparable> { // 存储堆中的元素 private T[] items; // 记录堆中元素的个数 private int N; public MaxPriorityQueue(int capacity) { items = (T[]) new Comparable[capacity + 1];

2021-09-24 15:00:29 125

原创 数据结构 -- 加权有向图

一、概述二、实现2.1 加权有向图的边2.1.1 API设计类名DirectedEdge构造方法DirectedEdge(int v,int w,double weight):通过顶点v和w,以及权重weight值构造一个边对象成员方法1.public double weight():获取边的权重值2.public int from():获取有向边的起点3.public int to():获取有向边的终点成员变量1.private final int v:起点2

2021-07-20 16:47:28 1184

原创 数据结构 -- 加权无向图

一、概述二、邻接矩阵实现(todo)三、邻接表实现3.1 加权无向图边3.1.1 API设计3.1.2 实现3.1.3 测试3.2 加权无向图3.2.1 API设计3.2.2 实现3.2.3 测试四、最小生成树五、贪心算法六、

2021-07-15 15:01:36 1424 1

原创 数据结构 --有向图

一、概述有向图是一副具有方向性的图,是由一组顶点和一组有方向的边组成的,每条方向的边都连着一对有序的顶点二、邻接矩阵实现(todo)2.1 API设计2.2 实现2.3 测试三、邻接表实现3.1 API设计类名Digraph构造方法Digraph(int V):创建一个包含V个顶点但不包含边的有向图成员方法1.public int V():获取图中顶点的数量2.public int E():获取图中边的数量3.public void addEdge(int v,

2021-07-09 23:22:02 3583 3

原创 数据结构 -- 无向图

一、概述图是由一组顶点和一组能够将两个顶点相连的边组成的二、邻接矩阵实现2.1 API设计2.2 实现2.3 测试三、邻接表实现存储结构:邻接矩阵、邻接表3.1 API设计类名Graph构造方法Graph(int V):创建一个包含V个顶点但不包含边的图成员方法1.public int V():获取图中顶点的数量2.public int E():获取图中边的数量3.public void addEdge(int v,int w):向图中添加一条边 v-w4.p

2021-07-09 16:40:49 588

空空如也

空空如也

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

TA关注的人

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