#python #hbase #amazon-emr
#python #hbase #amazon-emr
Вопрос:
В настоящее время я использую библиотеку pybase для записи данных в hbase через python. Я всегда мог писать в hbase 1.0, однако недавний переход на hbase 2.0 вызывает проблемы. Основная ошибка, которую я вижу прямо сейчас, возникает, когда я пытаюсь выполнить запись в свою таблицу Hbase 2.0.
org.apache.hadoop.hbase.exceptions.UnknownProtocolException. Remote traceback:
org.apache.hadoop.hbase.exceptions.UnknownProtocolException: Is this a pre-hbase-1.0.0 or asynchbase client? Client is invoking getClosestRowBefore removed in hbase-2.0.0 replaced by reverse Scan.
at org.apache.hadoop.hbase.regionserver.RSRpcServices.get(RSRpcServices.java:2541)
at org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:42274)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:418)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
Любая помощь в этом отношении будет принята с благодарностью.. Спасибо!
Ответ №1:
Похоже, что в pybase не было обновлений в течение нескольких лет, поэтому, скорее всего, он не может корректно работать с HBase 2.0, что внесло некоторые несовместимые изменения. Боюсь, вам придется переключиться на другую библиотеку, например happybase или easybase.
Комментарии:
1. Мы хотим избежать использования thrift server и поэтому решили не использовать happybase … знакомы ли вы с какими-либо другими библиотеками, которые не используют thrift?
2. Нет, к сожалению, я не знаю о таких библиотеках. Похоже, мало кто использует REST вместо thrift, но я уверен, что они вам тоже не понадобятся.