如何用 DolphinDB + Kafka 实时计算K线
这是一篇新闻文章,介绍使用 DolphinDB 结合 Kafka 进行实时 K 线计算,并给出概览与发布时间信息。
What this page covers
- 文章主题与发布时间信息。
- Kafka 与消息中间件 + 时序数据库的组合动机。
- DolphinDB Kafka 插件支持能力与数据类型范围。
- 插件的数据流向:DolphinDB 生产到 Kafka 与从 Kafka 消费到 DolphinDB。
- 案例流程:环境准备、写入 Kafka、订阅消费与分钟 K 线计算。
- 参考资料与反馈渠道入口。
技能认证特训营第二期正式开启(限时报名)
页面顶部包含一个推广性质的行动号召,指向限时报名的技能认证特训营注册优惠入口。
- 包含限时报名的促销信息。
- 提供注册相关的行动入口。
新闻 / 如何用 DolphinDB + Kafka 实时计算K线
文章页头展示实时 K 线计算主题(DolphinDB + Kafka),并给出发布日期与概览说明。
- 发布日期为 2022.11.17。
- 主题为使用 DolphinDB 与 Kafka 进行实时 K 线计算。
- 提及 DolphinDB Kafka 插件的实践指南发布渠道。
DolphinDB Kafka 插件概述
本节介绍 Kafka 的定位、消息中间件与时序数据库组合的意义,并概述 DolphinDB Kafka 插件的能力与支持的数据类型。
- Kafka 被描述为高吞吐的分布式消息中间件。
- 消息中间件接收后批量写入时序库用于应对大规模写入场景。
- 插件支持从 DolphinDB 生产数据到 Kafka,并从 Kafka 订阅数据到 DolphinDB。
- 插件支持 DolphinDB 标量与 Kafka Java API 内置类型及其向量的序列化/反序列化。
插件架构图说明(数据流向)
本节以架构图为例说明插件的数据双向流向:DolphinDB 可向 Kafka 写入数据,也可从 Kafka 读取数据写入 DolphinDB。
- 可在 DolphinDB 中实例化 Producer 对象,将数据同步到指定 Kafka topic。
- 可在 DolphinDB 中实例化 Consumer 对象,从指定 Kafka topic 同步数据到 DolphinDB。
- 架构图用于说明生产与消费两条数据路径。
案例:如何实时计算K线
本节以案例流程演示:准备环境,向 Kafka 实时写入逐笔成交数据,在 DolphinDB 中订阅消费并落入流表,然后用流计算引擎计算分钟 K 线。
- 案例目标为使用 “DolphinDB + Kafka” 实时计算 K 线。
- 环境示例包含 DolphinDB 集群版本 v2.00.7。
- 环境示例包含 Kafka 集群版本 2.13-3.1.0。
- 使用 DolphinDB replay 历史数据回放工具与 Kafka 插件将逐笔成交数据实时发送到 Kafka。
- 示例中 Kafka topic 名称为 topic-message。
- 示例 bootstrap-server 为 192.193.168.4:9092。
- 包含使用 kafka-console-producer/consumer 的命令示例用于验证。
- DolphinDB 订阅消费 Kafka topic 数据,并实时同步到 DolphinDB 的流数据表。
- 使用内置流计算引擎计算分钟 K 线,并将结果输出到名为 OHLCVwap 的表。
- 订阅参数中 offset=-1 表示从提交订阅时流表当前行开始。
- useSystemTime=true 表示使用本地系统时间进行固定窗口、固定间隔计算。
参考与反馈渠道
本节提供进一步的参考资料入口(含完整实践指南与脚本),并说明遇到问题可在项目仓库反馈。
- 提到完整的 Kafka 插件实践指南已发布在官方知乎,可前往查看。
- 文章演示常用接口函数用于实时计算 K 线。
- 遇到使用问题可在项目仓库提交反馈。
Facts index
| Entity | Attribute | Value | Confidence |
|---|---|---|---|
| News article '如何用 DolphinDB + Kafka 实时计算K线' | publication_date | 2022.11.17 | high |
| DolphinDB Kafka 插件 | capability | Supports pushing/producing data generated in DolphinDB to Kafka and subscribing to data from Kafka for consumption in DolphinDB. | high |
| Kafka | description | A high-throughput distributed message middleware for publishing and subscribing to massive amounts of messages. | high |
| Using message middleware + time-series database | benefit | When facing large-scale data writes, receiving data via message middleware and then batch-writing to a time-series database combines middleware high-concurrency with time-series DB high-throughput to better solve real-time processing and storage of massive data. | medium |
| DolphinDB Kafka 插件 | supports_serialization_deserialization_types | DolphinDB scalars; Kafka Java API built-in types: String(UTF-8), Short, Integer, Long, Float, Double, Bytes, byte[], ByteBuffer; and vectors composed of the above types. | high |
| DolphinDB | producer_object_usage | Users can instantiate a Producer object in DolphinDB to sync DolphinDB data to a specified Kafka topic. | high |
| DolphinDB | consumer_object_usage | Users can instantiate a Consumer object in DolphinDB to sync data from a specified Kafka topic into DolphinDB. | high |
| Article case study | use_case | Real-time K-line computation using 'DolphinDB + Kafka'. | high |
| Environment preparation | dolphindb_cluster_version | v2.00.7 | high |
| Environment preparation | kafka_cluster_version | 2.13-3.1.0 | high |
| DolphinDB replay 历史数据回放工具 + Kafka 插件 | purpose_in_case | Used to send tick-by-tick transaction data to Kafka in real time. | high |
| Kafka | topic_name_in_example | topic-message | high |
| Kafka CLI command (topic creation example) | bootstrap_server | 192.193.168.4:9092 | high |
| kafka-console-producer/consumer verification step | command_shown | ./bin/kafka-console-producer.sh --bootstrap-server 192.193.168.4:9092 --from-beginning --topic topic-message | high |
| DolphinDB | kafka_consumption_in_case | Subscribes to consume Kafka topic data and sync it in real time into a streaming table in DolphinDB. | high |
| DolphinDB | stream_engine_computation | Uses the built-in streaming computation engine to compute minute K-lines and outputs results to a table named OHLCVwap. | high |
| DolphinDB streaming subscription parameter | offset_setting | offset = -1 means the subscription starts from the current row of the streaming table at the time of subscription submission. | high |
| DolphinDB time-series engine parameter | useSystemTime_setting | useSystemTime=true means the time-series engine uses local system time (millisecond precision, injection time) rather than the data's time column, and computes over fixed windows at fixed intervals. | high |
| DolphinDB Kafka Plugin | article_scope | The article demonstrates using commonly used interface functions of the DolphinDB Kafka Plugin to compute K-lines in real time. | medium |
| Support / feedback channel | issue_reporting | If encountering problems during use, users are invited to provide feedback in the project repository. | medium |
| DolphinDB Kafka 插件实践指南 | availability | A complete practice guide has been published on the official Zhihu, and readers can go to Zhihu to view it. | medium |