当前位置: 首页 > news >正文

Kafka和其他组件的整合

Kafka和其他组件的整合

1.Kafka和Flume的整合

需求1:利用flume监控某目录中新生成的文件,将监控到的变更数据发送给kafka,kafka将收到的数据打印到控制台:

在flume/conf下添加.conf文件,

vi flume-kafka.conf

# 定义 Agent 组件

a1.sources=r1

a1.sinks=k1

a1.channels=c1

# 配置 Source(监控目录)

a1.sources.r1.type=spooldir

a1.sources.r1.spoolDir=/root/flume-kafka/

a1.sources.r1.inputCharset=utf-8

# 配置 Sink(写入 Kafka)

a1.sinks.k1.type=org.apache.flume.sink.kafka.KafkaSink

#指定写入数据到哪一个topic

a1.sinks.k1.kafka.topic=testTopic

#指定写入数据到哪一个集群

a1.sinks.k1.kafka.bootstrap.servers=node01:9092,node02:9092,node03:9092

#指定写入批次

a1.sinks.k1.kafka.flumeBatchSize=20

#指定acks机制

a1.sinks.k1.kafka.producer.acks=1

# 配置 Channel(内存缓冲)

a1.channels.c1.type=memory

a1.channels.c1.capacity=1000

# 最大存储 1000 个 Event

a1.channels.c1.transactionCapacity=100

# 每次事务处理 100 个 Event

a1.sources.r1.channels=c1

a1.sinks.k1.channel=c1

在指定目录之下创建文件夹:

kafka中创建topic:

kafka-topics.sh --create --zookeeper node01:2181,node02:2181,node03:2181 --topic testTopic --partitions 3 --replication-factor 3

启动flume:

flume-ng agent -c /opt/software/flume/conf/ -f /opt/software/flume/conf/flume-kafka.conf -n a1 -Dflume.root.logger=INFO,console

启动kafka消费者,验证数据写入成功

kafka-console-consumer.sh --topic testTopic --bootstrap-server node01:9092,node02:9029,node03:9092 --from-beginning

新增测试数据:

echo "hello flume,hello kafka" >> /root/flume-kafka/1.txt

flume:

Kafka消费者:

需求2:Kafka生产者生成的数据利用Flume进行采集,将采集到的数据打印到Flume的控制台上。

vi kafka-flume.conf

# 定义 Agent 组件

a1.sources=r1

a1.sinks=k1

a1.channels=c1

# 将 Flume Source 设置为 Kafka 消费者,从指定 Kafka 主题拉取数据。

a1.sources.r1.type=org.apache.flume.source.kafka.KafkaSource

#指定zookeeper集群地址

a1.sources.r1.zookeepers=node01:2181,node02:2181,node03:2181

#指定kafka集群地址

a1.sources.r1.kafka.bootstrap.servers=node01:9092,node02:9092,node03:9092

#指定生成消息的topic

a1.sources.r1.kafka.topics=testTopic

# 将 Flume 传输的数据内容直接打印到日志中,

a1.sinks.k1.type=logger

# 配置 Channel(内存缓冲)

a1.channels.c1.type=memory

a1.channels.c1.capacity=1000

a1.channels.c1.transcationCapacity=100

a1.sources.r1.channels=c1

a1.sinks.k1.channel=c1

启动Kafka生产者

kafka-console-producer.sh --broker-list node01:9092,node02:9092,node03:9092 --topic testTopic

启动Flume

flume-ng agent -c /opt/software/flume/conf/ -f /opt/software/flume/conf/kafka-flume.conf -n a1 -Dflume.root.logger=INFO,console

在生产者中写入数据

Flume中采集到数据

2.Kafka和SparkStreaming的整合

导包。

<dependency>

            <groupId>org.apache.spark</groupId>

            <artifactId>spark-streaming-kafka_2.11</artifactId>

            <version>1.6.2</version>

        </dependency>

代码实现。

