用java代码实现和hbase的交互

hbase和mysql数据的交互

windows系统可以识别linux

打开C:\Windows\System32\drivers\etc\hosts 设置权限为可编辑
在这里插入图片描述
在末尾添上hostname和ip地址如:192.168.56.100 xuxu

hadoop端口:9000,hive端口:10000,

java代码的交互

建立新表

idea:
public class MyHbase {
   
    public static void main(String[] args) throws Exception{
   
        Configuration conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum","192.168.56.100");
        conf.set("hbase.zookeeper.property.clientPort","2181");
        // 0.98版之后默认版本就是60000
        conf.set("hbase.master","192.168.56.100:60000");
        Connection conn = ConnectionFactory.createConnection(conf);
        // 创建一个表
        // 获得一个建表删表的对象HbaseAdmin
        Admin admin = conn.getAdmin();
        // 制造一个表名
        TableName mytesttab = TableName.valueOf("mytesttab");
        // 查询下表是否存在
        if (!admin.tableExists(mytesttab)) {
   
            // 建立一个表结构
            HTableDescriptor table = new HTableDescriptor(mytesttab);
            // 建立表下的列簇,并存放到表结构中
            HColumnDescriptor base = new HColumnDescriptor("base");
            table.addFamily(base);
            HColumnDescriptor myinfo = new HColumnDescriptor("myinfo");
            table.addFamily(myinfo);
            // 完成建表
            admin.createTable(table);
        }
    }
}

结果如下:

describe 'mytesttab'

在这里插入图片描述

扫描已存在的表:

public class MyHbase {
   
    public static void main(String[] args) throws Exception{
   
        Configuration conf = HBaseConfiguration.create();
        conf.set("hbase.zookeeper.quorum","192.168.56.100");
        conf.set("hbase.zookeeper.property.clientPort","2181");
        // 0.98版之后默认版本就是60000
        conf.set("hbase.master","192.168.56.100:60000");
        Connection conn = ConnectionFactory.createConnection(conf);
        // 取得userinfos表对象
        TableName us = TableName.valueOf("mydemo:userinfos");
        Table table = conn.getTable(us);
        Scan scan = new Scan();
        ResultScanner resultScanner =
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我们开始JavaAPI和HBase的实验吧! 以下是一些步骤和示例代码,帮助你开始使用JavaAPI与HBase进行交互。 1. 首先,你需要安装HBase并启动HBase服务。可以按照HBase官方文档进行安装和配置。 2. 创建一个Java项目,并添加HBase依赖项。可以使用Maven或Gradle管理依赖项。 3. 在Java代码中,你需要创建一个HBase连接,然后使用该连接与HBase进行交互。以下是一个示例代码片段: ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; public class HBaseExample { public static void main(String[] args) throws Exception { // 创建HBase配置对象 Configuration config = HBaseConfiguration.create(); // 指定HBase服务地址 config.set("hbase.zookeeper.quorum", "localhost"); // 创建HBase连接 Connection connection = ConnectionFactory.createConnection(config); // 关闭连接 connection.close(); } } ``` 在上面的代码中,我们使用HBaseConfiguration创建一个HBase配置对象,然后指定HBase服务地址。接着,我们使用ConnectionFactory创建一个HBase连接,并在最后关闭连接。 4. 一旦你建立了连接,你可以使用HBase API与HBase进行交互。以下是一些示例代码片段: 创建: ```java import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.TableDescriptor; import org.apache.hadoop.hbase.client.TableDescriptorBuilder; // 获取HBase管理员 Admin admin = connection.getAdmin(); // 创建描述符 TableDescriptor tableDescriptor = TableDescriptorBuilder .newBuilder(TableName.valueOf("mytable")) .addColumnFamily(ColumnFamilyDescriptorBuilder.of("cf1")) .addColumnFamily(ColumnFamilyDescriptorBuilder.of("cf2")) .build(); // 创建 admin.createTable(tableDescriptor); // 关闭管理员 admin.close(); ``` 在上面的示例中,我们使用Admin创建了一个HBase管理员,并使用TableDescriptorBuilder创建了一个描述符。接着,我们使用管理员创建了一个名为“mytable”的,并在最后关闭了管理员。 插入数据: ```java import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; // 获取对象 Table table = connection.getTable(TableName.valueOf("mytable")); // 创建一个Put对象,将数据插入“cf1”列族的“col1”列中 Put put = new Put(Bytes.toBytes("row1")); put.addColumn(Bytes.toBytes("cf1"), Bytes.toBytes("col1"), Bytes.toBytes("value1")); // 插入数据 table.put(put); // 关闭对象 table.close(); ``` 在上面的示例中,我们使用getTable()方法获取了一个HBase对象,并使用Put创建了一个Put对象。接着,我们将数据插入了“cf1”列族的“col1”列中,并在最后关闭了对象。 查询数据: ```java import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Table; // 获取对象 Table table = connection.getTable(TableName.valueOf("mytable")); // 创建一个Get对象,查询“row1”的数据 Get get = new Get(Bytes.toBytes("row1")); // 查询数据 Result result = table.get(get); // 输出查询结果 System.out.println(result); // 关闭对象 table.close(); ``` 在上面的示例中,我们使用Get创建了一个Get对象,并查询了“row1”的数据。接着,我们输出了查询结果,并在最后关闭了对象。 这些示例代码只是HBase JavaAPI的一小部分。你可以在HBase文档中找到更多的示例代码和API文档。希望这些代码能帮助你入门HBase JavaAPI。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值