【发布时间】:2017-08-01 16:49:26
【问题描述】:
我尽量不使用复制命令,因为它的数据库很大。我正在使用 talend etl 开源工具,但还没有找到任何解决方案。
【问题讨论】:
标签: postgresql cassandra talend
我尽量不使用复制命令,因为它的数据库很大。我正在使用 talend etl 开源工具,但还没有找到任何解决方案。
【问题讨论】:
标签: postgresql cassandra talend
将数据迁移到 Cassandra 有 3 个最常见的选项:
1.自定义Spark工作。这需要一些编程,尽管这将是最具可扩展性的解决方案,并且允许您拥有任何自定义数据转换逻辑。您可能需要数据转换,因为我无法想象 RDBMS 和键值存储会有完全相同的表结构。
2. 使用 DataStax Enterprise 包中的sqoop(它包括 Cassandra 的自定义驱动程序)。
3. 使用sqoop 和Casasndra 的JDBC 驱动程序。虽然,我对上一个 Cassandra 的 JDBC 驱动版本的特性和稳定性一无所知。我们在早期的问题上遇到了一些问题。
好的,还有第四个。您可以编写自己的数据简单的独立迁移工具(例如使用 Java)。该工具将从 Postgres 中逐行读取数据并调用 Cassandra 的插入。尽管相当简单,但这将非常缓慢。
您提到数据库很大。但这只是意味着您必须等待更长的时间才能完成迁移。这在很多情况下并不重要,真的。
CPU可以工作,而您可以做其他事情。否则,您必须在 CPU 放松时使用自己的时间。
【讨论】:
如果您更喜欢 Apache Spark,可以使用 Spark Cassandra Connector 将 DataFrames 保存到 Cassandra。
请参阅this question,了解如何使用 PySpark 连接 Postgres。
【讨论】: