【问题标题】:How do i migrate data from postgres to cassandra using any opensource etl tool?如何使用任何开源 etl 工具将数据从 postgres 迁移到 cassandra?
【发布时间】:2017-08-01 16:49:26
【问题描述】:

我尽量不使用复制命令,因为它的数据库很大。我正在使用 talend etl 开源工具,但还没有找到任何解决方案。

【问题讨论】:

    标签: postgresql cassandra talend


    【解决方案1】:

    将数据迁移到 Cassandra 有 3 个最常见的选项:
    1.自定义Spark工作。这需要一些编程,尽管这将是最具可扩展性的解决方案,并且允许您拥有任何自定义数据转换逻辑。您可能需要数据转换,因为我无法想象 RDBMS 和键值存储会有完全相同的表结构。
    2. 使用 DataStax Enterprise 包中的sqoop(它包括 Cassandra 的自定义驱动程序)。
    3. 使用sqoop 和Casasndra 的JDBC 驱动程序。虽然,我对上一个 Cassandra 的 JDBC 驱动版本的特性和稳定性一无所知。我们在早期的问题上遇到了一些问题。
    好的,还有第四个。您可以编写自己的数据简单的独立迁移工具(例如使用 Java)。该工具将从 Postgres 中逐行读取数据并调用 Cassandra 的插入。尽管相当简单,但这将非常缓慢。
    您提到数据库很大。但这只是意味着您必须等待更长的时间才能完成迁移。这在很多情况下并不重要,真的。
    CPU可以工作,而您可以做其他事情。否则,您必须在 CPU 放松时使用自己的时间。

    【讨论】:

    • 非常感谢!! :)
    • @S. Stas 有什么方法可以实现上述目的,例如将 Postgres 转储文件转换为 Cassandra 转储文件或该行的内容。
    • 好吧,从技术上讲,您可以运行 pg_dump 并获取 sql 命令列表。然后您可能需要使用文本编辑器替换一些 sql 命令(以考虑 Cassandra 的具体情况)。坏事是@Annie 写的,数据库很大。所以 .sql 文件会更大。所以 COPY 命令将是这里更现实的输入方式。
    【解决方案2】:

    如果您更喜欢 Apache Spark,可以使用 Spark Cassandra Connector 将 DataFrames 保存到 Cassandra。

    请参阅this question,了解如何使用 PySpark 连接 Postgres。

    【讨论】:

      猜你喜欢
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 2011-11-30
      • 2017-02-23
      相关资源
      最近更新 更多