Temp123

ops/2025/1/18 19:20:30/

MapDB:的持久化机制,以及源码分析和摘取

1、spark streaming--struct streaming 基于 时间间隔 攒批

2、kafka-connect-hdfs 控制 flush.size 和 interval.ms控制 攒批

        - 完全自研 攒批机制

        - 使用 embeded 版  https://lxblog.com/qianwen/share?shareId=cc89bb1e-0a59-42ef-a420-6b9a6c35e816

多个sql并行查询的结果,能生成有多个attachment?

- DT-A: 入sqlite查询并上传minio

- DT-T: 下载minio并转换和hash分片 上传minio

- DT-S: 下载minio前一天的和当天的数据 对比 ,并入库,推送,归档

确定DT-A流式处理框架,是每多少条数据调用一次groovy脚本?

- 假如5w条数据,for循环是写在groovy脚本外好,还是写在groovy内部好

        - spark.readStream -> foreach line row -> call groovy?

        - spark.readStream -> foreach 5k batch row -> call groovy? -> foreach line row in 5k batch -> process(line row)

探索高效稳定的排序算法:GrailSort

3、项目及技术应用场景
GrailSort适用于各种需要稳定排序的场合,特别是那些对内存使用敏感或处理大数据量的项目:

内存受限环境:由于GrailSort能够在常数额外空间内工作,因此特别适合于资源有限的嵌入式系统。
大规模数据处理:对于百万级甚至亿级元素的数据集,GrailSort可以提供比std::stable_sort更好的性能。
数据挖掘:在需要对大量记录进行预处理和排序的分析任务中,GrailSort的效率尤为突出。
并行计算:由于其优秀的分治特性,GrailSort也适合作为并行排序算法的基础。
4、项目特点
稳定性:GrailSort保证了相等元素的相对顺序不会改变,这是许多应用所必需的特性。
内存效率:提供了多种内存管理策略,包括无额外空间、固定大小缓冲区和动态缓冲区,适应不同需求。
高性能:在测试中,尤其在数据集中键值分布不均时,GrailSort的运行速度可与std::stable_sort媲美,甚至在某些情况下更快。
易用性:通过简单的API设计,用户可以方便地将其集成到自己的项目中。
————————————————
                        
原文链接:https://blog.csdn.net/gitblog_00064/article/details/139367454

opentelemetry   【IT老齐432】可观测性,优雅零侵入,Spring Boot接入OpenTelemetry_哔哩哔哩_bilibili

算力平台log采集方案:

iLogtail 回顾视频:开源两周年,感恩遇见,畅想未来_哔哩哔哩_bilibili

借鉴hdfs的逻辑写一套minio追加写的客户端,主要是控制 间隔时间、行数、以及主动提交

8.flume实时监控文件hdfs sink使用演示_哔哩哔哩_bilibili

DT-A的级联分发是不用走落盘的,直接走网络传输

DTN DT-A数据采集,解决flume的级联方式,并且flume支持事务,保证数据的一致性,可扩展用于以后的数据对账使用

https://www.cnblogs.com/typ1805/p/10405313.html

https://www.cnblogs.com/xuziyu/p/11004103.html

https://download.csdn.net/blog/column/1488183/52622685

值得注意的是,Flume提供了大量内置的Source、Channel和Sink类型。不同类型的Source,Channel和Sink可以自由组合。组合方式基于用户设置的配置文件,非常灵活。

  比如:Channel可以把事件暂存在内存里,也可以持久化到本地硬盘上。Sink可以把日志写入HDFS, HBase,甚至是另外一个Source等等。Flume支持用户建立多级流,

  也就是说,多个agent可以协同工作,并且支持Fan-in、Fan-out、Contextual Routing、Backup Routes,这也正是Flume强大之处。如下图所示:

数据清洗:

pandas、tablesaw

去重:

探索数据清洗新境界:csvdedupe - 精准去重利器-CSDN博客

GitHub - dedupeio/dedupe: :id: A python library for accurate and scalable fuzzy matching, record deduplication and entity-resolution.

https://github.com/dedupeio/dedupe?tab=readme-ov-file

Dedupe 2.0.17 — dedupe 2.0.17 documentation

csvdedupe、csvlink、csvkit

对于比较100GB无序CSV数据这类大规模数据比较任务,直接在内存中操作可能不太现实,因此需要采取更高效和可扩展的方法。以下是一些建议:

### 1. 使用分布式计算框架
- **Apache Spark**:Spark是一个强大的分布式计算框架,擅长处理大规模数据集。你可以将CSV数据加载到DataFrame中,使用Spark的`join`、`subtract`等操作来比较数据集。Spark支持在内存中进行计算,如果数据太大,它会自动溢写到磁盘。此外,Spark SQL也提供了丰富的比较功能。

### 2. 分块处理
- 将CSV文件分割成多个小文件,然后逐个或并行处理这些小文件。这可以通过命令行工具(如split)预先处理,或者在读取时直接在程序中实现。处理完每个小块的数据比较后,汇总所有差异结果。

### 3. 外部排序
- 由于原始数据无序,直接比较困难,可以先对两个CSV文件进行排序(可以使用外部排序算法,因为数据量大,不适合一次性载入内存排序),然后再进行比较。虽然排序本身需要额外的时间和空间,但对于后续的差异检测会非常高效。

