{"id":19381761,"url":"https://github.com/taosdata/kafka-connect-tdengine","last_synced_at":"2025-07-27T10:16:08.721Z","repository":{"id":37796414,"uuid":"424114697","full_name":"taosdata/kafka-connect-tdengine","owner":"taosdata","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-20T03:00:06.000Z","size":707,"stargazers_count":17,"open_issues_count":18,"forks_count":6,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-04-23T20:47:34.901Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taosdata.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-11-03T06:29:32.000Z","updated_at":"2025-02-20T03:00:10.000Z","dependencies_parsed_at":"2024-02-18T04:27:53.205Z","dependency_job_id":"d05a4660-1961-4494-9583-2c4440362e7e","html_url":"https://github.com/taosdata/kafka-connect-tdengine","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/taosdata/kafka-connect-tdengine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taosdata%2Fkafka-connect-tdengine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taosdata%2Fkafka-connect-tdengine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taosdata%2Fkafka-connect-tdengine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taosdata%2Fkafka-connect-tdengine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taosdata","download_url":"https://codeload.github.com/taosdata/kafka-connect-tdengine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taosdata%2Fkafka-connect-tdengine/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260779567,"owners_count":23061859,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T09:18:17.709Z","updated_at":"2025-07-27T10:16:08.708Z","avatar_url":"https://github.com/taosdata.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- omit in toc --\u003e\n# TDengine Kafka Connector\n\n[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/taosdata/kafka-connect-tdengine/build.yml)](https://github.com/taosdata/kafka-connect-tdengine/actions/workflows/build.yml)\n[![codecov](https://codecov.io/gh/taosdata/kafka-connect-tdengine/graph/badge.svg?token=GQRD9WCQ64)](https://codecov.io/gh/taosdata/kafka-connect-tdengine)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/taosdata/kafka-connect-tdengine)\n![GitHub License](https://img.shields.io/github/license/taosdata/kafka-connect-tdengine)\n![GitHub Tag](https://img.shields.io/github/v/tag/taosdata/kafka-connect-tdengine?label=latest)\n\u003cbr /\u003e\n[![Twitter Follow](https://img.shields.io/twitter/follow/tdenginedb?label=TDengine\u0026style=social)](https://twitter.com/tdenginedb)\n[![YouTube Channel](https://img.shields.io/badge/Subscribe_@tdengine--white?logo=youtube\u0026style=social)](https://www.youtube.com/@tdengine)\n[![Discord Community](https://img.shields.io/badge/Join_Discord--white?logo=discord\u0026style=social)](https://discord.com/invite/VZdSuUg4pS)\n[![LinkedIn](https://img.shields.io/badge/Follow_LinkedIn--white?logo=linkedin\u0026style=social)](https://www.linkedin.com/company/tdengine)\n[![StackOverflow](https://img.shields.io/badge/Ask_StackOverflow--white?logo=stackoverflow\u0026style=social\u0026logoColor=orange)](https://stackoverflow.com/questions/tagged/tdengine)\n\n简体中文 | [English](./README.md)\n\n\u003c!-- omit in toc --\u003e\n## 目录\n\n- [1. 简介](#1-简介)\n- [2. 文档](#2-文档)\n- [3. 前置条件](#3-前置条件)\n- [4. 构建](#4-构建)\n- [5. 测试](#5-测试)\n  - [5.1 运行测试](#51-运行测试)\n  - [5.2 添加用例](#52-添加用例)\n  - [5.3 性能测试](#53-性能测试)\n- [6. CI/CD](#6-cicd)\n- [7. 提交 Issue](#7-提交-issue)\n- [8. 提交 PR](#8-提交-pr)\n- [9. 引用](#9-引用)\n- [10. 许可证](#10-许可证)\n\n\n## 1. 简介\n\n`TDengine Kafka Connector` 是一个高效的数据集成工具，用于 TDengine 和 Kafka 之间的数据同步。它既支持将 Kafka 中的数据实时同步到 TDengine 数据库中，也支持将 TDengine 中的数据实时同步到 Kafka。借助 TDengine 的高性能时序数据处理能力，`TDengine Kafka Connector` 能够帮助企业轻松实现海量时序数据的实时存储与分析。\n\n## 2. 文档\n- 使用 TDengine Kafka Connector, 请参考 [TDengine Kafka Connector](https://docs.taosdata.com/third-party/collection/kafka/)，包含了如何安装、配置和使用 `TDengine Kafka Connector` 的说明和示例。\n- 本 README 主要是为想自己贡献、编译、测试 `TDengine Kafka Connector` 的开发者写的。如果要学习 TDengine，可以浏览 [官方文档](https://docs.taosdata.com/)。\n\n## 3. 前置条件\n\n- 已安装 Java 1.8 或以上版本运行时环境和 Maven 3.6 或以上版本，且正确设置了环境变量。\n- 本地已经部署 TDengine，具体步骤请参考 [部署服务端](https://docs.taosdata.com/get-started/package/)，且已经启动 taosd 与 taosAdapter。如果是 Mac 系统，请使用 `sudo ln -s /usr/local/lib/libtaos.dylib /Library/Java/Extensions/libtaos.dylib` 建立 `taos` 动态库软连接。\n\n## 4. 构建\n\n项目目录下执行 `mvn clean package` 构建项目。\n\n## 5. 测试\n### 5.1 运行测试\n项目目录下执行 `mvn test` 运行测试，测试用例会连接到本地的 TDengine 服务器与 taosAdapter 进行测试。\n运行测试后，最终会打印类似如下结果。如果所有用例通过，Failures 和 Errors 都是 0。\n```\n[INFO] Results:\n[INFO] \n[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0\n```\n\n### 5.2 添加用例\n所有测试在项目的 `src/test/java/com/taosdata/kafka/connect` 目录下，按照测试的功能划分了目录，可以新增加测试文件或者在已有的测试文件中添加用例。\n用例使用 JUnit 框架，一般在 `before` 方法中初始化资源，在 `after` 方法中释放资源。\n\n### 5.3 性能测试\n性能测试还在开发中。\n\n## 6. CI/CD\n- [Build Workflow](https://github.com/taosdata/kafka-connect-tdengine/actions/workflows/build.yml)\n- [Code Coverage](https://app.codecov.io/gh/taosdata/kafka-connect-tdengine)\n\n## 7. 提交 Issue\n我们欢迎提交 [GitHub Issue](https://github.com/taosdata/kafka-connect-tdengine/issues/new?template=Blank+issue)。 提交时请说明下面信息：\n- 问题描述，是否必现，最好能包含详细调用堆栈。\n- Kafka 版本。\n- TDengine Kafka Connector 版本。\n- TDengine Kafka Connector 配置文件（用户名和密码不需要）。\n- TDengine 服务端版本。\n\n## 8. 提交 PR\n我们欢迎开发者一起开发本项目，提交 PR 时请参考下面步骤：\n1. Fork 本项目，请参考 ([how to fork a repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo))。\n1. 从 main 分支创建一个新分支，请使用有意义的分支名称 (`git checkout -b my_branch`)。注意不要直接在 main 分支上修改。\n1. 修改代码，保证所有单元测试通过，并增加新的单元测试验证修改。\n1. 提交修改到远端分支 (`git push origin my_branch`)。\n1. 在 GitHub 上创建一个 Pull Request ([how to create a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request))。\n1. 提交 PR 后，可以通过 [Pull Request](https://github.com/taosdata/kafka-connect-tdengine/pulls) 找到自己的 PR，点击对应链接进去可以看到自己 PR CI 是否通过，如果通过会显示 “All checks have passed”。无论 CI 是否通过，都可以点击 “Show all checks” -\u003e “Details” 来查看详细用例日志。\n1. 提交 PR 后，如果 CI 通过，可以在 [codecov](https://app.codecov.io/gh/taosdata/kafka-connect-tdengine/pulls) 页面找到自己 PR，看单测覆盖率。\n\n## 9. 引用\n\n- [TDengine 官网](https://www.taosdata.com/)\n- [TDengine GitHub](https://github.com/taosdata/TDengine)\n\n## 10. 许可证\n\n[MIT License](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaosdata%2Fkafka-connect-tdengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaosdata%2Fkafka-connect-tdengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaosdata%2Fkafka-connect-tdengine/lists"}