自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shockang的博客

大数据开发学习经验分享

  • 博客(569)
  • 资源 (17)
  • 收藏
  • 关注

原创 Spark SQL 工作流程源码解析(三)analysis 阶段(基于 Spark 3.3.0)

前言本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!本专栏目录结构和参考文献请见大数据技术体系目录Spark SQL 工作流程源码解析(一)总览(基于 Spark 3.3.0)Spark SQL 工作流程源码解析(二)parsing 阶段(基于 Spark 3.3.0)Spark SQL 工作流程源码解析(三)analysis 阶段(基于 Spark 3.3.0)Spark SQL 工作流程源码解析(四)optimization

2022-02-24 22:35:24 4978 10

原创 如何成为 Apache Spark 的 Contributor?

前言改了 N 次,和 Apache Spark 开源社区的大佬沟通了2 个星期,我的 Pull Request 终于被接受了!!!感兴趣的小伙伴可以访问下面的链接来感受一下开源社区的魅力,大佬们真的都很热情,对我的 PR 提了很多宝贵的意见![SPARK-35907][CORE] Instead of File#mkdirs, Files#createDirectories is expected. by Shockang · Pull Request #33101 · apache/spark正

2021-07-11 12:00:08 3877 10

原创 100个问题搞懂Java并发

写在前面100个问题搞定Java虚拟机100个问题搞定大数据理论体系1000个问题搞定大数据技术体系目录结构什么叫线程安全?同步和异步有什么区别?并发和并行有什么区别?死锁、活锁和饥饿是什么意思?Java 中线程状态有哪些?Java中实现多线程的方法有哪些?JVM 中可以创建多少个线程?Java中有哪些方法可以终止线程运行?如何理解 Java 的线程中断机制?线程的等待(wait)和通知(notify)是什么情况?线程的挂起(suspend)和继续执行(resume)是什么情

2021-06-08 08:55:26 13225 22

原创 大数据技术体系(长期更新)

2018~2021 年期间,笔者阅读了200+大数据相关的书籍和专栏。本专栏为笔者,在多年读书笔记的基础上,结合自身的大数据开发心得体会,呕心沥血之作。

2021-05-25 23:15:51 30493 52

原创 100个问题搞定Java虚拟机

100个问题搞定大数据理论体系1000个问题搞定大数据技术体系

2021-05-12 23:52:14 15759 26

原创 大数据理论体系

目录结构大数据是什么?大数据是如何发展起来的?大数据处理的基本流程是什么?为什么说数据不动代码动?移动计算比移动数据更划算?DAG对大数据处理有什么好处?批处理和流处理如何区分? 有边界数据和无边界数据如何区分?批处理中如何提高CPU利用率?什么是事件时间和处理时间?Workflow设计模式指的什么?什么是商业智能(BI)?分布式锁是什么?如何实现?分布式事务是什么?如何实现?分布式锁和分布式事务有什么区别?CAP定理是什么?BASE理论是什么?分布式系统有哪些衡量指标?

2021-04-11 23:48:07 28235 34

原创 Flink 环境对象

本文全面介绍了Flink中的三种核心环境对象——执行环境、运行时环境和运行时上下文,它们在Flink应用开发和执行过程中发挥着重要作用。文章深入剖析了每种环境对象的功能定位、实现原理和使用场景,让读者全方位了解Flink环境对象的设计思想和应用价值。通过具体案例,还讲解了环境对象之间的协作关系,以及在作业开发和任务执行时的具体应用,帮助读者快速掌握Flink环境对象的精髓。

2023-09-16 09:37:44 537

原创 Flink DataStream 体系

本文介绍了基于流的分布式计算引擎 Flink 中的数据流概念及相关操作。数据流是Flink的核心数据抽象,类似于Apache Beam中的PCollection。本文详细解释了DataStream、DataStreamSource、DataStreamSink、KeyedStream、WindowedStream、ConnectedStreams等不同类型的数据流,以及它们在大数据处理中的作用和用途。这些概念对于理解Flink的核心机制、优化数据处理流程以及满足特定业务需求至关重要。

2023-09-11 15:52:59 614

原创 大数据处理架构详解:Lambda架构、Kappa架构、流批一体、Dataflow模型、实时数仓

