我正在尝试将数据从oracle表加载到cassandra表。我试着按照datastax网站文档中提到的步骤运行sqoop演示-https://docs.datastax.com/en/datastax_enterprise/4.5/datastax_enterprise/ana/anasqpdemo.html
在这里,我使用的是mysql的oracle数据库。使用datastax enterprise 5.0.2。
dse sqoop cql-import --connect 'jdbc:oracle:thin:username/password@//ip_address_of_the_host:PORT/SERVICE_NAME' --table ORACLE_TABLE_NAME --cassandra-keyspace npa_nxx --cassandra-table npa_nxx_data --cassandra-host IP_ADDRESS_CASSANDRA --cassandra-port 9042 --cassandra-column-mapping npa:npa,nxx:nxx,latitude:lat,longitude:lon,state:state,city:city
Hadoop functionality is deprecated and may be removed in a future release.
Note: /tmp/sqoop-xxxx/compile/4657cfc531e9676b9013e057157bf522/SSFS_STAGE02_NPA_NXX.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
ERROR 13:45:08,987 Encountered IOException running import job: java.io.IOException: Failed to read the table metadata
at com.datastax.bdp.sqoop.SqoopUtil.setCqlImportOptions(SqoopUtil.java:186)
at com.datastax.bdp.sqoop.CqlImportJob.configureOutputFormat(CqlImportJob.java:120)
at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:240)
at com.datastax.bdp.sqoop.SqoopUtil.importTable(SqoopUtil.java:587)
at com.datastax.bdp.sqoop.SqlManagerAdapter.importTable(SqlManagerAdapter.java:222)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:601)
at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
at com.cloudera.sqoop.Sqoop.main(Sqoop.java:57)
Caused by: java.io.IOException: --cassandra-column-mapping contains an SQL column city that does not exist in the SQL table or query
at com.datastax.bdp.sqoop.SqoopUtil.validateColumnConsistency(SqoopUtil.java:312)
at com.datastax.bdp.sqoop.SqoopUtil.setCqlImportOptions(SqoopUtil.java:168)
... 13 more
我已经测试了oracle的jdbc连接,看起来不错。
请帮助我了解这个问题,并欢迎任何建议。
谢谢拉格哈
3条答案
按热度按时间wlzqhblo1#
wz3gfoph2#
以下是oracle表的ddl:
cassandra键空间和表:
w80xi6nr3#
错误
建议您的oracle表没有正确创建,您应该再次检查它是否具有正确的架构。