def main(args: Array[String]): Unit = {

  val conf = new SparkConf()

  .setNode01("local[*]")

  .setAppName(this.getClass.getSimpleName)

  val ssc=  new StreamingContext(conf,Seconds(2))

  // kafka的参数配置

  val kafkaParams = Map[String, Object](

    "bootstrap.servers" -> "node01:9092,node02:9092,node03:9092",

    "key.deserializer" -> classOf[StringDeserializer],

    "value.deserializer" -> classOf[StringDeserializer],

    "group.id" -> "hello_topic_group",

    "auto.offset.reset" -> "earliest",

    "enable.auto.commit" -> (false: java.lang.Boolean)

  )

  val topics = Array("helloTopic3")

//指定泛型的约定[String, String] key value

  val stream: InputDStream[ConsumerRecord[String, String]] =     KafkaUtils.createDirectStream[String, String](

    ssc,

    PreferConsistent,

    Subscribe[String, String](topics, kafkaParams)

  )

  stream.foreachRDD(rdd=>{

    rdd.foreach(println)

  })

  ssc.start()

  ssc.awaitTermination()

}

利用Redis维护偏移量。使用Spark消费Kafka中的数据。

val config = ConfigFactory.load()

val conf = new SparkConf()

  .setNode01("local[*]")

  .setAppName(this.getClass.getSimpleName)

val ssc = new StreamingContext(conf, Seconds(3))

val groupId = "hello_topic_group"

val topic = "helloTopic7"

val topicArr = Array(topic)

val kafkaParams = Map[String, Object](

  "bootstrap.servers" -> "node01:9092,node02:9092,node03:9092",

  "key.deserializer" -> classOf[StringDeserializer],

  "value.deserializer" -> classOf[StringDeserializer],

  "group.id" -> groupId,

  "auto.offset.reset" -> "earliest",

  // 是否可以自动提交偏移量   自定义

  "enable.auto.commit" -> (false: java.lang.Boolean)

)

// 需要设置偏移量的值

val offsets = mutable.HashMap[TopicPartition, Long]()

// 从redis中获取到值

val jedis1 = JedisPoolUtils.getJedis()

val allPO: util.Map[String, String] = jedis1.hgetAll(groupId + "-" + topic)

// 导入转换

import scala.collection.JavaConversions._

for(i<- allPO){

  // 主题 和分区  ->  offset

  offsets += (new TopicPartition(topic,i._1.toInt) -> i._2.toLong)

}

val stream: InputDStream[ConsumerRecord[String, String]] = KafkaUtils.createDirectStream[String, String](

  ssc,

  LocationStrategies.PreferConsistent,

  Subscribe[String, String](topicArr, kafkaParams, offsets)

)

stream.foreachRDD(rdd => {

  // rdd ConsumerRecord[String, String]

  val ranges: Array[OffsetRange] = rdd.asInstanceOf[HasOffsetRanges].offsetRanges

  val result = rdd.map(_.value()).map((_, 1)).reduceByKey(_ + _)

  result.foreachPartition(it => {

    val jedis = JedisPoolUtils.getJedis()

    it.foreach(tp => jedis.hincrBy("streamkfkwc", tp._1, tp._2))

    // 等迭代器中的数据,全部完成之后,再关

    jedis.close()

  })

  // 把偏移量的Array  写入到redis中

  val jedis = JedisPoolUtils.getJedis()

  ranges.foreach(t => {

    jedis.hset(groupId + "-" + t.topic, t.partition.toString, t.untilOffset + "")

  })

  jedis.close()

})

ssc.start()

ssc.awaitTermination()

DStream转换

DStream 上的操作与 RDD 的类似,分为 Transformations(转换)和 Output Operations(输出)两种,此外转换操作中还有一些比较特殊的原语,如:updateStateByKey()、transform()以及各种 Window 相关的原语。

无状态转化操作

无状态转化操作就是把简单的 RDD 转化操作应用到每个批次上,也就是转化 DStream 中的每一个 RDD。部分无状态转化操作列在了下表中。

注意,针对键值对的 DStream 转化操作(比如reduceByKey())要添加

import StreamingContext._才能在 Scala 中使用。

需要记住的是,尽管这些函数看起来像作用在整个流上一样,但事实上每个 DStream 在内部是由许多 RDD(批次)组成,且无状态转化操作是分别应用到每个 RDD 上的。

例如:reduceByKey()会归约每个时间区间中的数据,但不会归约不同区间之间的数据。

Transform

Transform 允许 DStream 上执行任意的 RDD-to-RDD 函数。即使这些函数并没有在 DStream的 API 中暴露出来,通过该函数可以方便的扩展 Spark API。该函数每一批次调度一次。其实也就是对 DStream 中的 RDD 应用转换。

