HBase数据库是通过(oracle jdbc连接)啥被应用程序连接的?通过(关系型是statement和sql增删)啥增删的? 50
关于HBase数据库应用程序是通过(oraclejdbc连接)啥连接到HBase数据库的?通过(关系型是statement和sql进行增删)啥进行增删改查的?是api提供...
关于HBase数据库
应用程序是通过(oracle jdbc连接)啥连接到HBase数据库的?
通过(关系型是statement和sql进行增删)啥进行增删改查的?是api提供类或方法操作HMaster来进行的吗?类似PreparedStatement(貌似是jdbc api提供)编译sql进行操作?
有没有类似mysql数据库进行建表等操作啊,也就是数据库详细设计阶段中比如建表索引等是通过后台的什么东西操作的(mysql等关系型是通过sql在后台操作)?
通过数据库后台查询一条记录是通过什么工具(关系型是第三方工具或者后台的sql界面)以怎么的方式(关系型是表格)进行显示的啊?
讲讲用HBase具体怎么搭建分布式数据环境啊,不是安装HBase,类似与在mysql数据库中创建一个具体的数据库,其他含有表格等,也就是一个完整的数据库出来。(学习中,问题很多很模糊) 展开
应用程序是通过(oracle jdbc连接)啥连接到HBase数据库的?
通过(关系型是statement和sql进行增删)啥进行增删改查的?是api提供类或方法操作HMaster来进行的吗?类似PreparedStatement(貌似是jdbc api提供)编译sql进行操作?
有没有类似mysql数据库进行建表等操作啊,也就是数据库详细设计阶段中比如建表索引等是通过后台的什么东西操作的(mysql等关系型是通过sql在后台操作)?
通过数据库后台查询一条记录是通过什么工具(关系型是第三方工具或者后台的sql界面)以怎么的方式(关系型是表格)进行显示的啊?
讲讲用HBase具体怎么搭建分布式数据环境啊,不是安装HBase,类似与在mysql数据库中创建一个具体的数据库,其他含有表格等,也就是一个完整的数据库出来。(学习中,问题很多很模糊) 展开
1个回答
展开全部
给你一个类的代码,你看看就知道怎么连接的了
import java.io.IOException;
import java.util.Map;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
public class Htable {
public static void main(String[] args) throws IOException {
// Configuration hbaseConf = HBaseConfiguration.create();
Configuration HBASE_CONFIG = new Configuration();
//与hbase/conf/hbase-site.xml中hbase.master配置的值相同
HBASE_CONFIG.set("hbase.master", "9.186.89.27:60000");
//与hbase/conf/hbase-site.xml中hbase.zookeeper.quorum配置的值相同
HBASE_CONFIG.set("hbase.zookeeper.quorum", "9.186.89.27,9.186.89.29,9.186.89.31,9.186.89.33,9.186.89.34");
//与hbase/conf/hbase-site.xml中hbase.zookeeper.property.clientPort配置的值相同
HBASE_CONFIG.set("hbase.zookeeper.property.clientPort", "2181");
Configuration hbaseConf = HBaseConfiguration.create(HBASE_CONFIG);
HBaseAdmin admin = new HBaseAdmin(hbaseConf);
// set the name of table
HTableDescriptor htableDescriptor = new HTableDescriptor("test11".getBytes());
// set the name of column clusters
htableDescriptor.addFamily(new HColumnDescriptor("cf1"));
if (admin.tableExists(htableDescriptor.getName())) {
admin.disableTable(htableDescriptor.getName());
admin.deleteTable(htableDescriptor.getName());
}
// create a table
admin.createTable(htableDescriptor);
// get instance of table.
HTable table = new HTable(hbaseConf, "test11");
// for is number of rows
for (int i = 0; i < 3; i++) {
// the ith row
Put putRow = new Put(("row" + i).getBytes());
// set the name of column and value.
putRow.add("cf1".getBytes(), (i+"col1").getBytes(), (i+"vaule1").getBytes());
putRow.add("cf1".getBytes(), (i+"col2").getBytes(), (i+"vaule2").getBytes());
putRow.add("cf1".getBytes(), (i+"col3").getBytes(), (i+"vaule3").getBytes());
table.put(putRow);
}
// get data of column clusters
for (Result result : table.getScanner("cf1".getBytes())) {
// get collection of result
for (Map.Entry<byte[], byte[]> entry : result.getFamilyMap("cf1".getBytes()).entrySet()) {
String column = new String(entry.getKey());
String value = new String(entry.getValue());
System.out.println(column + "," + value);
}
}
}
}
追问
那数据库的详细设计和集中式的详细设计有什么区别呢?分布式设计要考虑分片,分配问题,还有就是多个站点怎么设置让他们进行通信,是通过ssh,依托于HDFS?
追答
用了hbase就不用你自己考虑分片等问题了,hbase就是基于hadoop的,肯定是通过ssh通信了,另外还有rpc通信,你自己多看看资料多了解,回答也只能告诉你,解答你的疑惑。还给我分?你这可已经是另外的问题了,兄弟。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
网易云信
2023-12-06 广告
2023-12-06 广告
网易云信提供一站式的 1 对 1 UIKit 组件库,可以更快地搭建 1 对 1 社交平台,能够快速实现音视频呼叫、音视频通话、1对1消息发送、美颜和礼物功能,直接可以复用我们的组件源码就可以了。优势:1、全套1对1 UI组件,接入更快;2...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询