0

ソース コードで次のエラーが発生します。

java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HColumnDescriptor.setMaxVersions(I)V

hbase-0.92.1-cdh4.1.1 から hbase-0.94.2-cdh4.2.0 にアップグレードすると、メソッドのシグネチャが

public void setMaxVersions(int maxVersions)

public HColumnDescriptor setMaxVersions(int maxVersions)

バイナリ互換性が失われていると推測しています。誰かがこれをどのように解決できるかについて光を当てることができますか? ありがとう。

4

1 に答える 1

1

Java リフレクションを使用してこれを行うことができます。

HColumnDescriptor fam1 = new HColumnDescriptor(Bytes.toBytes('cf'));
Method method = fam1.getClass().getMethod("setMaxVersions", Integer.TYPE);
method.invoke(fam1, 10);
于 2014-01-10T15:53:04.833 に答える