val sparkConf = new SparkConf().setMaster("local[*]").setAppName("transform")
val ssc = new StreamingContext(sparkConf,Seconds(3))

val lineDStream :ReceiverInputDStream[String] = ssc.socketTextStream("node01",9999)
val wordAndCountDStream :DStream[(String,Int)] = lineDStream.transform(rdd => {
  val words :RDD[String] = rdd.flatMap(_.split(" "))
  val wordAndOne :RDD[(String,Int)] = words.map((_,1))
  val value :RDD[(String,Int)] = wordAndOne.reduceByKey(_+_)
  value
})
wordAndCountDStream.print()

ssc.start()
ssc.awaitTermination()

join

两个流之间的 join 需要两个流的批次大小一致,这样才能做到同时触发计算。计算过程就是对当前批次的两个流中各自的 RDD 进行 join,与两个 RDD 的 join 效果相同。

val sparkConf = new SparkConf().setMaster("local[*]").setAppName("join")
val ssc = new StreamingContext(sparkConf,Seconds(3))

val lineDStream1 :ReceiverInputDStream[String] = ssc.
  socketTextStream("node01",9999)
val lineDStream2 :ReceiverInputDStream[String] = ssc.
  socketTextStream("node02",8888)

val wordToOneDStream :DStream[(String,Int)] = lineDStream1
  .flatMap(_.split(" ")).map((_,1))

val wordToADstream :DStream[(String,String)] = lineDStream2
  .flatMap(_.split(" ")).map((_,"a"))

val joinDStream :DStream[(String,(Int,String))]=wordToOneDStream
  .join(wordToADstream)

joinDStream.print()

ssc.start()
ssc.awaitTermination()

相关文章:

Kafka和其他组件的整合

Kafka和其他组件的整合 1.Kafka和Flume的整合 需求1&#xff1a;利用flume监控某目录中新生成的文件&#xff0c;将监控到的变更数据发送给kafka&#xff0c;kafka将收到的数据打印到控制台&#xff1a; 在flume/conf下添加.conf文件&#xff0c; vi flume-kafka.conf # 定…...

学习AI必知的20大概念

&#x1f3af;AI开发者必知的20大概念 ​&#x1f916; 机器学习&#xff1a;基础算法和模型训练。 &#x1f9e0; 深度学习&#xff1a;复杂表示学习。 &#x1f310; 神经网络&#xff1a;非线性关系建模。 &#x1f5e3;️ NLP&#xff1a;文本处理和理解。 &#x1f441;️…...

VRRP与防火墙双机热备实验

目录 实验一&#xff1a;VRRP负载均衡与故障切换 实验拓扑​编辑一、实验配置步骤 1. 基础网络配置 2. VRRP双组配置 二、关键验证命令 1. 查看VRRP状态 2. 路由表验证 三、流量分析 正常负载均衡场景&#xff1a; 故障切换验证&#xff1a; 实验二&#xff1a;防火…...

【金仓数据库征文】——选择金仓,选择胜利

目录 第一部分&#xff1a;金仓数据库——开创数据库技术的新时代 1.1 金仓数据库的技术底蕴 1.2 高可用架构与灾备能力 1.3 分布式架构与弹性扩展能力 第二部分&#xff1a;金仓数据库助力行业数字化转型 2.1 电信行业&#xff1a;核心系统国产化替代 2.2 医疗行业&…...

微软官网Win10镜像下载快速获取ISO文件

如何从微软官网轻松下载win10镜像&#xff1f;win10镜像的下载方式主要包括两种&#xff1a; 目录 一&#xff1a;借助官方工具 二&#xff1a;直接微软官网通过浏览器进行下载。 三&#xff1a;实现方法与步骤&#xff1a; 1&#xff1a;利用微软官方提供的MediaCreationT…...

发放优惠券

文章目录 概要整体架构流程技术细节小结 概要 发放优惠券 处于暂停状态&#xff0c;或者待发放状态的优惠券&#xff0c;在优惠券列表中才会出现发放按钮&#xff0c;可以被发放&#xff1a; 需求分析以及接口设计 需要我们选择发放方式&#xff0c;使用期限。 发放方式分…...

【专题刷题】二分查找(二)

&#x1f4dd;前言说明&#xff1a; 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录&#xff0c;按专题划分每题主要记录&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代码&#xff1b;&#xff08;2&#xff09;优质解法 优质代码&#xff1b;&#xff…...

