1
votes

I am trying to work through the following problem. I am running DSE cassandra 2.1.13 in Analytics mode with a JobTracker, this is running fine and works. My problem is on the sqoop side of things. I am trying to load data from MySQL into a cassandra column family. The issue seems to be related to the cassandra parameters passed in the sqoop import command.

./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

When run Sqoop will think about it and then spit this exception out

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

If I run the command below and omit the cassandra params it will run fine and connect to MySQL and create a subsequent jar and java file in the DSE dir as expected. But once it hits the first cassandra param it fails as above.

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

Searched all over, but have not found an answer to this. I have recent datastax releases that have been running fine otherwise. Seems to be related to using Sqoop to load into Cassandra as all else works fine. I should add that I have tried that very first command line above a few different ways such as all inline and separating everything out on it's own line. still the same exact results, fails on the cassandra params.

1
What version of dse are you running this on?mikea
I am running DSE 4.8.4, OpsCenter 5.2.4 and DS-agent 5.2.4 on OpenJDK 1.7.xapesa

1 Answers

1
votes

The commands changed post DSE 4.7. The correct command for doing a thrift import should be:

./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

Note that the --cassandra-column-family is now --cassandra-table and the --cassandra-thrift-host is now --cassandra-host.

I should say that thrift-import is deprecated in 4.8 and the cql-import tool should be used instead.