面对海量异构数据,如何设计高效可靠的大数据处理架构?本文全方位解析大数据处理的典型架构模式。想知道兼具低延迟和批处理能力的Lambda架构和Kappa架构有何区别?简单高效的流批一体架构如何实现?灵活的Dataflow数据流模型的原理是什么?实时数仓如何做到毫秒级分析?本文通过详细的原理分析和业界案例,以八股文体系全面介绍各类大数据处理架构的模式、特点、适用场景,并对不同架构进行横向对比。无论你是架构设计者,还是大数据开发者,本文都将提供思路清晰的理论指导,以及可落地的技术细节。

2023-07-27 11:08:17 6853 1

原创 大数据存储架构详解:数据仓库、数据集市、数据湖、数据网格、湖仓一体

本文以文字+思维导图+表格的形式详解了数据库、数据仓库、数据集市、数据湖、数据网格、湖仓一体之间的区别。

2023-07-03 11:27:41 13063 1

原创 实时数仓详解

本文讨论了实时数仓(RTDW)的背景、定义、优势和挑战、架构、应用案例以及技术实现。实时数仓是一种现代化的数据仓库,具有大数据规模的小数据语义和性能。它可以处理实时数据、最新数据和历史数据,并且能够跨数据域进行相关性分析。实时数仓具有更快的数据到达和查询速度,可以在集成且安全的平台上完成所有功能。实时数仓的优势包括更快的决策、数据民主化、个性化的客户体验、提高业务敏捷性和解锁新的业务用例。然而,实时数仓也面临着**ETL性能**和**复杂实时计算场景**等挑战。

2023-06-30 15:48:03 2071

原创 分布式计算模型详解:MapReduce、数据流、P2P、RPC、Agent

本文主要介绍了以下五种分布式计算模型的详细解释:1. MapReduce:介绍了Google提出的MapReduce模型,包括Map阶段和Reduce阶段的功能和特点,以及在处理大规模数据集中的应用。2. 数据流:介绍了数据流计算模型,将计算任务看作是一系列数据流的处理过程,适用于实时处理大量数据的场景,具有时序语义和流控制等特点。3. P2P:介绍了P2P计算模型,其中计算任务由多个节点协同完成,节点之间可以直接通信,具有高度的可扩展性和弹性,常用于分布式存储和分布式计算等。4. RPC:介绍了

2023-06-29 09:46:58 1362

原创 分布式数据模型详解:OldSQL => NoSQL => NewSQL

从 OldSQL 到 NoSQL 再到 NewSQL,是数据库技术在适应互联网时代的不断演进过程,是技术不断创新和应用场景的不断变化。

2023-06-28 15:03:49 1512

原创 单机和分布式有什么区别?分布式系统相比单机系统的优势在哪里?

本文详解了单机和分布式的区别,对于新手来了解分布式系统有较大的帮助。

2023-06-28 00:12:31 1962

原创 Hadoop 集群如何升级?

本文提供了详细的升级步骤和注意事项,帮助用户顺利升级Hadoop集群,并保护数据的安全性。

2023-06-23 21:45:43 3516 1

原创 ZooKeeper 的架构是怎样的?

本文详解了 ZooKeeper 的相关知识,包括其架构、通信方式等。本文包含 ZooKeeper 的架构图,并对其进行了详细的描述。同时还画出了ZooKeeper 中 Leader/Follower/Observer 之间的通信流程图,并对其进行了简要的解释。

2023-06-11 01:30:41 1612

原创 Hadoop 怎么委任和解除节点?

Hadoop 集群的管理员经常需要向集群中添加节点,或从集群中移除节点。例如,为了扩大存储容量,需要委任节点。相反的,如果想要缩小集群规模,则需解除节点。如果某些节点表现反常,例如故障率过高或性能过于低下,则需要解除该节点。通常情况下,节点同时运行 DataNode 和 NodeManager,因而两者一般同时被委任或解除。

2023-06-06 22:29:39 645

原创 增量数据抽取技术

各种数据增量抽取机制没有哪一种机制具有绝对的优势,不同机制在各种因素下的表现大体上都是相对平衡的。ETL 实施过程中究竞选择哪种增量抽取机制,需要根据实际的数据源系统环境进行决策,需要综合考虑源系统数据库的类型、抽取的数据量(决定对性能要求的苛刻程度)、对源业务系统和数据库的控制能力以及实现难度等各种因素,甚至结合各种不同的增量机制以针对环境不同的数据源系统进行 ETL 实施