如何避免IDEA每次打开新项目都重复配置Maven?

每次打开新项目都要重新设置Maven路径&#xff1f;每次导入工程都要手动调整settings.xml&#xff1f;如果你也受够了IDEA这种“健忘”行为&#xff0c;那么这篇文章就是为你准备的&#xff01;今天我们就来彻底解决这个问题&#xff0c;让IDEA记住你的Maven配置&#xff0c;一…...

【Linux网络编程】应用层协议HTTP(实现一个简单的http服务)

目录 前言 一&#xff0c;HTTP协议 1&#xff0c;认识URL 2&#xff0c;urlencode和urldecode 3&#xff0c;HTTP协议请求与响应格式 二&#xff0c;myhttp服务器端代码的编写 HTTP请求报文示例 HTTP应答报文示例 代码编写 网络通信模块 处理请求和发送应答模块 结…...

深度解析之算法之分治(快排)

44.颜色分类 题目链接 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums &#xff0c;原地 对它们进行排序&#xff0c;使得相同颜色的元素相邻&#xff0c;并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置…...

【金仓数据库征文】-金仓数据库性能调优 “快准稳” 攻略:实战优化,让数据处理飞起来

我的个人主页 我的专栏&#xff1a; 人工智能领域、java-数据结构、Javase、C语言&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01; 点赞&#x1f44d;收藏❤ 目录 一、KingbaseES金仓数据库简介二、快速入门&#xff1a;金仓数据库下载与安装指南三、“快”…...

DPIN河内AI+DePIN峰会:共绘蓝图,加速构建去中心化AI基础设施新生态

近日&#xff0c;一场聚焦前沿科技融合的盛会——AIDePIN峰会在越南河内成功举办。此次峰会由DPIN、QPIN及42DAO等Web3领域的创新项目联合组织&#xff0c;汇聚了众多Web3行业领袖、技术专家与社区成员。峰会于2025年4月19日举行&#xff0c;其核心议题围绕去中心化物理基础设施…...

vscode和git 踩坑

git init经常 在 vscode push错误问题: 正确姿势&#xff1a;先 GitHub 上建仓库 → git clone 拉到本地 → 再用 VSCode 打开编辑 ❌ 不是&#xff1a;VSCode 里 git init → 再去 GitHub 选个仓库绑定 举个对比 操作流程是否推荐后果GitHub 创建仓库 → git clone → 用 VSC…...

C++11介绍

目录 一、C11的两个小点 1.1、decltype 1.2、nullptr 二、列表初始化 2.1、C98传统的{} 2.2、C11中的{} 2.3、C11中的std::initializer_list 三、右值引用和移动语义 3.1、左值和右值 3.2、左值引用和右值引用 3.3、引用延长生命周期 3.4、左值和右值的参数匹配 3…...

AI数字人:繁荣背后的伦理困境与法律迷局(8/10)

摘要&#xff1a;本文深入剖析 AI 数字人从虚拟走向现实的历程&#xff0c;阐述其融合多技术实现从静态到动态交互的跨越&#xff0c;爆发式应用于各领域带来的商业价值与社会影响&#xff0c;同时直面由此引发的伦理法律挑战&#xff0c;包括身份认同、数据隐私、责任归属及权…...

SOLID 原则在单片机环境下的 C 语言实现示例,结合嵌入式开发常见场景进行详细说明

1. 单一职责原则 (SRP) 定义:一个模块(函数/文件)只负责一个功能。 示例:传感器数据采集与处理分离 // SensorAdc.h - 仅负责ADC原始数据采集 typedef struct { uint16_t (*ReadRaw)(void); // 原始数据读取接口 } SensorAdc; // SensorProcessor.h - 仅负责数据处理…...

RT Thread 发生异常时打印输出cpu寄存器信息和栈数据

打印输出发生hardfault时,当前栈十六进制数据和cpu寄存器信息 在发生 HardFault 时,打印当前栈的十六进制数据和 CPU 寄存器信息是非常重要的调试手段。以下是如何实现这一功能的具体步骤和示例代码。 1. 实现 HardFault 处理函数 我们需要在 HardFault 中捕获异常上下文,…...

SQL 函数进行左边自动补位fnPadLeft和FORMAT

