- 博客(2357)
- 资源 (69)
- 问答 (17)
- 收藏
- 关注
原创 大数据高分笔记
1. hadoop Hadoop 2.7.3 安装与启动 Hadoop 2.10.1 安装与启动 Hadoop 第一个应用程序 WordCount Hadoop MapReduce 新旧 mapred 与 mapreduce API Hadoop 利用 ToolRunner 运行 MapReduce Hadoop MapReduce Block 与 InputSplit 的区别与联系 Hadoop MapReduce 多路径输入与多个输入 Hadoop MapReduce 多文件输出 M
2022-07-24 08:38:48 1203
原创 Flume 实战:常用 Source 之 Exec Source
Exec Source 在启动时运行用户配置的 Unix 命令,并且期望在基于命令的标准输出上连续生成事件。它还可以从命令中输出错误流,将数据转换为 Flume 的事件,并将它们写入 Channel。
2024-09-16 22:41:16 725
原创 Flume 实战:安装与启动
在这我们只配置一个 Agent,Source 使用的是 NetCat TCP Source,简单说就是监听本机上某个端口上接收到的 TCP 协议的消息。
2024-09-16 08:32:08 934
原创 Flume 入门指南
Apache Flume 是一个分布式、可靠和高可用的系统,可以从大量不同的数据源有效地收集、聚合和移动日志数据,从而集中式的存储数据。Flume 被设计成为一个灵活的分布式系统,可以很容易扩展,而且是高度的可定制化。
2024-09-15 09:23:26 814
转载 AI流程编排产品调研&实践
随着AI技术的发展,AI应用和相关的生态也在不断地蓬勃发展,孵化这些AI应用的平台也在这几年也逐渐成熟。大模型应用开发平台像是淘金者必不可少的铲子一样,成为很多云平台厂商和互联网公司必不可少的平台与工具。提起大模型流程编排或者大模型应用开发平台,让人最多想起来的最多的是一直火热的LangChain,随着LangChain生态的不断繁荣,也诞生了Flowise这种开源三方可视化编排工具。除了工具外,还有产品化程度非常高的Dify等。今天让我们一起逐个看看这些开源产品的应用和优势吧。
2024-09-08 22:34:15 1001
原创 Datavines 实战:安装部署
Datavines 是一站式开源数据可观测性平台,提供元数据管理、数据概览报告、数据质量管理,数据分布查询、数据趋势洞察等核心能力,致力于帮助用户全面地了解和掌管数据,让您做到心中有数.
2024-09-08 17:37:28 1100
翻译 使用 Flink 进行高吞吐,低延迟和 Exactly-Once 语义流处理
在本文中,我们将深入探讨 Flink 新颖的检查点机制是如何工作的,以及它是如何取代旧架构以实现流容错和恢复。我们在各种类型的流处理应用程序上对 Flink 性能进行测试,并通过在 Apache Storm(一种广泛使用的低延迟流处理器)上运行相同的实验来进行对比
2024-08-27 07:54:59 78
原创 分布式事务之两阶段提交(2PC)
在计算机网络以及数据库领域内,二阶段提交()是指,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法。通常,二阶段提交也被称为是一种协议。在分布式系统中,虽然每个节点可以知道自己的操作是成功还是失败,但却无法知道其他节点的操作是成功还是失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一协调所有节点(称作参与者)的操作结果,并最终指示这些节点是否要把操作结果进行真正的提交(比如将更新后的数据写入磁盘等等)。
2024-08-26 22:47:09 1008
转载 为什么 Flink 无法实时写入 MySQL?
本文为 Flink 生产环境应用中的疑问剖析,Flink 无法实时写入 MySQL 是初学者常见问题之一,由社区同学罗鹏程提出,Apache Flink PMC 孙金城(金竹)老师分享该问题的解决方案及分析思路。
2024-08-25 20:21:32 53
转载 Flink JDBC Connector:Flink 与数据库集成最佳实践
Flink 1.11 引入了 CDC,在此基础上, JDBC Connector 也发生比较大的变化,本文由 Apache Flink Contributor,阿里巴巴高级开发工程师徐榜江(雪尽)分享,主要介绍 Flink 1.11 JDBC Connector 的最佳实践
2024-08-25 09:53:11 131
翻译 Apache Spark 流应用程序新的可视化
这篇博文将重点介绍为理解 Spark Streaming 应用程序而引入的新的可视化功能。让我们通过从头到尾分析 Streaming 应用程序的例子详细看一下上面这些新的功能。
2024-08-18 17:29:26 57
转载 为什么不能在 Spark 中定义全局变量?
估计有细心的同学可能发现了一个小问题,那就是,当我在用「全局变量」时,这个变量的定义,是在类中的。而在定义「累加器」时,是在 main 函数中的。你可能好奇,如果我把第1个程序中,「全局变量」定义的位置,也给挪到 main 函数中,是不是就能识别了呢?其实这个我也实测了,一样不能,原因还是那句话:driver 端的(普通)对象,executor 端直接识别不了。这,就是为什么要用到「累加器」的原因。为什么不能在 Spark 中定义全局变量?
2024-08-18 10:32:21 56
原创 Spark 性能调优之序列化
Kryo默认序列化实例时在前面会写上类名,比如java.lang.Double,类名越长,额外的存储开销越大。为了解决这个问题,Kryo允许将类名注册进映射表里,通过分配数字ID来替换冗长的类名,比如java.lang.Double使用数字0来代替。这种方式节省了储存空间,但代价是我们必须手动将所有性能相关的类名注册。spark使用Twitter chill注册了常用的Scala类,也对自己的常用类都进行了注册,具体见KryoSerializer.scala。
2024-08-18 08:26:01 807
原创 Spark 入门 理解闭包
Spark 的难点之一就是理解跨集群执行代码时变量和方法的作用域和生命周期。在 RDD 操作中修改作用域之外的变量经常会造成混乱。在下面的例子中,我们将看看使用foreach()来增加计数器的代码,其他操作也会出现类似的问题。
2024-08-15 07:37:00 573
原创 设计模式之访问者模式
访问者模式(Visitor Pattern)是 GoF 提出的 23 种设计模式中的一种,属于行为模式。访问者者模式的英文翻译是 Visitor Design Pattern。翻译成中文就是:允许一个或者多个操作应用到一组对象上,解耦操作和对象本身。设计意图是解耦操作和对象本身,保持类职责单一、满足开闭原则以及应对代码的复杂性。
2024-08-05 22:22:59 750
转载 重新认识访问者模式:从实践到本质
访问者模式在设计模式中的知名度虽然不如单例模式,但也是少数几个大家都能叫得上名字的设计模式了(另外几个可能就是“观察者模式”,“工厂模式” 了)。不过因为访问者模式的复杂性,人们很少在应用系统中使用,经过本文的探索,我们一定会产生新的认识,发现其更加灵活广泛的使用方式。和一般介绍设计模式的文章不同,本文不会执着于死板的代码模板,而是直接从开源项目以及应用系统中的实践出发,同时对比其他类似的设计模式,最后阐述其在编程范式中的本质。
2024-08-05 15:40:58 76
转载 Flink⼤状态作业调优实践指南:Datastream 作业篇
Apache Flink 是一个开源的流处理框架,用于处理和分析实时数据流。在 Flink 中,状态管理是流处理应用的核心概念之一,它允许算子(operators)在处理事件时保持和操作状态信息。在 Flink 中,状态可以被视为算子的“记忆”,它使得算子能够在处理无界流数据时保持对历史数据的跟踪。状态可以是简单的键值对,也可以是更复杂的数据结构,如列表、集合或自定义对象。状态的更新和查询对于实现复杂的流处理逻辑至关重要。
2024-08-04 10:04:51 65
原创 SeaTunnel 实战:Apache SeaTunnel Web 安装与部署
复制引擎服务中配置文件到 Web 配置目录下面。就是上述 application.yml 文件中配置的端口号。默认是从 mvvm 下载,可能下载速度很慢,我这边安装了 Maven 并且配置了阿里云仓库,因此将脚本中的。如果环境变量有冲突需要改下环境变量的名字以及 init_sql.sh 中的环境变量的名字,可以加上前缀。初始化数据库有两种方式,一是使用官方提供的初始化脚本,二是直接运行初始化 SQL。初始化数据库的脚本,使用之前需要修改。
2024-07-22 23:03:39 1385 1
原创 SeaTunnel 实战:Apache SeaTunnel 本地模式安装与部署
当运行上述命令时,可以在控制台中看到其输出。也可以从 Apache Maven Repository 手动下载连接器,然后将其移动至 connectors 目录下。文件,该文件决定了在启动 SeaTunnel 后数据输入、处理和输出的方式及逻辑。这个配置文件中不需要的可以删掉或者注释掉,只下载自己需要的。来指定所需要的插件,例如只需要 connector-console 插件,那么可以修改。我这边安装了 Maven 并且配置了阿里云仓库,因此可以将上述脚本中的。配置 SeaTunnel 同步作业,编辑。
2024-07-20 21:07:30 891
原创 Apache SeaTunnel 分布式数据集成平台
随着互联网流量爆发式增长,越来越多的公司业务需要支撑海量数据存储,对高并发、高可用、高可扩展性等特性提出了更高的要求,这促使各种类型的数据库快速发展,至今常见数据库已经达到 200 多个。与之相伴的便是,各种数据库之间的同步与转换需求激增,数据集成便成了大数据领域的一个亟需优秀解决方案的方向。当前市面上没有一个简单易用且支持每天数百亿条海量数据同步的开源软件,于是 SeaTunnel 应运而生。
2024-07-20 16:47:12 861
原创 用户画像实战:分布式全局字典设计与实现
当业务标签越来越多时,将不再适合,因为当列越多时,更新效率将会越慢。一种优化方案是通过对标签表构建索引,将用户ID编码后以 Bitmap 格式保存(一般使用进行压缩存储),将关系运算转化 Bitmap 的交并差运算,进而加速实时计算性能。如果用户 ID 是字符类型,需要先将用户ID进行整数编码才能使用 Bitmap 存储。
2024-07-20 16:22:03 685
转载 Java 定时任务技术趋势
定时任务是每个业务常见的需求,比如每分钟扫描超时支付的订单,每小时清理一次数据库历史数据,每天统计前一天的数据并生成报表等等。
2024-07-20 09:52:25 66
原创 用户画像实战:基于 ROW_NUMBER 的全局字典设计与实现
当业务标签越来越多时,宽表标签计算的方案将不再适合,因为当列越多时,更新效率将会越慢。一种优化方案是通过对标签表构建索引,将用户ID编码后以 Bitmap 格式保存(一般使用 RoaringBitmap 进行压缩存储),将关系运算转化 Bitmap 的交并差运算,进而加速实时
2024-07-17 23:48:58 747
转载 精通Quartz:Java中的时间管理与任务调度专家
Quartz 的核心类和工作机制共同构成了一个高效且灵活的任务调度系统。尽管Quartz在设计上注重简洁和性能,但它的确切实现细节和架构选择显示出其在处理复杂任务调度场景中的强大能力。总的来说,Quartz作为Java中的时间管理与任务调度专家,提供了一套全面且高效的解决方案,以应对各种复杂的调度需求。其灵活的配置选项、与SpringBoot的无缝集成以及强大的集群支持,使其在Java应用中的任务调度领域独树一帜。
2024-07-14 20:34:57 66
原创 DolphinScheduler 实战:使用 Standalone 单机部署 DolphinScheduler
Standalone 仅适用于 DolphinScheduler 的快速体验。如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用 Standalone 方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用,推荐使用集群部署或者kubernetes。
2024-07-13 22:23:08 1064
转载 从 0 到 1 快速入门 Apache SeaTunnel 新一代数据集成平台的原理和实践
今天我来分享从 0 到 1 快速入门 Apache SeaTunnel(Incubating),主要从以下6个方面进行,首先第一个方面是对数据集成做一个简单的概括,第二个是对 SeaTunnel 做简单的介绍,第三是介绍 SeaTunnel 当前的原理和架构演进,第四个方面是对当前市面上一些比较常见的数据集成工具进行对比,来解读一下现在市面上已经有了那么多数据集成工具,为什么我们还要再去“造轮子”,第五个方面是通过案例demo来展示一下SeaTunnel强大的能力,第六是介绍 SeaTunnel 的 Roa
2024-07-01 22:38:07 162
转载 Apache SeaTunnel 究竟是什么?
Apache SeaTunnel的项目介绍是“一个高性能的、分布式的、大规模数据集成工具,提供了异构数据集成和数据同步的一体化解决方案。源连接器转换连接器目标连接器许多源连接器(Connector)可供选择;
2024-07-01 07:38:53 89
原创 用户画像实战:使用宽表存储画像标签
如果在线画像分析服务按照这样的数据模型组织标签数据,不可避免的需要 Join 多张标签表来完成多标签的过滤,这对于数据库产品开销太大。我们可以将相对稳定的标签表离线聚合成宽表,将多张表的关联操作转化成对一张表的过滤计算,新的标签列的场景可以通过增加列的方式实现
2024-06-30 21:56:33 1035
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关注的人