【发布时间】:2016-02-09 06:00:14
【问题描述】:
是否有任何开源库(任何编程语言)可以帮助从任何数据源(文件、SQL 数据库、NoSQL 数据库等)加载数据并将其存储到任何其他数据存储库中?我检查了一些 ETL 库,如 Talend 或 Octopus,但它们只处理 SQL 数据库。
【问题讨论】:
是否有任何开源库(任何编程语言)可以帮助从任何数据源(文件、SQL 数据库、NoSQL 数据库等)加载数据并将其存储到任何其他数据存储库中?我检查了一些 ETL 库,如 Talend 或 Octopus,但它们只处理 SQL 数据库。
【问题讨论】:
试试https://flywaydb.org/,因为 NoSQL 的性质与关系结构不同,您应该编写自己的转换器
{ "item_id" : 1, "tags" : ["a","b","c"] }
这应该如何转换为 RDBMS?您可以使用 flyway 进行关系到关系的数据库迁移
【讨论】:
看看Apache Camel 和他们的ETL Example。 Camel 知道如何从large variety of sources and repositories 加载和存储,包括files、SQL 和各种NoSQL 数据库,如Cassandra 和MongoDB。
您也可以查看10 Open Source ETL Tools。
顺便说一句,Talend 不限于 SQL 数据库,如以下博文所示:
【讨论】: