- 博客(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
4663
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
3751
10

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

原创 大数据技术体系(长期更新)
2018~2021 年期间,笔者阅读了200+大数据相关的书籍和专栏。本专栏为笔者,在多年读书笔记的基础上,结合自身的大数据开发心得体会,呕心沥血之作。
2021-05-25 23:15:51
28701
52

原创 大数据理论体系
目录结构大数据是什么?大数据是如何发展起来的?大数据处理的基本流程是什么?为什么说数据不动代码动?移动计算比移动数据更划算?DAG对大数据处理有什么好处?批处理和流处理如何区分? 有边界数据和无边界数据如何区分?批处理中如何提高CPU利用率?什么是事件时间和处理时间?Workflow设计模式指的什么?什么是商业智能(BI)?分布式锁是什么?如何实现?分布式事务是什么?如何实现?分布式锁和分布式事务有什么区别?CAP定理是什么?BASE理论是什么?分布式系统有哪些衡量指标?
2021-04-11 23:48:07
27410
34
原创 Flink 环境对象
本文全面介绍了Flink中的三种核心环境对象——执行环境、运行时环境和运行时上下文,它们在Flink应用开发和执行过程中发挥着重要作用。文章深入剖析了每种环境对象的功能定位、实现原理和使用场景,让读者全方位了解Flink环境对象的设计思想和应用价值。通过具体案例,还讲解了环境对象之间的协作关系,以及在作业开发和任务执行时的具体应用,帮助读者快速掌握Flink环境对象的精髓。
2023-09-16 09:37:44
264
原创 Flink DataStream 体系
本文介绍了基于流的分布式计算引擎 Flink 中的数据流概念及相关操作。数据流是Flink的核心数据抽象,类似于Apache Beam中的PCollection。本文详细解释了DataStream、DataStreamSource、DataStreamSink、KeyedStream、WindowedStream、ConnectedStreams等不同类型的数据流,以及它们在大数据处理中的作用和用途。这些概念对于理解Flink的核心机制、优化数据处理流程以及满足特定业务需求至关重要。
2023-09-11 15:52:59
347
原创 大数据处理架构详解:Lambda架构、Kappa架构、流批一体、Dataflow模型、实时数仓
面对海量异构数据,如何设计高效可靠的大数据处理架构?本文全方位解析大数据处理的典型架构模式。想知道兼具低延迟和批处理能力的Lambda架构和Kappa架构有何区别?简单高效的流批一体架构如何实现?灵活的Dataflow数据流模型的原理是什么?实时数仓如何做到毫秒级分析?本文通过详细的原理分析和业界案例,以八股文体系全面介绍各类大数据处理架构的模式、特点、适用场景,并对不同架构进行横向对比。无论你是架构设计者,还是大数据开发者,本文都将提供思路清晰的理论指导,以及可落地的技术细节。
2023-07-27 11:08:17
2697
原创 大数据存储架构详解:数据仓库、数据集市、数据湖、数据网格、湖仓一体
本文以文字+思维导图+表格的形式详解了数据库、数据仓库、数据集市、数据湖、数据网格、湖仓一体之间的区别。
2023-07-03 11:27:41
11277
原创 实时数仓详解
本文讨论了实时数仓(RTDW)的背景、定义、优势和挑战、架构、应用案例以及技术实现。实时数仓是一种现代化的数据仓库,具有大数据规模的小数据语义和性能。它可以处理实时数据、最新数据和历史数据,并且能够跨数据域进行相关性分析。实时数仓具有更快的数据到达和查询速度,可以在集成且安全的平台上完成所有功能。实时数仓的优势包括更快的决策、数据民主化、个性化的客户体验、提高业务敏捷性和解锁新的业务用例。然而,实时数仓也面临着**ETL性能**和**复杂实时计算场景**等挑战。
2023-06-30 15:48:03
1284
原创 分布式计算模型详解:MapReduce、数据流、P2P、RPC、Agent
本文主要介绍了以下五种分布式计算模型的详细解释:1. MapReduce:介绍了Google提出的MapReduce模型,包括Map阶段和Reduce阶段的功能和特点,以及在处理大规模数据集中的应用。2. 数据流:介绍了数据流计算模型,将计算任务看作是一系列数据流的处理过程,适用于实时处理大量数据的场景,具有时序语义和流控制等特点。3. P2P:介绍了P2P计算模型,其中计算任务由多个节点协同完成,节点之间可以直接通信,具有高度的可扩展性和弹性,常用于分布式存储和分布式计算等。4. RPC:介绍了
2023-06-29 09:46:58
788
原创 分布式数据模型详解:OldSQL => NoSQL => NewSQL
从 OldSQL 到 NoSQL 再到 NewSQL,是数据库技术在适应互联网时代的不断演进过程,是技术不断创新和应用场景的不断变化。
2023-06-28 15:03:49
1150
原创 ZooKeeper 的架构是怎样的?
本文详解了 ZooKeeper 的相关知识,包括其架构、通信方式等。本文包含 ZooKeeper 的架构图,并对其进行了详细的描述。同时还画出了ZooKeeper 中 Leader/Follower/Observer 之间的通信流程图,并对其进行了简要的解释。
2023-06-11 01:30:41
1319
原创 Hadoop 怎么委任和解除节点?
Hadoop 集群的管理员经常需要向集群中添加节点,或从集群中移除节点。例如,为了扩大存储容量,需要委任节点。相反的,如果想要缩小集群规模,则需解除节点。如果某些节点表现反常,例如故障率过高或性能过于低下,则需要解除该节点。通常情况下,节点同时运行 DataNode 和 NodeManager,因而两者一般同时被委任或解除。
2023-06-06 22:29:39
552
原创 增量数据抽取技术
各种数据增量抽取机制没有哪一种机制具有绝对的优势,不同机制在各种因素下的表现大体上都是相对平衡的。ETL 实施过程中究竞选择哪种增量抽取机制,需要根据实际的数据源系统环境进行决策,需要综合考虑源系统数据库的类型、抽取的数据量(决定对性能要求的苛刻程度)、对源业务系统和数据库的控制能力以及实现难度等各种因素,甚至结合各种不同的增量机制以针对环境不同的数据源系统进行 ETL 实施
2023-06-02 11:07:19
932
1
原创 大数据存储方式有哪些?
数据常用的存储介质为磁盘和磁带,数据存储组织方式因存储介质不同而异。直接连接存储(DAS)适用于小型网络及一些硬盘播出系统,网络连接存储(NAS)采用独立于服务器的一种文件服务器来连接所存储设备,存储域网络(SAN)通过支持SAN协议的光纤信道交换机,将主机和存储系统联系起来,组成一个LUN Based的网络。DAS、NAS和SAN三种存储方式各有优劣,相互共存,占到了现在磁盘存储市场的70%以上。SAN和NAS系统可以利用自动精简配置技术来弥补早期存储分配不灵活问题。
2023-06-01 15:08:33
2292
原创 HBase 的关键流程解析
本文主要介绍了 HBase 中 Region 的分配、RegionServer 的上下线、Master 的上下线等相关内容。其中,Region 只能分配给一个 RegionServer,Master 通过 Zookeeper 来跟踪 RegionServer 状态,当 RegionServer 上线或下线时,Master 会相应地进行处理。Master 下线仅导致所有元数据的修改被冻结,对整个 HBase 集群没有影响。在 HBase 中,更新是不断追加的操作,处理读请求时需要访问 Store 中全部的 S
2023-06-01 14:46:24
647
原创 HDFS 的健壮性体现在哪里?
HDFS 的主要目标就是即使在出错的情况下也要保证数据存储的可靠性。常见的三种出错情况是 Namenode 出错、Datanode 出错和网络割裂,HDFS 提供了多种错误恢复手段, 保障了系统的健壮性。
2023-06-01 14:28:39
886
原创 数据集市是什么?数据集市和数据仓库有什么区别
本文解释了数据集市和数据仓库的概念,并列举了它们的区别,如设计目的、覆盖范围、数据量、数据源、数据结构、灵活性、使用者、实现难度和成本等方面。
2023-04-16 23:39:20
803
原创 Spring Cloud vs Dubbo
Spring Cloud和Dubbo都是优秀的微服务框架,它们在架构模式、注册中心、服务治理、组件扩展等方面都存在差异。开发者可以根据自己的需求和场景选择不同的框架。
2023-03-19 23:58:03
236
原创 一篇文章了解微服务架构模式
微服务是一种软件架构模式,它将应用程序划分为小型、独立的服务,每个服务都可以运行在独立的进程中,并使用轻量级的通信机制进行交互。这种架构模式的目的是增强应用程序的可扩展性、可维护性和灵活性。
2023-03-19 23:46:16
374
原创 分布式对象存储——Apache Hadoop Ozone
Ozone是Apache Hadoop项目的子项目,是一个基于**对象存储**的分布式文件系统。其主要目标是提供一个高可用性、可扩展性和高性能的存储解决方案,支持大数据分析和处理应用。Ozone 是 Hadoop 的分布式对象存储系统,具有易扩展和冗余存储的特点。Ozone 不仅能存储数十亿个不同大小的对象,还支持在容器化环境(比如 Kubernetes)中运行。
2023-03-05 22:36:48
1032
1
原创 一篇文章熟悉 Java 高性能队列——Disruptor
Java Disruptor框架是一个高性能、低延迟的并发编程框架,它主要通过使用环形缓冲区和事件发布-订阅模式来实现高效的数据传递和处理。Disruptor框架提供了简单易用的API,使得开发人员可以轻松地使用它。Disruptor框架适用于高性能、低延迟的数据处理场景,例如金融交易系统、游戏服务器、高速缓存等。
2023-03-05 22:06:23
653
原创 分布式一致性算法——Paxos 和 Raft 算法
本文主要围绕Paxos算法和Raft算法进行了讨论。我们首先介绍了分布式一致性算法的概念和必要性,然后分别从算法基本原理、角色和状态、基本流程、选举过程、优缺点等方面详细介绍了Paxos算法和Raft算法。同时,我们也对这两种算法进行了比较和区分,并讨论了如何选择合适的算法以满足不同场景下的需求和限制。为了更加清晰地描述算法的流程,我们也对Paxos算法和Raft算法的基本流程和选举过程进行了图形化展示。本文将对从事分布式系统相关工作的人员有所帮助,有助于更好地理解分布式一致性算法。
2023-02-26 20:58:00
2375
原创 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
5382
原创 StarRocks 集群安装部署文档
本文是包括大数据集群服务器一般配置步骤、mysql5.7安装部署、starrocks HA 集群安装部署、datax+datax-web安装部署
2023-01-22 23:42:08
2837
原创 一篇文章了解 StarRocks
- StarRocks 是新一代极速全场景 MPP 数据库。- StarRocks 充分吸收关系型 OLAP 数据库和分布式存储系统在大数据时代的优秀研究成果,在业界实践的基础上,进一步改进优化、升级架构,并增添了众多全新功能,形成了全新的企业级产品。- StarRocks 致力于构建极速统一分析体验,满足企业用户的多种数据分析场景,支持多种数据模型(明细模型、聚合模型、更新模型),多种导入方式(批量和实时),支持导入多达10000列的数据,可整合和接入多种现有系统(Spark、Flink、Hive、
2023-01-09 00:30:50
1420
原创 一篇文章搞懂 Apache YARN 的 NodeManager 热重启
NM 重启是一项功能,可以重新启动 NodeManager 而不会丢失在节点上运行的容器。 当 NM 处理请求时,它将任何必要的状态同步地存储到状态存储器中。 当 NM 重新启动时,它通过加载各种子系统的状态来恢复正常工作。
2023-01-09 00:03:20
622
原创 一篇文章了解 Apache Druid
# 前言本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!> 本专栏目录结构和参考文献请见[大数据技术体系](https://blog.csdn.net/Shockang/article/details/117266839)---# 概述
2022-12-18 23:10:42
526
原创 一篇文章搞懂 Apache Kylin 的 Cube 优化
本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!> 本专栏目录结构和参考文献请见[大数据技术体系](https://blog.csdn.net/Shockang/article/details/117266839)---# Cube 优化 Apache Kylin 的核心思想是根据用户的数据模型和查询样式对数据进行预计算,并在查询时直接利用预计算结果返回查询结果。Apache Kylin 具有响应时间快、查询时资源需
2022-12-11 23:50:19
381
原创 一篇文章学会调优 ClickHouse
本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!ClickHouse 的通用优化配置如下表所示,大部分配置需要根据线上实际楼况进行优化,具体需要优化的配置可参考官方文档:https://clickhouse.tech/docs/en/operations/settings/query-complexityhttps://clickhouse.tech/docs/en/operations/settings/用户在查询数据时,可以参考如下几点对 SQ
2022-12-04 23:46:59
1264
原创 ClickHouse 的 MergeTree 引擎读写流程
MergeTree 数据写人流程单机写入流程MergeTree 只能按分区聚合数据,当每一批数据落盘时,都会生成一个新的分区目录,属于相同分区的目录会依照规则合并到一起,然后按照设置的表属性 index_granularity ,会分别生成一级素引文件 、二级素引文件、每一列宇段的.mrk 数据标记文件和 .bin 数据文件。多机 Shard 写人流程多机 Shard 写人一般有以下两种方案...
2022-11-27 23:59:33
773
原创 Apache Hive 的 SQL 执行架构
本文介绍 Apache Hive 如何将 SQL 转化为 MapReduce 任务,整个编译过程可以分为六个阶段...
2022-11-20 21:32:17
880
原创 HBase 常见问题总结(一)
问题一:业务表出现大量空Region问题二:业务 HBase 客户端 RPC 连接异常关闭问题三:单台 RegionServer 的 I/O 使用率一直为100%,HBase 集群请求量为0
2022-11-13 23:32:19
1144
cloudera-manager-centos7-cm5.14.2_x86_64.tar.gz
2022-08-01
elasticsearch-head-compile-after.tar.gz
2021-08-22
mysql-community-server-8.0.24-1.el8.x86_64.rpm
2021-06-20
mysql-community-client-8.0.24-1.el8.x86_64.rpm
2021-06-20
mysql-community-common-8.0.24-1.el8.x86_64.rpm
2021-06-20
mysql-community-libs-8.0.24-1.el8.x86_64.rpm
2021-06-20
mysql-community-client-plugins-8.0.24-1.el8.x86_64.rpm
2021-06-20
Hive3.1.2安装包
2021-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人