- 博客(2410)
- 资源 (69)
- 问答 (17)
- 收藏
- 关注
原创 Hive SQL 中的断点分组技术详解
断点分组(Breakpoint Grouping)是一种针对时间序列或状态连续性数据的分析技术,尤其适用于处理用户行为日志、设备状态记录等场景。在 Hive SQL 中,由于其分布式计算特性,断点分组的实现需要兼顾性能与逻辑简洁性。本文将深入探讨 Hive 中该技术的核心原理、多种实现方案、适用场景及优化策略。
2025-03-07 23:27:34
328
原创 DolphinScheduler 实战:使用 Docker Compose 部署 DolphinScheduler 集群
本文将详细介绍如何使用 Docker Compose 部署 Apache DolphinScheduler。如果你已经有在运行中的数据库或者 ZooKeeper 且不想启动新的服务,可以使用这个方案在沿用已有的 PostgreSQL 和 ZooKeeper 服务前提下来启动 DolphinScheduler 各服务。本文将从配置文件解析、部署步骤、部署后验证等方面展开,帮助您快速上手 DolphinScheduler。
2025-03-05 23:17:38
704
原创 深入理解 Apache HttpClient 中的 URIBuilder:构建与操作 URI 的利器
URIBuilder 是 Apache HttpClient 中一个强大且灵活的工具,特别适合用于动态构建和修改 URI。与原生 Java 的 URI 类相比,URIBuilder 提供了更简洁的 API、自动的编码处理以及更好的可读性和可维护性。无论是处理简单的 HTTP 请求还是复杂的 RESTful API 调用,URIBuilder 都是一个不可或缺的工具。
2025-03-05 09:11:01
932
原创 Hadoop 实战:使用 Docker Compose 部署 Hadoop 集群
在这片博文中,我们将探索如何利用 Docker Compose 来部署一个 Apache Hadoop 集群。在开发环境中,使用 Docker Compose 部署 Hadoop 不仅能够保证环境的一致性,还允许开发者快速部署和撤销实例,极大地提高了开发效率。
2025-03-01 10:15:17
81
原创 SeaTunnel 实战:使用 Docker Compose 部署 SeaTunnel 集群
SeaTunnel(原名 Waterdrop)是一个开源的、分布式、高性能的数据集成工具,旨在简化大规模数据的抽取、转换和加载(ETL)过程。它支持多种数据源和数据目的地,能够处理批处理和流处理任务,适用于大数据环境。SeaTunnel 的设计目标是提供简单易用、灵活且高效的数据集成解决方案,帮助企业快速构建数据管道,满足复杂的数据处理需求。
2025-02-23 18:24:19
916
原创 Docker 解决 pull 时 Error response from daemon 异常
之前配置了阿里云的镜像加速服务,但是还是无法访问 Docker Hub,考虑镜像加速配置是否正确或者镜像加速地址是否有效。
2025-02-22 20:15:09
642
原创 Redis 使用 Pipeline 加速查询速度
如果使用的是本地环回接口,RTT 就短得多,但如如果需要连续执行多次写入,这也是一笔很大的开销。Redis 很早就支持 Pipeline 技术,因此无论你运行的是什么版本,你都可以使用 Pipeline 操作 Redis。使用 Pipeline 发送命令时,每次 Pipeline 组装的命令个数不能没有节制,否则一次组装的命令数据量过大,一方面会增加客户端的等待时间,另一方面会造成一定的网络阻塞,可以将一次包含大量命令的 Pipeline 拆分成多个较小的 Pipeline 来完成。
2025-01-05 14:06:42
1061
原创 Spark Streaming 自定义 Receiver
在大数据时代,实时数据处理变得愈发重要。Apache Spark 作为一个强大的大数据处理引擎,其 Spark Streaming 模块为实时数据流处理提供了高效的解决方案。虽然 Spark Streaming 提供了多种内置的 Receiver(如 Kafka、Flume、Socket 等),但在实际应用中,我们可能需要处理特定的数据源或自定义的数据接收逻辑,这就需要我们自定义 Receiver。本文将详细介绍如何在 Spark Streaming 中定义和使用自定义 Receiver,包括其定义步骤、关
2025-01-04 22:40:09
961
原创 Spark Streaming 输出到 MySQL
这一篇文章我们来介绍 Spark Streaming 如何将数据输出到 MySQL 中。主要介绍如何在 Spark Streaming 中创建可序列化的类来建立 MySQL 连接。另外我们可以直接建立连接,但对于大规模存储一般要用到连接池,所以也会介绍如何应用 Druid 连接池。
2024-12-31 17:07:16
1103
原创 MySQL JDBC 实战: PreparedStatement 使用 executeBatch 批量执行生效了吗
日常开发中,当遇到数据的批量插入和更新等问题时经常会使用到 JDBC 的方法,来实现批量执行语句的功能。近期在项目开发过程中,遇到了一个奇怪的现象,使用方法进行批量插入时,发现数据库端日志收到的请求 SQL 仍是逐条收到的,并不是预期的批量收到请求批量执行。
2024-12-31 10:55:15
799
原创 MySQL JDBC 实战: PreparedStatement rewriteBatchedStatements 实现原理
在 MySQL 的 JDBC 驱动中,executeBatch` 方法有三种执行路径
2024-12-31 09:04:07
789
原创 Spark Streaming 与外部存储系统交互
DStream.foreachRDD 对于开发而言提供了很大的灵活性,但在使用时也要避免很多常见的"坑"。在这篇文章中我们会一步一步的介绍如何使用 `DStream.foreachRDD` 实现与外部存储系统交互(例如,MySQL)
2024-12-22 11:11:21
473
原创 Spark Streaming 为什么读取不到历史老文件
在文章中我们介绍了 Spark Streaming 读取不到历史老文件的原因并提供了解决方案
2024-12-21 18:00:01
1014
原创 Spark Streaming fileStream 实现原理
fileStream 是 Spark Streaming Basic Source 的一种,用于近实时地读取 HDFS(或者与 HDFS API 兼容的文件系统)指定目录中新写入的文件。之所以称之为近实时是因为文件的数据必须全部写入完成,并且被"移动"或"重命名"至要读取的目录中,这些文件才可以被处理。
2024-12-21 15:27:55
984
原创 Spark Streaming Connector 从文件读取数据
我们在入门示例中使用通过 TCP 套接字连接接收文本数据。除了套接字,StreamingContext API 还提供了从文件创建 DStreams 作为输入源的方法,并且提供了多个版本。
2024-12-15 17:09:16
949
原创 Spark Streaming object not serializable
在 Spark 中,任务是在不同的节点上的执行者之间发送的,为了能够发送这些对象,它们需要实现 Serializable 接口。如果一个对象没有实现这个接口,或者它依赖的某些成员变量没有实现这个接口,就会抛出序列化错误。我们确实看到 LongWritable 类以及上游接口都没有实现。一文中我们提出了几种解决序列化的方法,不过这几种方法是基于对象可以被修改的。假设对象来自于第三方,例如上述的。这个错误表明在 Spark Streaming 程序中,有一个对象没有被正确序列化,具体是。
2024-12-15 14:47:21
429
原创 Spark Task not serializable
当你在 Driver(master)上初始化变量,然后在其中一个 worker 上尝试使用它时,可能会触发上述错误。在这种情况下,Spark Streaming 会尝试序列化该对象以将其发送给 worker,如果对象不可序列化,就会失败。这就会触发上述错误。
2024-12-15 13:22:08
318
原创 Spark Streaming Incomplete HDFS URI, no host
要解决这个问题,我们需要正确组织 HDFS URI,需要包含主机名和端口号。来指定主机名和端口号。
2024-12-14 12:55:33
461
转载 Apache Hudi从零到一:深入研究读取流程和查询类型 II
在此基础上我们现在将探讨 Hudi 中的读取操作是如何工作的。有多种引擎(例如 Spark、Presto 和 Trino)与 Hudi 集成来执行分析查询。尽管集成 API 可能有所不同,但分布式查询引擎中的基本过程保持一致。此过程需要解释输入 SQL、创建在工作节点上执行的查询计划以及收集结果以返回给用户。
2024-12-14 09:31:30
91
转载 Apache Hudi从零到一:存储格式初探 I
Hudi 是一个事务性数据湖平台,它将数据库和数据仓库功能引入数据湖。下图摘自 Hudi 社区举办的网络研讨会,清楚地说明了该平台的主要功能Hudi 的核心定义了一种表格式,用于组织存储系统内的数据和元数据文件,从而实现 ACID 事务、高效索引和增量处理等功能。本文的其余部分将探讨格式详细信息,主要展示存储上的 Hudi 表的结构并解释不同文件的角色。
2024-12-14 09:25:41
109
原创 Hadoop:ACCEPTED: waiting for AM container to be allocated, launched and register with RM 导致作业卡住
本文分析了Yarn集群中由于磁盘使用率达到98.5%使用率导致节点不健康的问题,提出了解决方案,包括清理磁盘和调整配置参数。
2024-12-09 22:38:16
170
原创 Spark Streaming 程序结构
在进入如何编写自己的 Spark Streaming 程序之前,让我们看看一个简单的 Spark Streaming 程序的具体样子,更加直观的认识 Spark Streaming 的程序结构。我们会从一个实例入手来讲解 Spark Streaming 的程序结构
2024-12-07 19:50:05
912
转载 开放表格式的历史和演变 - 第二部分
在,我们介绍了传统表管理系统的起源和架构,以及第一代开放表格式 (OTF)。在最后一部分中,我将讨论第二代和第三代 OTF。
2024-12-07 10:01:26
447
转载 开放表格式的历史和演变 - 第一部分
如果在过去几年中一直在关注数据工程领域的趋势,那么肯定已经听说过很多关于 Open Table Formats 和 Data Lakehouse 的信息。在这篇博文中,我们将深入探讨数据环境中开放表格式的历史和演变。我们将探讨导致它们成立的挑战、定义它们的关键创新以及它们对行业的影响。通过了解从传统数据库管理系统到现代开放表格格式的旅程,我们可以更好地了解数据技术的现状并预测未来趋势。在第 I 部分中,我们将讨论以表格格式存储和管理数据的起源和历史,以及第一代开放表格式的出现。在。
2024-12-07 09:54:07
119
原创 Calcite SQL 形式化语言:关系代数
关系代数是一种过程化查询语言。它包括一个运算的集合,这些运算以一个或两个关系为输入,产生一个新的关系作为结果
2024-11-23 09:34:33
825
原创 JavaCC 实战八:支持括号、一元运算符和历史记录的计数器
在上一篇文章我们实现了一个支持加减乘除运算的计算器。为了得到一个更实用的计算器,我们需要更多的功能,这篇文章介绍如何为计算器添加括号、一元运算符和历史记录功能。
2024-11-17 10:50:53
523
原创 JavaCC 实战七:支持乘法和除法的计数器
在上一篇文章我们实现了一个支持加法、减法运算的计算器。为了得到一个更实用的计算器,我们需要更多的运算符,例如乘法和除法。这篇文章介绍如何为计算器添加乘法和除法运算。
2024-11-17 10:02:33
744
原创 JavaCC 实战六:支持减法运算的计算器
上一篇文章中我们实现了一个支持整数、小数加法运算的计算器。为了得到一个更实用的计算器,我们需要更多的运算符,例如减法、乘法和除法。这篇文章介绍如何为计算器添加减法运算。
2024-11-16 23:31:45
561
原创 JavaCC 实战五:支持小数运算的计算器
上一篇文章我们实现了一个只支持整数加法运算的计算器。为了得到一个更实用的计算器,除了支持整数运算,也要支持小数运算。这篇文章介绍如何为计算器添加小数加法运算。
2024-11-16 19:38:37
697
Android应用开发揭秘
2015-12-17
Android开发秘籍
2015-12-17
Android开发精要
2015-12-17
Android技术内幕.系统卷
2015-12-17
Android高级编程
2015-12-17
JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发
2015-12-17
Mahout算法解析与案例实战
2015-12-16
LINUX内核设计与实现
2015-12-14
重构-改善即有代码的设计
2015-12-14
算法艺术和信息学竞赛
2015-12-14
apache-mahout-distribution-0.11.1-src
2015-11-30
log4j-1.2.17
2015-11-30
apache-maven-3.3.9-bin
2015-11-30
Better bitmap performance with Roaring bitmaps
2023-03-06
美团外卖离线数仓建设实践
2023-02-19
Redis 入门指南
2017-06-02
Apache Spark源码剖析
2016-11-12
Shell脚本学习指南
2016-05-28
精通Spring
2016-02-07
Spring-Jar-4.2.4
2016-01-28
log4j所需jar包
2016-01-20
Hadoop实战中文版
2015-12-25
大型网站技术核心原理与案例分析
2015-12-25
Hive Range Between 结果错误问题
2023-02-28
Storm Trident 抛异常不重发
2018-11-23
hive SERDEPROPERTIES 实现正则过滤
2018-06-05
Flink 关于窗口Window的问题
2018-01-17
Hive 运行SQL 重定向文件 输出WARN日志
2017-06-13
Hadoop Distcp报错 队列问题
2017-01-17
Hive Join 失败
2016-11-28
Hive 查询问题
2016-09-07
Hive LOAD DATA 错误
2016-07-23
[ElasticSearch] 中文字符串精确搜索 term 搜不到结果
2016-07-05
mysql group by 统计问题
2016-06-17
大型分布式网站架构的演进
2016-05-16
ubuntu IntelliJ Idea设置快捷方式问题
2016-03-08
罗技键盘 k380 连接上 没有任何的反应?
2016-03-06
Maven archetype:generate报错
2016-01-25
Log4j问题
2016-01-16
Java Stringbuilder调用append()方法报错
2015-12-20
nosql开放性问题
2015-12-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人