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数据库中创建一个具体的数据库,其他含有表格等,也就是一个完整的数据库出来。(学习中,问题很多很模糊)
展开
 我来答
zhaokun880910
2013-09-02
知道答主
回答量:10
采纳率:0%
帮助的人:3.4万
展开全部
给你一个类的代码,你看看就知道怎么连接的了

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 广告
网易云信提供一站式的 1 对 1 UIKit 组件库,可以更快地搭建 1 对 1 社交平台,能够快速实现音视频呼叫、音视频通话、1对1消息发送、美颜和礼物功能,直接可以复用我们的组件源码就可以了。优势:1、全套1对1 UI组件,接入更快;2... 点击进入详情页
本回答由网易云信提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式