目录 1.问题 2.解决 方式1 方式2 3.结果 1.问题 例如在SQL存储过程中&#xff0c;将1 或10 或 100 长度不足的时候&#xff0c;自动补足长度。 例如 1 → 001 10→ 010 100→100 2.解决 方式1 SELECT FORMAT (1, 000) AS FormattedNum; SELECT FORMAT(12, 000) AS Form…...

Unity中数据和资源加密(异或加密,AES加密,MD5加密)

在项目开发中,始终会涉及到的一个问题,就是信息安全,在调用接口,或者加载的资源,都会涉及安全问题,因此就出现了各种各样的加密方式。 常见的也是目前用的最广的加密方式,分别是:DES、3DES、AES、MD5、XOR(异或) 其中DES、3DES、AES、MD5用在数据加密中偏多,特别是…...

C++初窥门径

const关键字 一、const关键字 修饰成员变量 常成员变量&#xff1a;必须通过构造函数的初始化列表进行初始化&#xff0c;且初始化后不可修改。 示例&#xff1a; class Student { private: const int age; // 常成员变量 public: Student(string name, int age) : age(ag…...

Spring知识点总结

目录 1.什么是spring&#xff1f;你对spring的理解&#xff1f; 2.spring的优缺点&#xff1f; 3.解释一下IOC和AOP&#xff1f; 4.IOC和DI的区别&#xff1f; 5.spring中管理对象注入的方式&#xff1f; 6.自动注入的注解有哪些&#xff1f; 声明bean的注解 Bean的生命…...

Oracle_开启归档日志和重做日志

在Oracle中&#xff0c;类似于MySQL的binlog的机制是归档日志&#xff08;Archive Log&#xff09;和重做日志&#xff08;Redo Log&#xff09; 查询归档日志状态 SELECT log_mode FROM v$database; – 输出示例&#xff1a; – LOG_MODE – ARCHIVELOG (表示已开启) – NO…...

【金仓数据库征文】-数据库界新兴前列者,本篇带你速懂金仓数据库!

最近写课程设计、搞毕设是不是被数据库折腾到崩溃&#xff1f;动不动就报错、数据迁移还超麻烦&#xff01;今天挖到个宝藏 —— 国产金仓数据库 KingbaseES&#xff0c;操作超简单&#xff0c;还自带 “翻译器” 帮你迁移数据&#xff01;性能强还稳定&#xff0c;关键完全免费…...

人工智能与机器学习,谁是谁的子集 —— 再谈智能的边界与演进路径

人工智能&#xff08;Artificial Intelligence, AI&#xff09;作为当代最具影响力的前沿技术之一&#xff0c;常被大众简化为 “深度学习” 或 “大模型” 等标签。然而&#xff0c;这种简化认知往往掩盖了AI技术内部结构的复杂性与多样性。事实上&#xff0c;AI并非单一方法的…...

Linux进程学习【进程状态】

&#x1f33c;&#x1f33c;前言&#xff1a;在操作系统中&#xff0c;进程是最基本的资源管理单位&#xff0c;而操作系统通过精确管理这些进程的状态来确保系统能够高效运行。进程的状态不仅仅是操作系统设计的一部分&#xff0c;它对系统的性能、稳定性以及资源的分配起着至…...

用 ESP32 模拟 Wiegand 刷卡器:开发门禁系统必备的小工具

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

什么是 MCP?与 AI Agent 的关系是什么?

首先先回答一下什么是MCP&#xff1f; 如果你经常使用像Claude这样的大语言模型&#xff0c;你可能已经注意到它们虽然强大&#xff0c;但有时候也有局限性&#xff0c;比如无法获取实时信息或访问特定工具。 模型上下文协议&#xff08;Model Context Protocol&#xff0c;简…...

Python ZIP文件操作全解析:从基础压缩到高级技巧

目录 一、ZIP文件操作基础三板斧 1.1 创建压缩包 1.2 解压操作 1.3 文件遍历与信息获取 二、进阶技巧&#xff1a;让压缩更智能 2.1 加密压缩实战 2.2 增量更新策略 2.3 性能优化技巧 三、高级场景解决方案 3.1 分卷压缩实现 3.2 跨平台路径处理 3.3 异常处理最佳实…...

Linux:进程的等待

当以一个进程结束时&#xff0c;它会变成僵尸进程&#xff0c;这个僵尸进程如果不处理&#xff0c;就会一直占用CPU资源&#xff0c;如果父进程要回收这个进程会通过进程等待的方式处理&#xff0c;回收子进程只会&#xff0c;会得到进程的退出信息 进程等待 父进程通过进程等…...

