【问题标题】:cassandra sqoop import auto generate timeuuidcassandra sqoop 导入自动生成timeuuid
【发布时间】:2018-04-28 05:16:07
【问题描述】:

我想将我的 MySQL 数据迁移到 cassandra。我正在使用旧版本的 DSE,即支持 sqoop 命令的 4.8。我的查询是我想插入具有动态 timeuuid 列值的行,该列值将在插入时生成,并且它不存在于 MySQL 表中。请帮忙。

我正在使用以下查询插入数据但没有 uuid 列值。

bin/dse sqoop cql-import --connect jdbc:mysql://localhost:3306/testing --table tbl1 --username root -P --cassandra-keyspace test --cassandra-table testtable --cassandra-主机 localhost --split-by ID --cassandra-column-mapping id:ID,name:NAME --columns ID,NAME

谢谢,

【问题讨论】:

  • 嗨,Horia,我在 cassandra db 中有一个字段,用于存储自动生成的唯一 ID。我如何将 writetime 映射到任何字段,比如 cassandra testtable 的 UID?
  • 为添加到列的每个值存储写入时间,主键除外。因此,如果您的 UID 是主键,那么您将无法检索它的写入时间。否则,您可以使用 cql 语句对其他列执行此操作: select writetime() from where
  • 你不必映射它,它默认就在那里。该值以微秒为单位。您所要做的就是查询它。
  • 我明白,但我实际上需要单独的列来拥有 uuid,我只需要一种在插入 cassandra 时动态插入 uuid 值的方法

标签: mysql cassandra database-migration sqoop


【解决方案1】:

我做了很多搜索,发现sqoop只能用于在数据库中准确插入数据。因此,如果您想在插入时操作数据,您需要创建一些自定义应用程序或 ETL 工具来帮助您。但是,我没有时间通过​​创建 Java 应用程序来实现。 因此,我要关闭这个问题。感谢您在此问题上的帮助。

问候,

耆那教

【讨论】:

    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 2023-03-29
    • 2014-06-05
    • 2016-05-13
    • 2018-04-30
    • 2012-07-01
    • 2017-04-04
    • 2011-07-18
    相关资源
    最近更新 更多