Repolode
bruin-data

bruin-data/ingestr

一款命令行工具,用一条命令即可在数据库、文件和 SaaS 平台之间复制数据,无需编写代码。

可替代:FivetranAirbyte Cloud

Star
4,025
Fork
165
未关闭 Issue
28
最近提交
2小时前

这是什么?

ingestr 是一款命令行工具,通过命令行参数即可把数据从源端搬到目标端,不需要编写自定义脚本。你只需指定源和目标的连接地址及表名,工具会负责连接与传输,把数据写入目标库。

它支持 append、merge 和 delete+insert 三种增量加载方式,重复运行时可以让目标表保持同步,而不必每次全量重载。支持的来源和目的地很多,包括 PostgreSQL、MySQL、BigQuery、Snowflake、DuckDB、SQL Server、MongoDB、本地 CSV/JSON/Parquet 文件,以及 HubSpot、Stripe 等 SaaS 平台。

项目可通过安装脚本获取单个二进制文件,也可以通过 pip 安装。pip 包还提供 Python SDK,可将行数据、生成器或 DataFrame 交给 CLI 处理。项目采用 Functional Source License 授权,禁止用其提供与之竞争的商业数据摄取服务。

核心功能

  • 01通过一条 CLI 命令在数据库与文件之间复制表数据。
  • 02支持 append、merge 和 delete+insert 三种增量加载模式。
  • 03可连接多种数据库、数据仓库和 SaaS API。
  • 04支持通过 shell 脚本或 pip 安装,并提供 Python SDK。
  • 05部分数据库(如 MySQL、PostgreSQL、MongoDB)支持变更数据捕获(CDC)。

适用场景

  • 把业务数据库表同步到 BigQuery、Snowflake 等数据仓库。
  • 将仓库中的表导出到本地 DuckDB 或 Parquet 文件中做分析。
  • 定时把 HubSpot、Stripe 等 SaaS 数据拉取到 SQL 数据库中。
  • 在两个数据库之间迁移数据,无需编写自定义 ETL 代码。

快速上手

  1. 1

    运行 README 中的官方安装脚本

  2. 2

    或使用 pip 安装

    pip install ingestr
  3. 3

    使用你自己的源和目标 URI 运行快速入门中的 ingest 命令

    ingestr ingest --source-uri 'postgresql://admin:admin@localhost:8837/web?sslmode=disable' --source-table 'public.some_data' --dest-uri 'bigquery://<your-project-name>?credentials_path=/path/to/service/account.json' --dest-table 'ingestr.some_data'

使用前须知

  • 许可证显示为 NOASSERTION,使用前请先查看仓库的许可证条款。

标签

常见问题

ingestr 是什么?
一款命令行工具,用一条命令即可在数据库、文件和 SaaS 平台之间复制数据,无需编写代码。 ingestr 是一款命令行工具,通过命令行参数即可把数据从源端搬到目标端,不需要编写自定义脚本。你只需指定源和目标的连接地址及表名,工具会负责连接与传输,把数据写入目标库。
ingestr 可以免费使用吗?用的什么许可证?
ingestr 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
ingestr 还在维护吗?
活跃维护中。ingestr 最近一次提交是在 2026年10月21日。
ingestr 适合用来做什么?
把业务数据库表同步到 BigQuery、Snowflake 等数据仓库。 将仓库中的表导出到本地 DuckDB 或 Parquet 文件中做分析。 定时把 HubSpot、Stripe 等 SaaS 数据拉取到 SQL 数据库中。 在两个数据库之间迁移数据,无需编写自定义 ETL 代码。
ingestr 怎么安装和运行?
运行 README 中的官方安装脚本 或使用 pip 安装: pip install ingestr 使用你自己的源和目标 URI 运行快速入门中的 ingest 命令: ingestr ingest --source-uri 'postgresql://admin:admin@localhost:8837/web?sslmode=disable' --source-table 'public.some_data' --dest-uri 'bigquery://<your-project-name>?credentials_path=/path/to/service/account.json' --dest-table 'ingestr.some_data'
在哪里获取 ingestr?
源代码和安装说明在 GitHub 上:https://github.com/bruin-data/ingestr

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目