2023-06-02 11:07:19 1240 1

原创 大数据存储方式有哪些?

数据常用的存储介质为磁盘和磁带,数据存储组织方式因存储介质不同而异。直接连接存储(DAS)适用于小型网络及一些硬盘播出系统,网络连接存储(NAS)采用独立于服务器的一种文件服务器来连接所存储设备,存储域网络(SAN)通过支持SAN协议的光纤信道交换机,将主机和存储系统联系起来,组成一个LUN Based的网络。DAS、NAS和SAN三种存储方式各有优劣,相互共存,占到了现在磁盘存储市场的70%以上。SAN和NAS系统可以利用自动精简配置技术来弥补早期存储分配不灵活问题。

2023-06-01 15:08:33 3721

原创 HBase 的关键流程解析

本文主要介绍了 HBase 中 Region 的分配、RegionServer 的上下线、Master 的上下线等相关内容。其中,Region 只能分配给一个 RegionServer,Master 通过 Zookeeper 来跟踪 RegionServer 状态,当 RegionServer 上线或下线时,Master 会相应地进行处理。Master 下线仅导致所有元数据的修改被冻结,对整个 HBase 集群没有影响。在 HBase 中,更新是不断追加的操作,处理读请求时需要访问 Store 中全部的 S

2023-06-01 14:46:24 680

原创 HDFS 的健壮性体现在哪里?

HDFS 的主要目标就是即使在出错的情况下也要保证数据存储的可靠性。常见的三种出错情况是 Namenode 出错、Datanode 出错和网络割裂,HDFS 提供了多种错误恢复手段, 保障了系统的健壮性。

2023-06-01 14:28:39 1026

原创 数据计算、数据分析和数据挖掘有什么区别?

本文主要讲解数据计算、数据分析和数据挖掘三者之间的区别和联系

2023-05-21 22:20:27 417

原创 分布式和大数据有什么区别?

本文详解了分布式和大数据之间的区别

2023-04-22 15:49:48 2173

原创 数据集市是什么?数据集市和数据仓库有什么区别

本文解释了数据集市和数据仓库的概念,并列举了它们的区别,如设计目的、覆盖范围、数据量、数据源、数据结构、灵活性、使用者、实现难度和成本等方面。

2023-04-16 23:39:20 1107

原创 Spring Cloud vs Dubbo

Spring Cloud和Dubbo都是优秀的微服务框架,它们在架构模式、注册中心、服务治理、组件扩展等方面都存在差异。开发者可以根据自己的需求和场景选择不同的框架。

2023-03-19 23:58:03 277

原创 一篇文章了解微服务架构模式

微服务是一种软件架构模式,它将应用程序划分为小型、独立的服务,每个服务都可以运行在独立的进程中,并使用轻量级的通信机制进行交互。这种架构模式的目的是增强应用程序的可扩展性、可维护性和灵活性。

2023-03-19 23:46:16 479

原创 分布式对象存储——Apache Hadoop Ozone

Ozone是Apache Hadoop项目的子项目,是一个基于**对象存储**的分布式文件系统。其主要目标是提供一个高可用性、可扩展性和高性能的存储解决方案,支持大数据分析和处理应用。Ozone 是 Hadoop 的分布式对象存储系统,具有易扩展和冗余存储的特点。Ozone 不仅能存储数十亿个不同大小的对象,还支持在容器化环境(比如 Kubernetes)中运行。

2023-03-05 22:36:48 1501 1

原创 一篇文章熟悉 Java 高性能队列——Disruptor

Java Disruptor框架是一个高性能、低延迟的并发编程框架,它主要通过使用环形缓冲区和事件发布-订阅模式来实现高效的数据传递和处理。Disruptor框架提供了简单易用的API,使得开发人员可以轻松地使用它。Disruptor框架适用于高性能、低延迟的数据处理场景,例如金融交易系统、游戏服务器、高速缓存等。

2023-03-05 22:06:23 969

原创 分布式一致性算法——Paxos 和 Raft 算法