### 4. 使用数据库
- 导入CSV数据到数据库(如PostgreSQL、MySQL或大数据平台如Hadoop HDFS + Hive),利用数据库的比较和查询功能进行差异分析。数据库天生擅长处理大规模数据,并且提供丰富的SQL查询能力,可以方便地进行JOIN操作来发现差异。

### 5. 专用数据比较工具
- 一些专业的数据比较工具,如**DiffKit**或**Daff**,设计用于处理大规模数据集的比较,它们支持并行处理和高效的比较算法,适合处理GB甚至TB级别的数据。

### 6. MapReduce或Hadoop
- 如果你熟悉Hadoop生态系统,可以编写MapReduce作业来并行处理数据比较。将数据切分成块,Map阶段处理每一块内的比较,Reduce阶段整合差异结果。

### 7. Python + Dask
- Dask是一个并行计算库,适用于处理超出内存大小的数据集。结合Pandas,可以实现类似Spark的DataFrame操作,但更易于Python开发者上手。Dask可以将任务分解到多核CPU或分布式计算集群上执行。

### 注意事项
- 在处理前,确保有足够的磁盘空间用于临时文件和输出。
- 考虑数据的唯一标识符或键,这将直接影响比较的效率和准确性。
- 性能优化也很关键,比如使用高效的编码格式(如gzip压缩)来减少I/O开销,合理分配计算资源等。

综上所述,根据你的资源和技术栈选择最合适的方法,处理100GB无序CSV数据比较任务。


 

【JVM 监控工具】性能诊断--JProfiler的使用_逆流°只是风景-bjhxcc的博客-CSDN博客

lsieun | Every search begins with beginner’s luck. And every search ends with the victor’s being severely tested. – The AlchemistEvery search begins with beginner’s luck. And every search ends with the victor’s being severely tested. – The Alchemisthttps://lsieun.github.io/Pointofix,软件官网:https://www.pointofix.de/download.php



lsieun | Every search begins with beginner’s luck. And every search ends with the victor’s being severely tested. – The Alchemist

https://github.com/lsieunhttps://github.com/lsieun

java agent: GitHub - YorkHwang/exec-timer: 基于java agent实现无侵入方法执行时长打印

SkyWalking


http://www.ppmy.cn/ops/151165.html

相关文章

idea中远程调试中配置的参数说明

Ⅰ 远程调试中配置的端口号与服务本身端口号区别 一、远程调试中配置端口号的作用 在 IDEA 中进行远程调试时配置的端口号主要用于建立开发工具(如 IDEA)和远程服务之间的调试连接。当你启动远程调试时,IDEA 会监听这个配置的端口号&#xf…

tomcat状态一直是Exited (1)

docker run -di -p 80:8080 --nametomcat001 你的仓库地址/tomcat:9执行此命令后tomcat一直是Exited(1)状态 解决办法: 用以下命令创建运行 docker run -it --name tomcat001 -p 80:8080 -d 你的仓库地址/tomcat:9 /bin/bash最终结果 tomcat成功启动

Android Http基础:图片下载并显示和WebView的应用

<RelativeLayout xmlns:android“http://schemas.android.com/apk/res/android” xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:layout_height"match_parent"android:paddingLeft"dimen/ac…

【AcWing】蓝桥杯辅导课-递归与递推

目录 1、递归 1.1 递归实现指数型枚举 1.2 递归实现排列型枚举 1.3 递归实现组合型枚举 1.4 带分数 方法一 方法二 2、递推 2.1 简单斐波那契 2.2 费解的开关 2.3 翻硬币 2.4 飞行员兄弟 方法一 方法二 1、递归 递归就是在函数内部自己调用自己 我们以递归的形式…

Linux系统编程:深入理解计算机软硬件体系和架构

一、硬件体系 首先我们要知道&#xff0c;我们最常见的计算机&#xff08;笔记本&#xff09;以及我们不常见的计算机&#xff08;服务器&#xff09;其实本质上都是一堆硬件的结合&#xff1a;cpu、网卡、显卡、内存、磁盘、显示器、键盘…… 但他们并不是毫无章法地放在一起…

Android 12.0 息屏休眠后立即启动屏保功能实现

1.前言 在12.0的系统rom定制化开发中,在进行一些关于自定义屏保功能中,产品需要再息屏休眠的时候启动屏保功能,接下来 就需要分析监听息屏休眠的时候,启动屏保功能实现 2.息屏休眠后立即启动屏保功能实现的核心类 frameworks/base/services/core/java/com/android/serve…

速通Docker === 目录挂载 卷映射

目录 目录挂载 1. 目录挂载的基本概念 2. 挂载命令 3. 配置Nginx启动页 4. 注意事项 卷映射 1. 创建数据卷 2. 运行Nginx容器并挂载数据卷 3. 查找数据卷的宿主机路径 4. 修改配置文件 5. 重启Nginx容器 6. 验证Nginx是否正常工作 Docker挂载总结 目录挂载 卷…

C++学习记录

本文章建立在已学C语言的基础上 第一阶段 生成随机数函数&#xff1a;rand()。rand()%100指的是生成0~99的随机数。这样生成的随机数每次都是一样顺序出现的&#xff0c;为了防止这个问题出现&#xff0c;我们可以使用随机数种子&#xff0c;如下代码 #include<iostream&…