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

零代码、单命令:ingestr —— 让数据迁移像复制粘贴一样简单

在数据驱动的时代,数据迁移和集成几乎是每个开发者和数据团队都会遇到的日常任务。无论是将生产数据库同步到数据仓库,还是在不同系统之间搬运数据,传统方案往往意味着编写大量代码、配置复杂的ETL工具,或者支付昂贵的SaaS费用。

今天要介绍的开源工具ingestr,正是为了解决这个痛点而生。

什么是 ingestr?

ingestr 是一个命令行工具,允许你用单行命令将数据从任何数据源复制到任何目标,无需编写任何代码。

它的核心理念极其简单:指定一个来源、指定一个目标,剩下的交给 ingestr。

ingestr ingest\--source-uri'postgresql://...'\--source-table'public.some_data'\--dest-uri'bigquery://...'\--dest-table'ingestr.some_data'

就这么简单。一行命令,数据就从 PostgreSQL 飞到了 BigQuery。

为什么需要 ingestr?

在 ingestr 出现之前,数据 ingestion 领域的工具生态存在明显的空白:

  • 付费工具大多以 UI 驱动,UI 驱动的工作流对自动化数据管道很不友好。
  • 开源替代品(如 Airbyte)同样以 UI 为主,而且还需要自己维护一套基础设施。
  • 库级别的方案(如 dlt)虽然灵活,但最终你还是得写代码来搞定 ingestion。

ingestr 的团队在 2024 年初开始构建这个项目,目标是打造一个有主见的、最简单的数据摄入方式。你只需要告诉它源和目标在哪里,它就会帮你把数据搬过去。

事实证明这个方向是对的——ingestr 目前已经在 GitHub 上收获了超过 3,700 颗星,被数百个组织内部使用。

核心特性

✨ 零代码,单命令

ingestr 最核心的价值就是零代码。你不需要写 Python 脚本、不需要配置 YAML 文件、不需要学习复杂的 DSL。只需要一条命令,数据就能从源端流向目标端。

➕ 增量加载

ingestr 支持三种增量加载模式:

  • Append:追加新数据
  • Merge:合并更新
  • Delete+Insert:删除后插入

这意味着你不需要每次都全量同步整个表,只需摄入新增或变更的数据,大幅提升效率并降低成本。

🐍 单命令安装

安装 ingestr 非常简单。推荐使用 uv:

pipinstalluv uvx ingestr

或者全局安装:

uv pipinstall--systemingestr

传统的 pip 安装也可以,但速度会慢一个数量级。

🐍 Python SDK

除了命令行,ingestr 还提供了 Python SDK,可以直接在 Python 代码中调用:

importingestr ingestr.ingest([{"id":1,"name":"Ada"},{"id":2,"name":"Grace"}],dest_uri="duckdb:///tmp/warehouse.duckdb",dest_table="main.people",)

支持 pandas DataFrame、Polars DataFrame、PyArrow Table 等多种数据格式,数据通过 Arrow IPC 流高效传输。

从 Python 到 Go:性能的重构

ingestr 最初是用 Python 构建的,原型只花了一个周末就做出来了。但随着用户规模的增长和数据集变大,Python 版本的性能瓶颈逐渐显现:

  • Python 本身在处理大量数据时速度有限。
  • 底层依赖的 dlt 在早期版本中性能也不够理想。

因此,ingestr 团队决定从零开始用 Go 重构,目标是打造更快、更可靠、更好用的数据摄入工具。重构后的 v1 版本在性能和可靠性上都有了质的飞跃。

支持的生态

ingestr 支持极为丰富的数据源和目标:

数据库:PostgreSQL、MySQL、SQL Server、BigQuery、Snowflake、Redshift、DuckDB、ClickHouse、MongoDB、Oracle、SQLite、Trino 等 20 多种。

对象存储与文件:S3、GCS、本地 CSV、JSONL、Parquet 等。

SaaS 平台:GitHub、Salesforce、Shopify、Slack、Stripe、Notion、Google Sheets、HubSpot、Zendesk 等数十个平台。