本文主要围绕Paxos算法和Raft算法进行了讨论。我们首先介绍了分布式一致性算法的概念和必要性,然后分别从算法基本原理、角色和状态、基本流程、选举过程、优缺点等方面详细介绍了Paxos算法和Raft算法。同时,我们也对这两种算法进行了比较和区分,并讨论了如何选择合适的算法以满足不同场景下的需求和限制。为了更加清晰地描述算法的流程,我们也对Paxos算法和Raft算法的基本流程和选举过程进行了图形化展示。本文将对从事分布式系统相关工作的人员有所帮助,有助于更好地理解分布式一致性算法。

2023-02-26 20:58:00 3946

原创 一篇文章了解分布式的基本概念

分布式系统是一种由多台计算机组成的系统,它们可以通过网络进行通信,共同完成一项任务。

2023-02-12 23:41:20 357

原创 StarRocks 建表指南

Star Rocks表中的数据分为key与value在上面例子中,三种模型都使用了(siteid, city, username) 作为表的排序键(key)。排序列的定义必须出现在建表语句中其他列的定义之前。排序列的顺序可以是(siteid, city),或者是(siteid, city, username),但不能是(city,username)或者是(siteid, city, pv)排序列的顺序是由CREATE TABLE中的顺序决定的。

2023-02-05 23:58:55 7390 1

原创 StarRocks 集群安装部署文档

本文是包括大数据集群服务器一般配置步骤、mysql5.7安装部署、starrocks HA 集群安装部署、datax+datax-web安装部署

2023-01-22 23:42:08 3823

原创 一篇文章了解 StarRocks

