HBase новичок здесь пытается получить клиентскую программу, написанную на версии HBase 0.94.19, работающую с HBase 0.98.6 (CDH 5.2). Я добавил банки HBase 0.98.6 к пути к этому пути. Я получаю эту ошибку: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Increment.setWriteToWAL(Z)Lorg/apache/hadoop/hbase/client/Increment
.Можем ли мы запускать клиентские программы, написанные для HBase 0.94, используя клиентский API 0.94 на HBase 0.98 без необходимости их изменения или перекомпиляции?
Я видел подпись метода в обеих версиях, и действительно есть разница в типе возврата.
Подпись 0.94: http://hbase.apache.org/0.94/apidocs/org/apache/hadoop/hbase/client/Increment.html#setWriteToWAL(boolean) [public Increment setWriteToWAL(boolean writeToWAL
] имеет тип возврата Increment.
0,98 Подпись: http://archive.cloudera.com/cdh5/cdh/5/hbase/apidocs/org/apache/hadoop/hbase/client/Mutation.html#setWriteToWAL(boolean) [public void setWriteToWAL(boolean write)
]
Я читал, что Hadoop1 и Hadoop2 двоично совместимы, но я не уверен, если это продолжается до HBase, а также. Могу ли я запустить это каким-либо образом, чтобы мне не пришлось изменять код или перекомпилировать его? Наверное, нет, но я хотел бы услышать от экспертов здесь об этом.
Спасибо, да, похоже, я не могу избежать повторной компиляции. – Srikanth