【发布时间】:2020-11-21 16:35:21
【问题描述】:
我目前正在尝试使用 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.Result;
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 行时,同样的事情也会发生。
感谢您的帮助。
【问题讨论】: