diff --git a/935618a04697874b38ab1332296451c.png b/935618a04697874b38ab1332296451c.png new file mode 100644 index 0000000..99e5434 Binary files /dev/null and b/935618a04697874b38ab1332296451c.png differ diff --git a/Pasted image 20250206161739.png b/Pasted image 20250206161739.png new file mode 100644 index 0000000..b826986 Binary files /dev/null and b/Pasted image 20250206161739.png differ diff --git a/Pasted image 20250210112334.png b/Pasted image 20250210112334.png new file mode 100644 index 0000000..451fa42 Binary files /dev/null and b/Pasted image 20250210112334.png differ diff --git a/日常学习/中间件/flink/flink-sql.md b/日常学习/中间件/flink/flink-sql.md new file mode 100644 index 0000000..fc37ea5 --- /dev/null +++ b/日常学习/中间件/flink/flink-sql.md @@ -0,0 +1,5 @@ ++ 读取 kafka 数据源(source) 插入模式 +![[935618a04697874b38ab1332296451c.png]] + ++ 写入 kafka 数据源(slink) upsert模式 (设置主键) +![[Pasted image 20250210112334.png]] \ No newline at end of file diff --git a/日常学习/中间件/kafka/消费者参数.md b/日常学习/中间件/kafka/消费者参数.md new file mode 100644 index 0000000..5870711 --- /dev/null +++ b/日常学习/中间件/kafka/消费者参数.md @@ -0,0 +1,18 @@ +[Kafka快速入门(Kafka消费者)-腾讯云开发者社区-腾讯云](https://cloud.tencent.com/developer/article/2218267) + +| 参数名称 | 说明 | +| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| bootstrap.servers | 向Kafka集群建立初始连接用到的host/port列表 | +| key.deserializer和value.deserializer | 指定接收消息的key和value的反序列化类型。一定要写全类名 | +| group.id | 标记消费者所属的消费者组 | +| enable.auto.commit | 默认值为true,消费者会自动周期性地向服务器提交偏移量 | +| auto.commit.interval.ms | 如果设置了 enable.auto.commit 的值为true, 则该值定义了消费者偏移量向Kafka提交的频率,默认5s | +| auto.offset.reset | 当Kafka中没有初始偏移量或当前偏移量在服务器中不存在(如,数据被删除了),该如何处理?earliest:自动重置偏移量到最早的偏移量。latest:默认,自动重置偏移量为最新的偏移量。none:如果消费组原来的(previous)偏移量不存在,则向消费者抛异常。anything:向消费者抛异常 | +| offsets.topic.num.partitions | __consumer_offsets 的分区数,默认是 50 个分区 | +| heartbeat.interval.ms | Kafka 消费者和 coordinator 之间的心跳时间,默认 3s。该条目的值必须小于 session.timeout.ms ,也不应该高于session.timeout.ms的 1/3 | +| session.timeout.ms | Kafka 消费者和 coordinator 之间连接超时时间,默认 45s。超过该值,该消费者被移除,消费者组执行再平衡 | +| max.poll.interval.ms | 消费者处理消息的最大时长,默认是 5 分钟。超过该值,该消费者被移除,消费者组执行再平衡 | +| fetch.min.bytes | 默认 1 个字节。消费者获取服务器端一批消息最小的字节数 | +| fetch.max.wait.ms | 默认 500ms。如果没有从服务器端获取到一批数据的最小字节数。该时间到,仍然会返回数据 | +| fetch.max.bytes | 默认Default:52428800(50m)。消费者获取服务器端一批消息最大的字节数。如果服务器端一批次的数据大于该值(50m)仍然可以拉取回来这批数据,因此,这不是一个绝对最大值。一批次的大小受 message.max.bytes (broker config)ormax.message.bytes(topicconfig)影响 | +| max.poll.records | 一次 poll 拉取数据返回消息的最大条数,默认是 500 条 | diff --git a/日常学习/中间件/seatunnel/任务分配机制.md b/日常学习/中间件/seatunnel/任务分配机制.md new file mode 100644 index 0000000..ab66f02 --- /dev/null +++ b/日常学习/中间件/seatunnel/任务分配机制.md @@ -0,0 +1,47 @@ +2.3.8 版本及以前版本,会从所有节点中随机选择节点来运行任务。每个任务需要的slot=2+N(并行度)。默认情况下slot为动态不限制个数(也可以设置为固定值)。 +官方计划添加2种slot分配机制 ([[Feature][Core] Add slot allocation strategy · Issue #8205 · apache/seatunnel](https://github.com/apache/seatunnel/issues/8205)): ++ SLOT_RATIO : 通过计算slot使用率=(总槽数-未分配的槽数)/总槽数 ++ SYSTEM_LOAD : +![[Pasted image 20250206161739.png]] + +翻译如下: +1. 时间权重设计 +时间权重反映了时间因素对调度优先级的影响: +* 最近的数据被赋予更高的权重,而历史数据逐渐衰减。 +* 使用4,2,2,2,1,1的分布来归一化每个数据点的时间权重计算如下: + 时间权重比=当前权重/10 +对于启动时少于5个数据点的集群,将单独应用规范化,并根据需要进行动态调整。 +2. 资源利用率计算 +CPU和内存利用率与加权评估相结合,以获得整体资源空闲率: +资源空闲率=(1-CPU利用率)*CPU权重+(1-内存利用率)*内存权重 +(1 - CPU Utilization) 和 (1 - Memory Utilization) 代表空闲率。 +CPU和内存权重根据特定需求可调(例如,0.6和0.4)以适应各种场景。 +1. 时间衰减和调度优先级公式 +考虑到时间权重的衰减,调度优先级的公式是: +总体资源空闲率=\sum_{i=1}^{5}((1-CPU利用率_i)*CPU权重+(1-内存利用率_i)*内存权重)*时间权重_i)/(CPU权重+内存权重) +2. 动态调整槽分配的资源空闲率 +在分配多个槽时,考虑实时更新和资源状态的动态模拟(因为资源消耗不会在槽分配后立即改变): +每槽资源使用比率=(1-总资源空闲率)*已分配槽的数量 +在槽分配之后,对应节点的空闲率会更新: +后槽分配空闲率=总资源空闲率-每槽资源使用比率 +默认情况下,假设单个槽消耗10%的资源。这种假设可以防止在初始部署期间由于缺乏精确的使用数据而导致单个节点过度分配资源。随后的监控将细化这些估计。 +这种方法确保了调度更准确地反映实际资源使用情况。 +3. 引入平衡因子 +仅基于槽分配的动态调整可能会引入不准确性。为了衡量节点的当前负载并防止资源过于集中,引入了一个基于槽数量的平衡因子: +平衡因子_i=1-S_used,i/S_total,i +S_used,i: 已分配给节点 i 的槽数量 +S_total,i: 节点 i 上的总槽数量 +调度优先级通过平衡因子进行调整: +W_i = α·Post-Slot Allocation Idle Rate_i + β·BalanceFactor_i +参数解释: +α: 强调资源利用率的权重(例如,0.7)。 +β: 用于防止单个节点过载的平衡因子的权重(例如,0.3)。 +4. 动态调整逻辑 +定期收集CPU和内存利用率,维护最新的5个数据点。 +动态更新同一任务的权重,逐步降低较旧数据的权重。 +根据槽使用情况动态调整。 +示例: +假设有两个节点需要10个槽: +* 节点A有10个空闲槽。 +* 节点B有20个空闲槽。 +根据第4步和第5步的计算,如果节点A始终比节点B具有更高的权重,那么仍然应该将资源分配给节点A。这个结果可能表明集群配置不佳(例如,工作者节点上的槽不足)。 diff --git a/日常学习/中间件/seatunnel/整体架构及运行原理.md b/日常学习/中间件/seatunnel/整体架构及运行原理.md new file mode 100644 index 0000000..8803109 --- /dev/null +++ b/日常学习/中间件/seatunnel/整体架构及运行原理.md @@ -0,0 +1 @@ +[Apache SeaTunnel 整体架构运行原理 - OSCHINA - 中文开源技术交流社区](https://my.oschina.net/SeaTunnel/blog/17504110) diff --git a/日常学习/大模型/腾讯OlaChat NL2SQL.md b/日常学习/大模型/腾讯OlaChat NL2SQL.md new file mode 100644 index 0000000..b9a9ace --- /dev/null +++ b/日常学习/大模型/腾讯OlaChat NL2SQL.md @@ -0,0 +1,2 @@ +[腾讯基于 LLM 的智能数据分析平台 OlaChat 的落地实践__财经头条](https://t.cj.sina.com.cn/articles/view/2674405451/9f68304b019015va0) + diff --git a/未命名 11.canvas b/未命名 11.canvas new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/未命名 11.canvas @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/本机环境/开发环境.md b/本机环境/开发环境.md index b02b606..66487aa 100644 --- a/本机环境/开发环境.md +++ b/本机环境/开发环境.md @@ -20,7 +20,6 @@ http://localhost:7474/ neo4j/clone-formula-shelf-hair-neptune-3446 + sqlserver 2008 sa/root@123 + kafka - ```shell docker pull zookeeper docker pull wurstmeister/kafka @@ -33,10 +32,6 @@ docker volume create kafka_vol docker run -d --name kafka-test -p 9092:9092 \ --link zookeeper-test \ --env KAFKA_ZOOKEEPER_CONNECT=zookeeper-test:2181 \ --env KAFKA_ADVERTISED_HOST_NAME=localhost \ --env KAFKA_ADVERTISED_PORT=9092 \ --env KAFKA_LOG_DIRS=/kafka/logs \ -v kafka_vol:/kafka \ wurstmeister/kafka ``` -```shell -docker run -d --name kafka-test -p 9092:9092 \ --link zookeeper-test \ --env KAFKA_ZOOKEEPER_CONNECT=zookeeper-test:2181 \ --env KAFKA_ADVERTISED_HOST_NAME=localhost \ --env KAFKA_ADVERTISED_PORT=9092 \ --env KAFKA_LOG_DIRS=/kafka/logs \ -v kafka_vol:/kafka \ wurstmeister/kafka -``` - + minio http://localhost:9000 admin/admin123 ```shell docker pull minio/minio @@ -168,7 +163,7 @@ $ docker-compose --profile all up -d + dify (windwos) -参考文档 [Deploy with Docker Compose | Dify](https://docs.dify.ai/getting-started/install-self-hosted/docker-compose) +参考文档 [Deploy with Docker Compose | Dify](https://docs.dify.ai/getting-started/install-self-hosted/docker-compose) 访问地址:http://localhost 892955278@msn.cn / ruirui920917@ ```text cd E:\code\opensource\dify\docker docker compose up -d diff --git a/项目/盛视科技/中山港数据中台.md b/项目/盛视科技/中山港数据中台.md index 78a7950..c0e9048 100644 --- a/项目/盛视科技/中山港数据中台.md +++ b/项目/盛视科技/中山港数据中台.md @@ -10,11 +10,9 @@ http://172.31.51.150:7001/access/login http://172.31.51.165:7001/access/login 登录账号:admin 1234abcd - 本机获取token [10.2.0.2:8096/dataintegration/auth/accessToken](http://10.2.0.2:8096/dataintegration/auth/accessToken) - 启动数据集成连接检测工具 ```shell nohup /home/jdk-11.0.20/bin/java -jar -Dspring.profiles.active=prod dcm-dataIntegration.jar >/dev/null 2>&1 &