#java #hadoop #hbase
#java #hadoop #hbase
Вопрос:
В настоящее время я пытаюсь использовать HBase Java API. У меня возникла проблема, для которой я не смог найти никакого решения.
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Resu<
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.client.Admin;
public class Test_Jo{
public static void main(String[] args){
Configuration conf = HBaseConfiguration.create();
System.out.println("[i] Config: " conf);
try {
Connection conn = ConnectionFactory.createConnection(conf);
System.out.println("[ ] Connection: " conn);
// Connect to table
Table table = conn.getTable(TableName.valueOf("nmsp_test:test"));
System.out.println("[ ] Table: " table);
Get g = new Get(Bytes.toBytes("row_1"));
System.out.println("[ ] Get: " g);
//Result result = table.get(g);
//System.out.println("[ ] Result: " result);
//byte [] JSON = result.getValue(Bytes.toBytes("JSON"), Bytes.toBytes("data"));
//System.out.println("JSON: " Bytes.toString(JSON));
Admin admin = conn.getAdmin();
System.out.println("[ ] Admin: " admin);
Boolean bool = admin.tableExists(TableName.valueOf("nmsp_test:test"));
System.out.println("[i] Table exists: " bool);
} catch (IOException e) {
System.out.println(e);
}
}
}
Все будет выполняться до тех пор, пока программа не достигнет admin.tableExists
строки, затем она просто зависает и ничего не делает. То же самое происходит в выделенной части кода, когда он попадает в table.get
строку.
Я ценю любую помощь.
Ответ №1:
Проблема была решена после копирования файлов конфигурации из hbase и hadoop в каталог проекта.