Sqoop 导入 Cassandra 时在 cassandra 参数上失败

Sqoop import into Cassandra fails on cassandra parameters

我正在尝试解决以下问题。我正在使用 JobTracker 在分析模式下 运行ning DSE cassandra 2.1.13,这 运行ning 很好并且可以工作。我的问题是在 sqoop 方面。我正在尝试将数据从 MySQL 加载到 cassandra 列族中。该问题似乎与 sqoop import 命令中传递的 cassandra 参数有关。

./dse sqoop import --connect jdbc:mysql://10.0.0.20/amad \
      --username root \
      --table aminno_mem_email \
      --cassandra-keyspace am_cc \
      --cassandra-column-family am_cc_cf \
      --cassandra-row-key am_cc_key \
      --cassandra-thrift-host 10.0.0.13 \
      --cassandra-create-schema

当运行Sqoop会思考然后吐出这个异常

ERROR 19:44:28 Error parsing arguments for import:
ERROR 19:44:28 Unrecognized argument: --cassandra-keyspace
ERROR 19:44:28 Unrecognized argument: am_cc_2015
ERROR 19:44:28 Unrecognized argument: --cassandra-column-family
ERROR 19:44:28 Unrecognized argument: aminno_member_cf
ERROR 19:44:28 Unrecognized argument: --cassandra-row-key
ERROR 19:44:28 Unrecognized argument: aminno_member_key
ERROR 19:44:28 Unrecognized argument: --cassandra-thrift-host
ERROR 19:44:28 Unrecognized argument: 10.0.0.13
ERROR 19:44:28 Unrecognized argument: --cassandra-create-schema

如果我 运行 下面的命令并省略 cassandra 参数,它将 运行 正常并连接到 MySQL 并在DSE 目录符合预期。但是一旦它遇到第一个 cassandra 参数,它就会像上面那样失败。

./dse sqoop import --connect jdbc:mysql://10.0.0.20/amad \
      --username root \
      --table aminno_mem_email \

找遍了,还没有找到答案。我有最近的 datastax 版本,否则 运行ning 很好。似乎与使用 Sqoop 加载到 Cassandra 相关,因为其他一切正常。我应该补充一点,我已经尝试了第一个命令行,上面有几种不同的方法,例如全部内联并将所有内容分开在它自己的行上。仍然是完全相同的结果,在 cassandra 参数上失败。

命令已更改 post DSE 4.7。进行 thrift 导入的正确命令应该是:

./dse sqoop thrift-import --connect jdbc:mysql://10.0.0.20/amad \
  --username root \
  --table aminno_mem_email \
  --cassandra-keyspace am_cc \
  --cassandra-table am_cc_cf \
  --cassandra-row-key am_cc_key \
  --cassandra-host 10.0.0.13 \
  --cassandra-create-schema

请注意 --cassandra-column-family 现在是 --cassandra-table--cassandra-thrift-host 现在是 --cassandra-host.

我应该说 thrift-import 在 4.8 中已弃用,应该使用 cql-import 工具。