1

我必须将数据从一个集群迁移到另一个集群,对数据进行一些转换。我正在尝试使用 Kettle 在本教程之后执行此操作:

http://wiki.pentaho.com/display/EAI/Cassandra+Input

但是我正在尝试从通过 cli(在以前版本的 Cassandra 中)创建的动态列族中读取:

使用 read_repair_chance=0 和 gc_grace=0 创建列族 IndividualMorphsIndividuals;

我创建这样的 cassandra 输入步骤:

在此处输入图像描述

当我单击显示架构时,会出现以下信息:

列族:IndividualMorphsIndividuals 密钥验证器:org.apache.cassandra.db.marshal.BytesType 列比较器:org.apache.cassandra.db.marshal.BytesType 默认列验证器:org.apache.cassandra.db.marshal.BytesType 读取修复机会:0.0 GC 宽限期:0 最小压缩阈值:4 最大压缩阈值:32 写入时复制:true

Column metadata:

但是当我尝试预览该步骤时,我收到此错误:

2013/11/06 08:17:22 - Cassandra Input.0 - Getting meta data for column family IndividualMorphsIndividuals
2013/11/06 08:17:22 - Cassandra Input.0 - Executing query SELECT * FROM IndividualMorphsIndividuals;  ...
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) : Unexpected error
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) : org.pentaho.di.core.exception.KettleException: 
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) : Cant find a deserializer for type "{0}"
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) : 
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) :  at org.pentaho.cassandra.CassandraColumnMetaData.getColumnValue(CassandraColumnMetaData.java:965)
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) :  at org.pentaho.cassandra.CassandraColumnMetaData.getColumnName(CassandraColumnMetaData.java:878)
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) :  at org.pentaho.di.trans.steps.cassandrainput.CassandraInputData.cassandraRowToKettle(CassandraInputData.java:567)
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) :  at org.pentaho.di.trans.steps.cassandrainput.CassandraInput.processRow(CassandraInput.java:271)
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) :  at org.pentaho.di.trans.step.RunThread.run(RunThread.java:50)
2013/11/06 08:17:22 - Cassandra Input.0 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) :  at java.lang.Thread.run(Thread.java:722)
2013/11/06 08:17:22 - Cassandra Input.0 - Finished processing (I=0, O=0, R=0, W=0, U=0, E=1)
2013/11/06 08:17:22 - Spoon - The transformation has finished!!
2013/11/06 08:17:22 - Transformation 1 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) : Errors detected!
2013/11/06 08:17:23 - Transformation 1 - ERROR (version 4.4.0-stable, build 17588 from 2012-11-21 16.02.21 by buildguy) : Errors detected!

有谁知道如何使用 Kettle 操作这种列族?

谢谢

4

1 回答 1

0

我也被这个问题困住了,但没有找到任何解决方案,所以我改用 cql(cassandra 查询语言)而不是 CLI,因为我使用的是 pdi 4.4,所以我们必须为 CQL 添加 1 个插件,然后你可以轻松连接卡桑德拉到水壶。

按照链接通过 CQL 连接 cassandra

通过 CQL 连接 Cassandra

于 2013-11-18T09:40:01.770 回答