【问题标题】:Sqoop import into Cassandra fails on cassandra parametersSqoop 在 cassandra 参数上导入 Cassandra 失败
【发布时间】:2016-05-13 05:37:07
【问题描述】:

我正在尝试解决以下问题。我正在使用 JobTracker 在分析模式下运行 DSE cassandra 2.1.13,它运行良好并且工作正常。我的问题是在 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 目录中创建后续的 jar 和 java 文件。但是一旦遇到第一个 cassandra 参数,它就会像上面一样失败。

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

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

【问题讨论】:

  • 你在哪个版本的 dse 上运行这个?
  • 我在 OpenJDK 1.7.x 上运行 DSE 4.8.4、OpsCenter 5.2.4 和 DS-agent 5.2.4

标签: mysql ubuntu-14.04 cassandra-2.0 datastax-enterprise sqoop


【解决方案1】:

命令在 DSE 4.7 后更改。进行节俭导入的正确命令应该是:

./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 工具。

【讨论】:

  • 谢谢,这行得通。希望我能在我的研究中遇到这种情况。
猜你喜欢
  • 2014-04-22
  • 2018-04-28
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
相关资源
最近更新 更多