
大数据
文章平均质量分 73
dkjhl
大数据、java、数据库、前端、分布式、组件
展开
-
golang抓取tcp包的实现
这个示例代码打开指定的网络接口,设置过滤规则为 “tcp”,然后开始捕获 TCP 数据包。对于每个捕获到的数据包,它将检查是否为 TCP 数据包,并打印源地址、源端口、目标地址、目标端口和 TCP 数据的内容。要抓取 TCP 请求的数据包,你可以使用 `golang` 中的 `packet` 库和 `pcap` 库。go run tcp_packet_capture.go 请注意,执行此程序需要管理员权限或以 root 身份运行。原创 2023-08-24 17:18:39 · 1616 阅读 · 0 评论 -
golang无需创建新切片
golang避免创建一个新的切片并重新分配内存,保留了旧切片的底层数组,并且在需要时可以通过扩展底层数组而无需分配新的内存空间。原创 2023-08-24 16:34:32 · 840 阅读 · 0 评论 -
golang的类型断言语法
golang的类型断言语法原创 2023-08-24 16:26:15 · 804 阅读 · 0 评论 -
数据仓库常用名词汇总
数仓为了支撑企业或组织的决策和业务分析,而从各个业务系统中抽取数据集成到一个数据存储中心,这样的数据存储中心称为数据仓库(Data Warehouse),而在搭建数据仓库时,通常会采用一些命名规范,常见的有:ods、dim和dws。1. ODS:ODS全称是Operational Data Store,即运营数据存储层,是数据仓库中的一层,主要用于存储来自源系统的数据,该层保留着与业务相关的行为数据,通常不对数据进行聚合处理,也不进行数据清洗和格式转换。ODS主要是为数据仓库提供数据源。原创 2023-06-28 10:27:32 · 2104 阅读 · 0 评论 -
Clickhouse物化视图原理和使用详解
ClickHouse是一个高性能、列式存储的分布式数据库管理系统,支持SQL查询、OLAP分析及实时数据处理等应用场景。其中,物化视图是ClickHouse中一项重要的功能,它能够提高查询性能,并且数据管理更加高效。本篇文章,我将从源码层面分析ClickHouse的物化视图的工作原理,使用场景和使用方式介绍clickhouse的物化视图,并比较oracle的视图进行分析原创 2023-06-26 16:41:07 · 3149 阅读 · 2 评论 -
TCP、HTTP、Socket、Socket连接池解析
作为一名开发人员我们经常会听到HTTP协议、TCP/IP协议、UDP协议、Socket、Socket长连接、Socket连接池等字眼,然而它们之间的关系、区别及原理并不是所有人都能理解清楚,这篇文章就从网络协议基础开始到Socket连接池,一步一步解释他们之间的关系。这篇博文,旨在解释和说明各种协议的原理原创 2023-06-09 17:20:22 · 370 阅读 · 0 评论 -
数据湖和数据仓库区别介绍
数据湖(Data Lake)和数据库、数据仓库一样,都是数据存储的设计模式。数据库和数据仓库会以关系型的方式来设计存储、处理数据。但数据湖的设计理念是相反的,数据仓库是为了保障数据的质量、数据的一致性、数据的重用性等对数据进行结构化处理。数据湖是一个数据存储库,可以使用数据湖来存储大量的原始数据。现在企业的数据仓库都会通过分层的方式将数据存储在文件夹、文件中,而数据湖使用的是平面架构来存储数据。我们需要做的只是给每个数据元素分配一个唯一的标识符,并通过元数据标签来进行标注。当企业中出现业务问题时,可以从原创 2023-06-07 16:01:58 · 1852 阅读 · 0 评论 -
大数据架构系列:如何理解湖仓一体?
无论是数据湖还是数据仓库最后还是面向于解决用户的问题,用户要的其实是数据里的信息,依赖于湖和仓的数据摄取、存储、计算能力主要是因为海量多元的数据,如果用户数据小业务简单完全可以用本地Excel导入数据进行各种有效分析。以下讨论数据湖、数据仓库、湖仓一体都是基于用户的数据是海量且复杂多元的。原创 2023-06-07 14:14:21 · 573 阅读 · 0 评论 -
Golang处理内存溢出
golang程序在高并发场景下,主程序异常退出,可能是内存泄露导致,本文主要介绍一些常用工具来定位是否是内存溢出,以及如何使用这些工具原创 2023-06-07 11:22:39 · 1594 阅读 · 0 评论 -
golang实现守护进程(3)—
在操作系统中,每个进程都有自己的进程ID(PID),父进程ID(PPID)等信息。如果一个进程已经退出,但它的、它的资源和状态还留在系统中,这种进程被称为“僵尸进程”。僵尸进程不占用CPU时间和内存资源,但它们占用系统的进程表,因此可以说是一种资源泄漏。那么如何正确处理僵尸进程呢,golang语言中的os.exec包自带回收僵尸进程的处理逻辑,我们只要在子进程中添加对应的逻辑即可原创 2023-05-08 10:39:00 · 2423 阅读 · 2 评论 -
golang实现守护进程(2)
golang实现守护进程,包含功能:1. 守护进程只创建一次2. 平滑创建业务进程3. 业务进程挂起,守护进程能监听,并重启新启业务进程4. 守护进程退出,也能保证业务进程退出5. 业务进程≈子进程6. 不影响业务进程逻辑7. 以Linux平台为主,其他平台暂时没有实施条件原创 2023-03-21 17:39:17 · 1357 阅读 · 2 评论 -
golang实现守护进程(1)
golang实现守护进程,包含功能:1. 守护进程只创建一次2. 平滑创建业务进程3. 业务进程挂起,守护进程能监听,并重启新启业务进程4. 守护进程退出,也能保证业务进程退出5. 业务进程≈子进程6. 不影响业务进程逻辑7. 以Linux平台为主,其他平台暂时没有实施条件原创 2023-03-21 16:23:48 · 1378 阅读 · 0 评论 -
oracle游标
oracle的游标简介:主要介绍游标的类型,静态游标、动态游标、显示游标、隐式游标,以及不同游标在不同场景的使用,顺便与postgre结合操作;同时介绍了游标属性,以及不同场景的替换过程原创 2023-03-19 17:22:30 · 706 阅读 · 0 评论 -
golang编译Arm64版本出现 “undefined: syscall.Dup2”解决方式
由于系统架构需要,同一个项目需要编译成不同的版本,在amd64架构下编译通过,但是在arm64架构下,编译出现“undefined: syscall.Dup2”问题..\..\github\vkcom\engine-go@v0.0.0\srvfunc\common.go:169:2: undefined: syscall.Dup2在 Arm 架构中,没有提供 Dup2 的方法,因此出现以上编译问题。原创 2023-03-16 16:03:13 · 1939 阅读 · 0 评论 -
Airbyte分享
Airbyte,一家专注于 ELT 管道的开源数据集成平台,Airbyte 最主要的产品还是 Extract 数据抽取和 Load 数据加载产品。简单来说,就是利用连接器 (Connector) 连通多平台间的数据,其逻辑是平台连接的数据源越多,平台越稳定,而平台就会拥有壁垒。其次,Airbyte 也提供 Transform (数据转换) 产品,实际上 Transform 数据转换产品 Airbyte 也是集成了 Dbt 这样一个开源工具原创 2022-07-06 18:09:50 · 7545 阅读 · 2 评论 -
golang解决包无法引入问题
golang 解决包无法引入的问题,设置GO111MODULE,设置GOPROXY解决 dial tcp: lookup proxy.golang.org: no such host 以及dial tcp: lookup proxy.golang.org: getaddrinfow: did not receive a response from an authoritative server等问题原创 2023-03-14 11:07:28 · 2407 阅读 · 2 评论