玉米产量遥感估产系统的开发实践(持续迭代与更新)

项目地址&#xff1a;项目首页 - maize_yield_estimation:玉米估产的flaskvue项目 - GitCode 开发中&#xff0c;敬请期待。。。 以下是预先写的提纲&#xff0c;准备慢慢补充 一、项目背景与工程目标 业务需求分析 农业遥感估产的行业痛点&#xff08;数据分散、模型精度不足…...

Python解析地址中省市区街道

Python解析地址中省市区街道 1、效果 输入&#xff1a;海珠区沙园街道西基村 输出&#xff1a; 2、导入库 pip install jionlp3、示例代码 import jionlp as jiotext 海珠区沙园街道西基村 res jio.parse_location(text, town_villageTrue) print(res)...

论文学习:《聚类矩阵正则化指导的层次图池化》

原文标题&#xff1a;Clustering matrix regularization guided hierarchical graph pooling 原文链接&#xff1a;https://www.sciencedirect.com/science/article/abs/pii/S0950705125001558 图池化技术大致可以分为两类&#xff1a;平面图池化和层次图池化。后者通过迭代粗化…...

【金仓数据库征文】- 国产化迁移实战:从Oracle到KingbaseES的平滑过渡

文章目录 引言&#xff1a;国产数据库的崛起与迁移需求一、兼容性架构设计与配置优化1.1 Oracle兼容模式的核心实现1.2 潜在语法差异的深度处理1.3 环境预配置关键技术1.3.1 用户与模式映射1.3.2 字符集与日期格式 1.4 深度兼容模式配置1.4.1 语法兼容开关1.4.2 数据类型映射策…...

「零配置陷阱」:现代全栈工具链的复杂度管控实践

一、工具链膨胀的「死亡螺旋」 2024年典型全栈项目的初始化噩梦&#xff1a; $ npm create vitelatest ✔ Project name: … demo ✔ Select a framework: › React ✔ Select a variant: › TypeScript SWC ✔ Install shadcn/ui? … Yes ✔ Add Storybook? … Yes ✔ Co…...

浅析锁的应用与场景

锁的应用与场景&#xff1a;从单机到分布式 摘要&#xff1a;在多线程和分布式系统中&#xff0c;“锁”是避免资源竞争、保障数据一致性的核心机制。但你真的了解锁吗&#xff1f;什么时候该用锁&#xff1f;用哪种锁&#xff1f;本文通过通俗的比喻和代码示例&#xff0c;带…...

图论---Kruskal(稀疏图)

O( m * log n )。 1&#xff0c;将所有边按权重从小到大排序&#xff0c;调用系统的sort() 2&#xff0c;枚举每条边的 a , b ,权重 if(a、b 不联通) 就将这条边加入集合中 // 最小生成树 —Kruskal算法(稀疏图) #include<iostream> #include<algorithm> using …...

MySQL 从入门到精通:第二篇 - 数据类型、约束与索引

