Подключение к таблице в HBase

#java #bigdata #hbase #data-analysis

Вопрос:

Я создал таблицу в HBase с именем notifications . Я хочу подключиться к этой таблице для выполнения операций вставки и удаления.

Код, который я использовал для создания соединения, выглядит так:

 Configuration conf = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(conf);
Table table = connection.getTable(TableName.valueOf("notifications"));
 

Но это, похоже, не работает.

Комментарии:

1. Привет, вы хотите, чтобы это работало только на JAVA или python также работал на вас ?

Ответ №1:

Вы поставляете hbase-site.xml вместе с приведенным выше кодом, и вы уверены, что ваше приложение находит его правильно?

Вашему приложению необходимо знать адрес кворума zookeeper и номер порта для подключения. Обычно вы указываете их в hbase-site.xml, которые ваше приложение должно иметь возможность видеть. Но если вы хотите быть уверены, что подключаетесь в нужном месте, вы можете установить самые основные значения программно непосредственно в своем коде, например так:

 Configuration conf = HBaseConfiguration.create();
conf.set("hbase.zookeeper.quorum", "zk1,zk2,zk3");
conf.set("hbase.zookeeper.property.clientPort", "2181");
Connection connection = ConnectionFactory.createConnection(conf);
Table table = connection.getTable(TableName.valueOf("notifications"));
 

Таким образом, вышесказанное предполагает, что у вас есть 3 узла zk zk1, zk2 и zk3, и они используют порт 2181 (значение по умолчанию для hbase, но вы можете дважды проверить свой hbase-site.xml на стороне сервера)

Ответ №2:

В чем заключается ошибка, которую вы получаете? Проверьте, есть ли у вас hbase-site.xml amp; core-site.xml файлы конфигурации в пути к классу. Если нет, добавьте его в конфигурацию перед созданием соединения.