- StarRocks 是新一代极速全场景 MPP 数据库。- StarRocks 充分吸收关系型 OLAP 数据库和分布式存储系统在大数据时代的优秀研究成果,在业界实践的基础上,进一步改进优化、升级架构,并增添了众多全新功能,形成了全新的企业级产品。- StarRocks 致力于构建极速统一分析体验,满足企业用户的多种数据分析场景,支持多种数据模型(明细模型、聚合模型、更新模型),多种导入方式(批量和实时),支持导入多达10000列的数据,可整合和接入多种现有系统(Spark、Flink、Hive、

2023-01-09 00:30:50 1567

原创 一篇文章搞懂 Apache YARN 的 NodeManager 热重启

NM 重启是一项功能,可以重新启动 NodeManager 而不会丢失在节点上运行的容器。 当 NM 处理请求时,它将任何必要的状态同步地存储到状态存储器中。 当 NM 重新启动时,它通过加载各种子系统的状态来恢复正常工作。

2023-01-09 00:03:20 752

原创 一篇文章了解 Apache Druid

# 前言本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!> 本专栏目录结构和参考文献请见[大数据技术体系](https://blog.csdn.net/Shockang/article/details/117266839)---# 概述

2022-12-18 23:10:42 609

原创 一篇文章搞懂 Apache Kylin 的 Cube 优化

本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!> 本专栏目录结构和参考文献请见[大数据技术体系](https://blog.csdn.net/Shockang/article/details/117266839)---# Cube 优化 Apache Kylin 的核心思想是根据用户的数据模型和查询样式对数据进行预计算,并在查询时直接利用预计算结果返回查询结果。Apache Kylin 具有响应时间快、查询时资源需

2022-12-11 23:50:19 418

原创 一篇文章学会调优 ClickHouse

本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!ClickHouse 的通用优化配置如下表所示,大部分配置需要根据线上实际楼况进行优化,具体需要优化的配置可参考官方文档:https://clickhouse.tech/docs/en/operations/settings/query-complexityhttps://clickhouse.tech/docs/en/operations/settings/用户在查询数据时,可以参考如下几点对 SQ

2022-12-04 23:46:59 1407

原创 ClickHouse 的 MergeTree 引擎读写流程

MergeTree 数据写人流程单机写入流程MergeTree 只能按分区聚合数据,当每一批数据落盘时,都会生成一个新的分区目录,属于相同分区的目录会依照规则合并到一起,然后按照设置的表属性 index_granularity ,会分别生成一级素引文件 、二级素引文件、每一列宇段的.mrk 数据标记文件和 .bin 数据文件。多机 Shard 写人流程多机 Shard 写人一般有以下两种方案...

2022-11-27 23:59:33 883

原创 Apache Hive 的 SQL 执行架构

本文介绍 Apache Hive 如何将 SQL 转化为 MapReduce 任务,整个编译过程可以分为六个阶段...

2022-11-20 21:32:17 954

原创 HBase 常见问题总结(一)

问题一:业务表出现大量空Region问题二:业务 HBase 客户端 RPC 连接异常关闭问题三:单台 RegionServer 的 I/O 使用率一直为100%,HBase 集群请求量为0

2022-11-13 23:32:19 1292

CDH 5.14.2 安装包第三部分

CDH 5.14.2 安装包第三部分,建议配合我的博客——《CDH 5.14.2 安装部署指南》一同使用。

2022-10-31

CDH5.14.2 安装包第二部分

CDH5.14.2 安装包第二部分,建议配合我的博客——《CDH 5.14.2 安装部署指南》一同使用。

2022-10-31

CDH 5.14.2 安装包第一部分

CDH5.14.2 安装包第一部分,建议配合我的博客——《CDH 5.14.2 安装部署指南》一同使用。

2022-10-31

Apache Kylin 4.0.2 安装包

Apache Kylin 4.0.2 安装包

2022-10-17

Apache Doris 1.1.2 BE 安装包

Apache Doris 1.1.2 BE 安装包,建议配合我的博客——《Apache Doris 安装部署指南》一起使用

2022-10-02

Apache Doris 1.1.2 FE 安装包

Apache Doris 1.1.2 FE 安装包,建议配合我的博客——《Apache Doris 安装部署指南》一起使用

2022-10-02

Apache Doris 技术调研

Apache Doris 技术调研,建议配合我的同名博客来一同研究学习。

2022-09-26

mysql-5.7.36-el7-x86_64.tar.gz

mysql 5.7.36 linux 安装包

2022-08-08

cloudera-manager-centos7-cm5.14.2_x86_64.tar.gz

cloudera-manager-centos7-cm5.14.2_x86_64.tar.gz 建议配合我的博客一起使用——《Cloudera 平台搭建》

2022-08-01

Spark 线性回归测试数据集 lpsa.data

参考个人博客《Spark RDD 论文详解(三)Spark 编程接口》了解详情

2021-12-26

大数据从0到1 .pptx

大数据入门知识,面向纯大数据新手。主要关于为什么学习大数据、什么是大数据、大数据有哪些职业方向、大数据是如何发展起来的以及大数据该如何学习。

2021-11-01

spark-2.3.3.zip

Spark 2.3.3 安装包,配合本人博客《Spark 2.3 安装部署》一同使用

2021-10-16

elasticsearch-7.14.1-darwin-x86_64.tar

elasticsearch Mac

2021-09-12

logstash-7.14.1-darwin-x86_64.tar

logstash Mac

2021-09-12

kibana-7.14.1-darwin-x86_64.tar

kibana

2021-09-12

flink-1.8.1_after_compile.tar.gz

Flink 1.8.1 编译后的源码包

2021-08-22

elasticsearch-analysis-ik-6.7.0.zip

elasticsearch 中文分词

2021-08-22

elasticsearch-head-compile-after.tar.gz

编译后的 elasticsearch-head 源码包,建议配合安装教程《如何安装 elasticsearch-head 插件?》一同使用

2021-08-22

mysql-community-server-8.0.24-1.el8.x86_64.rpm

结合博客使用——[centos 8 安装 mysql 8](https://blog.csdn.net/Shockang/article/details/118061406)

2021-06-20

mysql-community-client-8.0.24-1.el8.x86_64.rpm

结合博客使用——[centos 8 安装 mysql 8](https://blog.csdn.net/Shockang/article/details/118061406)

2021-06-20

mysql-community-common-8.0.24-1.el8.x86_64.rpm

结合博客使用——[centos 8 安装 mysql 8](https://blog.csdn.net/Shockang/article/details/118061406)

2021-06-20

mysql-community-libs-8.0.24-1.el8.x86_64.rpm

结合博客使用——[centos 8 安装 mysql 8](https://blog.csdn.net/Shockang/article/details/118061406)

2021-06-20

mysql-community-client-plugins-8.0.24-1.el8.x86_64.rpm

结合博客使用——[centos 8 安装 mysql 8](https://blog.csdn.net/Shockang/article/details/118061406)

2021-06-20

Hive3.1.2安装包

建议配合我的博客一同使用——[Hive 3.x 安装部署教程](https://blog.csdn.net/Shockang/article/details/118062872)

2021-06-19

空空如也

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

TA关注的人

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