大数据开发
文章平均质量分 89
JermeryBesian
坚持让改变发生
展开
-
Flink系列知识之:Checkpoint原理
Flink系列知识之:Checkpoint原理原创 2024-09-18 20:21:46 · 1201 阅读 · 0 评论 -
Clickhouse的数据副本协同原理详解(借助ZK实现)
Clickhouse的数据副本协同原理详解(借助ZK实现)原创 2023-04-27 11:11:05 · 1384 阅读 · 2 评论 -
Clickhouse分布式表引擎(Distributed)写入核心原理解析
Clickhouse分布式表引擎(Distributed)写入核心原理解析原创 2023-04-27 11:10:24 · 947 阅读 · 0 评论 -
Clickhouse JSON表字段方法详解(处理半结构化/结构化数据方法)
Clickhouse JSON表字段方法详解(处理半结构化/结构化数据方法)原创 2023-02-08 16:52:13 · 4250 阅读 · 0 评论 -
Clickhouse获取本周的最后一天、本月的最后一天
Clickhouse获取本周的最后一天、本月的最后一天原创 2022-12-08 10:45:35 · 3528 阅读 · 0 评论 -
Flink的RestartStrategy故障恢复原理与配置
Flink故障恢复策略,以及如何配置故障恢复,如:Fixed Delay Restart Strategy、Failure Rate Restart Strategy、No Restart Strategy原创 2022-11-16 12:04:55 · 993 阅读 · 0 评论 -
Flink内存模型源码深入分析:TaskManager的内存分配
Flink内存模型源码深入分析:TaskManager的内存分配,包括JVM内存,Flink框架内存等原创 2022-11-16 11:57:09 · 595 阅读 · 0 评论 -
Log4j在程序中根据功能配置多个输出日志文件
log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?其实只要在现有的log4j基础上稍加配置即可轻松实现这一功能。原创 2022-10-25 20:01:36 · 1395 阅读 · 1 评论 -
Log4j配置属性详解、滚动日志配置,以及多种Appender输出配置示例
Log4j配置属性详解,以及滚动日志配置,以及多种Appdender输出配置示例原创 2022-10-25 19:40:58 · 6435 阅读 · 0 评论 -
Kafka消费者订阅指定主题(subscribe)或分区(assign)详解
Kafka订阅主题(subscribe)与分区(assign)方法详解原创 2022-08-02 17:31:23 · 8136 阅读 · 1 评论 -
Springboot+Easyexcel将数据写入模板文件并导出Excel
springboot项目:针对用户选择的数据,利用现有的excel模板,实现批量导出的功能原创 2022-08-01 17:19:38 · 1618 阅读 · 0 评论 -
Springboot数据服务开发:用户上传文件导入到数据库中
Springboot数据服务开发:用户上传文件导入到数据库中需求:用户上传一个Excel文件,自动将该文件数据导入到数据库的对应表中(如果表没有则创建,目前只实现了导入到Clickhouse)文章目录Springboot数据服务开发:用户上传文件导入到数据库中思考如何更快速的导入数据上传文件的格式转换核心功能模块的实现需要注意的点shell脚本编写总结思考如何更快速的导入数据首先对需求进行分析,按照传统模式,可以采用POI+JDBC的方式来进行导入数据。但是这种方式比较繁琐,同时插入效率在数据量很大原创 2022-01-06 12:01:06 · 3208 阅读 · 1 评论 -
Clickhouse的多种连接方式
Clickhouse的多种连接方式Clickhouse-clientHTTP接口JDBC官网链接:https://clickhouse.com/docs/zh/interfaces/cli/Clickhouse-clientClickHouse提供了一个原生命令行客户端clickhouse-client客户端支持命令行操作clickhouse$ clickhouse-clientClickHouse client version 19.17.1.1579 (official build)原创 2022-01-05 18:05:51 · 11260 阅读 · 0 评论 -
ClickHouse创建分布式表
ClickHouse创建分布式表当数据量剧增的时候,clickhouse是采用分片的方式进行数据的存储的,类似于redis集群的实现方式。然后想进行统一的查询的时候,因为涉及到多个本地表,可以通过分布式表的方式来提供统一的入口。由于是涉及到分布式存储,保证高可用就必须有数据冗余—即副本(replica)。Clickhouse依靠ReplicatedMergeTree引擎族与Zookeeper实现了复制表机制,成为其高可用的基础。该引擎和 MergeTree 的不同之处在于它会删除排序键值相同的重复项。同原创 2021-12-22 16:42:51 · 7151 阅读 · 0 评论 -
Flink读取Kafka数据下沉到Clickhouse (Java)
Flink读取Kafka数据下沉到Clickhouse在实时流数据处理中,我们通常可以采用Flink+Clickhouse的方式做实时的OLAP处理。关于两者的优点就不再赘述,本文采用一个案例来简要介绍一下整体的流程。整体流程:向kafka特定主题下导入json格式数据编写Flink Kafka Comsumer消费主题下的数据利用Flink算子对数据进行处理(ETL)将处理后的数据下沉到Clickhouse数据库中向kafka特定主题下导入json格式数据在创建好主题后,利用kafka原创 2021-12-22 10:02:33 · 2889 阅读 · 0 评论 -
Clickhouse: 利用shell脚本重刷指定日期区间的历史数据
大数据离线开发:利用shell脚本重刷指定日期区间的历史数据,下沉到clickhouse原创 2021-12-20 17:51:29 · 1627 阅读 · 0 评论 -
Spark中join操作何时是窄依赖何时是宽依赖
Spark中join操作何时是窄依赖何时是宽依赖问题下面程序的两个打印语句的结果是什么,对应的依赖是宽依赖还是窄依赖,为什么会是这个结果;join 操作何时是宽依赖,何时是窄依赖;程序代码如下:import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object JoinDemo {def main(args: Array[String]): Unit = {val conf =原创 2021-05-12 15:40:57 · 1054 阅读 · 0 评论 -
数据仓库介绍与建模方法
数据仓库介绍与建模方法数据仓库什么时数据仓库1988年,为解决全企业集成问题,IBM公司第一次提出了信息仓库(Information Warehouse)的概念。数据仓库的基本原理、技术架构以及分析系统的主要原则都已确定,数据仓库初具雏形。1991年Bill Inmon(比尔·恩门)出版了他的第一本关于数据仓库的书《Building the Data Warehouse》,标志着数据仓库概念的确立。书中指出,数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)原创 2021-04-24 19:32:15 · 405 阅读 · 0 评论 -
Kafka中的消费组和位移管理
Kafka中的消费组和位移管理消费者组 (Consumer Group)什么是消费者组consumer group是kafka提供的可扩展且具有容错性的消费者机制。三个特性:消费组有一个或多个消费者,消费者可以是一个进程,也可以是一个线程group.id是一个字符串,唯一标识一个消费组消费组订阅的主题每个分区只能分配给消费组一个消费者。消费者位移(consumer position)消费者在消费的过程中记录已消费的数据,即消费位移(offset)信息。每个消费组保存自己的位移信息,那原创 2021-04-20 17:17:13 · 717 阅读 · 0 评论 -
Redis高可用方案(二):集群与分区
Redis高可用方案(二):集群与分区分区是将数据分布在多个Redis实例(Redis主机)上,以至于每个实例只包含一部分数据。分区的意义性能的提升单机Redis的网络I/O能力和计算资源是有限的,将请求分散到多台机器,充分利用多台机器的计算能力可网络带宽,有助于提高Redis总体的服务能力。存储能力的横向扩展即使Redis的服务能力能够满足应用需求,但是随着存储数据的增加,单台机器受限于机器本身的存储容量,将数据分散到多台机器上存储使得Redis服务可以横向扩展。Redis集群原创 2021-04-13 19:44:11 · 374 阅读 · 0 评论 -
Redis高可用方案(一):主从复制与哨兵机制
Redis高可用方案(一):主从复制与哨兵机制“高可用性”(High Availability) 通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。CAP的A AP模型单机的Redis是无法保证高可用性的,当Redis服务器宕机后,即使在有持久化的机制下也无法保证不丢失数据。所以我们采用Redis多机和集群的方式来保证Redis的高可用性。单进程+单线程 + 多机 (集群)主从复制Redis支持主从复制功能,可以通过执行slaveof(Redis5以后改成replic原创 2021-04-13 19:30:06 · 262 阅读 · 0 评论 -
Redis缓存过期和淘汰策略
缓存过期和淘汰策略Redis性能高:官方数据读:110000次/s写:81000次/s长期使用,key会不断增加,Redis作为缓存使用,物理内存也会满内存与硬盘交换(swap) 虚拟内存 ,频繁IO 性能急剧下降maxmemory不设置的场景Redis的key是固定的,不会增加Redis作为DB使用,保证数据的完整性,不能淘汰 , 可以做集群,横向扩展缓存淘汰策略:禁止驱逐 (默认)设置的场景Redis是作为缓存使用,不断增加Keymaxmemory : 默认为0 不限制问题原创 2021-04-13 19:03:58 · 180 阅读 · 0 评论 -
Redis简介、数据类型与应用场景
Redis简介、数据类型与应用场景什么是RedisRedis (Remote Dictionary Server)远程字典服务器,是用C语言开发的一个开源的高性能键值对( key-value )内存数据库.它提供了五种常用数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型它是一种 NoSQL 数据存储Redis发展历史2008年,意大利的一家创业公司 Merzia 推出了一款基于 MySQL 的网站实时统计系统 LLOOGG ,然而没过多久该公司的创始人 Salvato原创 2021-04-13 19:00:59 · 247 阅读 · 0 评论 -
HBase原理深入: 读写数据流程及刷写、合并
HBase原理深入HBase读数据流程整体流程介绍如下:假设当客户端Client发送一个读数据的请求,请求获取到某一个表下给定Row_Key值的数据。此时该请求经过HBase处理的流程为:Client先访问zookeeper获取hbase:meta表位于哪个Region Server。首先,需要好好理解一下这一步进行的操作。我们知道,HBase是一个分布式的海量非关系型数据库系统,因为hbase的的某个数据表可能会包含海量的数据,此时利用分布式的特性,就需要对表进行切分。HBase在对表进行切原创 2021-04-08 19:30:17 · 852 阅读 · 0 评论 -
初识HBase: 简介与数据模型
初识HBase: 简介与数据模型HBase 简介HBase是什么HBase 基于 Google的BigTable论⽂⽽来,是⼀个分布式海量列式⾮关系型数据库系统,可以提供超⼤规模数据集的实时随机读写。接下来,通过⼀个场景初步认识HBase列存储如下MySQL存储机制,空值字段浪费存储空间如果是列存储的话,可以这么玩…rowkey:1 name:⼩明rowkey:1 age:23rowkey:1 job:学⽣rowkey:2 name :⼩红rowkey:2 salary:10wro原创 2021-04-08 15:50:39 · 222 阅读 · 0 评论 -
Zookeeper实现分布式锁及代码实例
Zookeeper实现分布式锁文章目录Zookeeper实现分布式锁什么是锁分布式锁zk实现分布式锁zk实现分布式锁代码实现什么是锁在单机程序中,当存在多个线程可以同时改变某个变量(可变共享变量)时,为了保证线程安全(数据不能出现脏数据)就需要对变量或代码块做同步,使其在修改这种变量时能够串行执行消除并发修改变量。对变量或者堆代码码块做同步本质上就是加锁。目的就是实现多个线程在一个时刻同一个代码块只能有一个线程可执行分布式锁分布式的环境中会不会出现脏数据的情况呢?类似单机程序中线程安全的问题原创 2021-04-08 11:21:41 · 1284 阅读 · 0 评论 -
Zookeeper简介、数据结构与监听机制
Zookeeper简介、数据结构与监听机制Zookeeper简介Zookeeper是什么?Zookeeper 是一个分布式协调服务的开源框架。 主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。分布式系统中数据存在一致性的问题!!ZooKeeper 本质上是一个分布式的小文件存储系统。 提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。ZooKeeper 提供给客户端监控存储在zk内部数据的功能,从而可以达到基于数据的集群管理原创 2021-04-08 09:55:44 · 371 阅读 · 0 评论 -
Impala架构原理与分布式执行计划
Impala与分布式执行计划Imapla的架构原理Impala的组件Impala是⼀个分布式,⼤规模并⾏处理(MPP)数据库引擎,它包括多个进程。Impala与Hive类似不是数据库⽽是数据分析⼯具;impalad⻆⾊名称为Impala Daemon,是在每个节点上运⾏的进程,是Impala的核⼼组件,进程名是Impalad;作⽤,负责读写数据⽂件,接收来⾃Impala-shell,JDBC,ODBC等的查询请求,与集群其它Impalad分布式并⾏完成查询任务,并将查询结果返回给中⼼协调者。原创 2021-04-02 10:53:43 · 1115 阅读 · 2 评论 -
Hive实战案例(二):自定义函数实现根据某一字段内的数值对数据再分割
Hive实战案例(二):自定义函数实现根据某一字段内的数值对数据再分割题目描述一:每个id浏览时长、步长二:如果两次浏览之间的间隔超过30分钟,认为是两个不同的浏览时间;再求每个id浏览时长、步长数据内容934e8bee978a42c7a8dbb4cfa8af0b4f 2020/05/28 17:02 https://www.lagou.com/jobs/9590606.html?show=IEEE1FIJ3106A1H062HA934e8bee978a42c7a8dbb4cfa8af0b4原创 2021-03-29 16:58:34 · 821 阅读 · 0 评论 -
Hive实战案例(一):利用row_number()计算连续值
Hive实战案例(一):利用row_number()计算连续值题目一题目描述求出连续7天登录的用户数据内容1 2019-07-11 11 2019-07-12 11 2019-07-13 11 2019-07-14 11 2019-07-15 11 2019-07-16 11 2019-07-17 11 2019-07-18 12 2019-07-11 12 2019-07-12 12 2019-07-13 02 2019-07-14 12 2019-07-15 12原创 2021-03-29 16:06:44 · 1924 阅读 · 1 评论 -
Hive架构及HQL操作之DDL、DQL、DML命令
Hive简介Hive是基于Hadoop的一个数据仓库工具,可以将 结构化的数据文件 映射为一张表(类似于RDBMS中的表),并提供类SQL查询功能;Hive是由Facebook开源,用于解决海量结构化日志的数据统计。Hive本质是:将 SQL 转换为 MapReduce 的任务进行运算底层由HDFS来提供数据存储可以将Hive理解为一个:将 SQL 转换为 MapReduce 任务的工具数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,原创 2021-03-29 15:21:29 · 632 阅读 · 2 评论 -
MapReduce原理解析以Shuffle过程详解
MapReduce原理解析以Shuffle过程详解MapReduce思想MapReduce思想在生活中处处可见,我们或多或少都曾接触过这种思想。MapReduce的思想核心是分而治之,从而充分利用了并行处理的优势。即使是发布过论文实现分布式计算的谷歌也只是实现了这种思想,而不是自己原创。MapReduce任务过程是分为两个处理阶段:Map阶段:Map阶段的主要作用是“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。Map阶段的这些任务可以并行计算,彼此间没有依赖关系。Reduce阶段原创 2021-03-22 15:40:28 · 1035 阅读 · 0 评论 -
HDFS:Edits和Fsimage详解与合并流程
HDFS:Edits和Fsimage详解与合并流程NameNode如何管理和存储元数据计算机中存储数据有两种:内存或磁盘元数据存储磁盘: 存储磁盘无法面对客户端对元数据信息的任意的快速低延迟的响应,但是安全性高元数据存储内存:元数据存放内存,可以高效的查询以及快速响应客户端的查询请求,数据保存在内存,如果断电,内存中的数据全部丢失因此,考虑上述两种存储方式的优缺点,HDFS采用了内存+磁盘的形式来管理元数据。即: NameNode(内存)+FsImage文件. 其中,NameNode文件维护了文件原创 2021-03-20 17:30:30 · 3089 阅读 · 0 评论