1. MySQL数据类型详解 数值类型 整数类型 -- 常用整数类型及范围 CREATE TABLE integer_types (tiny_col TINYINT, -- 1字节,有符号(-128~127),无符号(0~255)small_col SMALLINT, -- 2字节,有符号(-32768~32767),无符号(0~65535)medium_col MEDIUMINT,...

基于AI技术的高速公路交通引流系统设计与应用研究

基于AI技术的高速公路交通引流系统设计与应用研究 1. 研究背景与意义 1.1 交通系统演化脉络 1.1.1 发展阶段划分 机械化时代&#xff08;1950-1990&#xff09;&#xff1a;固定式信号控制信息化时代&#xff08;1991-2010&#xff09;&#xff1a;SCATS/SCOOT系统智能化时代…...

n8n 中文系列教程_09. 从原始需求到精准实现:n8n节点选择指南

在自动化工作流工具n8n中&#xff0c;正确选择和使用节点是高效实现需求的关键。本文将从需求分析入手&#xff0c;逐步解析触发节点与执行节点的区别&#xff0c;梳理n8n的节点分类逻辑&#xff0c;并揭示外部服务节点的本质&#xff0c;帮助您精准匹配需求与实现方案。无论您…...

P19:Inception v1算法实战与解析

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、模型结构 Inception V1 的主要特点是在一个网络中同时使用不同大小的卷积核&#xff08;1x1、3x3、5x5&#xff09;和池化操作来提取多尺度特征。以下是…...

day32 学习笔记

文章目录 前言一、霍夫变换二、标准霍夫变换三、统计概率霍夫变换四、霍夫圆变换 前言 通过今天的学习&#xff0c;我掌握了霍夫变换的基本原本原理及其在OpenCV中的应用方法 一、霍夫变换 霍夫变换是图像处理中的常用技术&#xff0c;主要用于检测图像中的直线&#xff0c;圆…...

2025时间序列都有哪些创新点可做——总结篇

作为AI和数据科学的核心方向之一&#xff0c;时间序列在2025年依然保持着强劲的发展势头&#xff0c;稳站各大顶会顶刊投稿主题前列。 关于它的研究&#xff0c;目前在结合传统统计方法和深度学习的基础上&#xff0c;已延伸至频域等数理工具与神经网络的交叉创新。同时针对垂…...

头歌实训之索引

&#x1f31f; 各位看官好&#xff0c;我是maomi_9526&#xff01; &#x1f30d; 种一棵树最好是十年前&#xff0c;其次是现在&#xff01; &#x1f680; 今天来学习C语言的相关知识。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更…...

通讯的基础概念:涵盖串行通信、并行通信、TCP、UDP、Socket 等关键概念和技术

一、通信基础概念 1. 串行通信与并行通信 串行通信 定义&#xff1a;通过一条线路逐位传输数据&#xff0c;每个字节包含起始位、数据位、校验位和停止位。特点&#xff1a; 传输稳定&#xff0c;但速度较慢&#xff08;因逐位传输&#xff09;。常用接口&#xff1a;RS-232、…...

Uni-App 多端电子合同开源项目介绍

项目概述 本项目是一款基于 uni-app框架开发的多端电子合同管理平台&#xff0c;旨在为企业及个人用户提供高效、安全、便捷的电子合同签署与管理服务。项目创新性地引入了 “证据链”与“非证据链”两种签署模式&#xff0c;满足不同场景下的签署需求&#xff0c;支持多种签署…...

一个非常快速的 Latex 入门教程【Part 1】

目录 1.LaTex简介 2.LaTex 中最基础的格式化命令 2.1加粗&#xff0c;斜体&#xff0c;下划线&#xff0c;添加新段落 2.2文档分节 2.3 图片 2.4 LaTeX 中列表的创建 无序列表 有序列表 2.5对数学公式的排版 2.6表格 1.LaTex简介 LaTex的主要优势是它会将文…...

用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践

用Obsidian四个插件打造小说故事关联管理系统&#xff1a;从模板到图谱的全流程实践 一、前言&#xff1a;为什么需要故事关联管理系统 在小说创作中&#xff0c;复杂的人物关系、交错的情节线和多维的世界观常导致创作混乱。本文将通过 Dataview&#xff08;数据查询&#xf…...

C++ 日志系统实战第三步:熟悉掌握各种设计模式

全是通俗易懂的讲解&#xff0c;如果你本节之前的知识都掌握清楚&#xff0c;那就速速来看我的项目笔记吧~ 相关技术知识补充&#xff0c;也是最后的补充知识了~ 下文将加入项目代码编写&#xff01; 目录 设计模式 单例模式 饿汉模式 懒汉模式 工厂模式 简单…...

[ESP-IDF]:esp32-camera 使用指南 ESP32S3-OV2640 用例测试

【核知坊】&#xff1a;释放青春想象&#xff0c;码动全新视野。 我们希望使用精简的信息传达知识的骨架&#xff0c;启发创造者开启创造之路&#xff01;&#xff01;&#xff01; 内容摘要&#xff1a;esp32-camera 组件为 ESP32 系列 SoC 提供了兼容的图…...

在统信UOS/麒麟Kylin OS中创建网页桌面快捷方式

在统信UOS/麒麟Kylin OS中创建网页桌面快捷方式 本文将详细介绍如何在统信UOS或麒麟KYLINOS中使用命令行创建一个网页桌面快捷方式&#xff0c;以方便构建云桌面模板及镜像模板。欢迎大家浏览、分享和转发&#xff01;请关注我以获取更多技术分享。 1. 查看系统信息 首先&am…...