消息队列:Kafka、Kinesis 等。

无论是传统关系型数据库、云数据仓库,还是现代 SaaS 应用,ingestr 基本都能覆盖。

典型使用场景

ingestr 可以解决多种数据迁移和集成需求:

  • 从遗留系统迁移到现代数据库,提升分析能力
  • 将应用数据库与数据分析平台同步,支持批量或增量同步
  • 数据库备份,确保数据安全
  • 快速搭建测试或开发环境,轻松克隆现有数据库
  • 支持需要实时数据更新的应用场景

由于 ingestr 是轻量级的 CLI 工具,你可以轻松地把它放进cronjob、GitHub Actions、Airflow或其他调度器中,快速获得内置的数据摄入能力。

总结

ingestr 是一款理念清晰、使用简单、生态丰富的开源数据摄入工具。它用最朴素的方式——一条命令——解决了数据迁移中最常见的问题。

如果你正在寻找一个零代码、轻量级、可自动化的数据迁移方案,ingestr 值得一试。

  • GitHub:https://github.com/bruin-data/ingestr
  • 文档:https://bruin-data.github.io/ingestr/
  • 社区:Bruin Data Community Slack
http://www.jsqmd.com/news/1043834/

相关文章:

  • 终极指南:如何用LJD轻松反编译LuaJIT字节码文件
  • 如何免费获得Windows系统上的Apple触控板完整驱动:5分钟快速安装指南
  • 2026上海静安区品牌首饰回收认准这几家|中检认证门店,鉴定透明可溯源 - 奢品小当家
  • iStoreOS下Home Assistant容器化部署HACS商店全攻略
  • 学校维修系统中提交报修和报修成功页面核心代码的实现
  • Claude模型版本真伪验证指南:识破Opus 4.7等误传信息
  • ICode国际青少年编程竞赛- Python-1级训练场-循环模式解构实战
  • 如何构建企业级可视化数据集成平台:一站式ETL解决方案指南
  • 名表回收行情解读,2026福州实体门店,禹竞鉴定专业出价公道 - 奢品小当家
  • MD Test
  • ERP重塑与未来趋势:SAP的实践及大一统格局(下)
  • 2026合肥黄金变现攻略|正规门店测评与行情避坑全解析 - 薛定谔的梨花猫
  • 卖二手名表被压价?选对门店决定你多拿3万 - 奢品小当家
  • 终极融合方案:Mohist 1.20.1如何让Minecraft服务器同时支持Mod与插件?
  • 一图掌握el-table样式深度定制:从基础美化到高级交互
  • OpenCalib:自动驾驶多传感器空间对齐技术的深度探索与实践路径
  • 网站建设公司怎么选?上海靠谱的网站建设公司推荐
  • 超实用办公神器合集!告别重复加班,日常效率直接拉满
  • 同城搬家电瓶车怎么托运?最省钱方法+平台对比 - 快递物流资讯
  • 如何快速部署医院信息系统:HIS完整安装与使用指南
  • 5步精通:Rufus启动盘制作实战完全手册
  • 2026深圳居民搬家难题如何解决?专业服务商怎么选?深圳家顺兴搬家深度解析推荐 - 深圳家顺兴搬家
  • 深入解析ColdFire MCU系统控制与时钟模块:从原理到实战配置
  • 垃圾分类AI实战:ai53_19/garbage_datasets深度解析与5大核心优势
  • 如何在5分钟内创建逼真的3D树木:Tree.js完整指南
  • 论文双重检测时代落幕?百考通AI解锁高效合规改稿方案
  • C语言文件操作核心函数详解:从fopen到fread/fwrite实战指南
  • 终极Windows风扇控制指南:用FanControl解决华硕主板传感器识别难题
  • 2026上海日式搬家避坑指南|套路太深!久业搬厂才是靠谱优选 - 幸福生活序曲
  • 福州实体回收名表 无隐形收费靠谱门店 - 奢品小当家