8-5 HBase 开发:使用Java操作HBase

这篇具有很好参考价值的文章主要介绍了8-5 HBase 开发:使用Java操作HBase。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第一关:

命令行:

代码:

第二关:添加数据

命令行:

代码:

第三关:获取数据

命令行:

代码:

第四关:

代码:


第一关:

命令行:

start-dfs.sh

start-hbase.sh

hadoop fs -ls /hbase

代码:

HBase中创建表dept,emp,列都为:data

Configuration config = HBaseConfiguration.create();

//使用create()静态方法就可以得到Configuration对象

Connection connection = ConnectionFactory.createConnection(config);

 //config为前文的配置对象

Admin admin = connection.getAdmin();                   //使用连接对象获取Admin对象

TableName tableName1 = TableName.valueOf("dept");         //定义表名

TableName tableName2 = TableName.valueOf("emp");  

HTableDescriptor htd1 = new HTableDescriptor(tableName1);           //定义表对象

HTableDescriptor htd2 = new HTableDescriptor(tableName2);    

HColumnDescriptor hcd1 = new HColumnDescriptor("data");      //定义列族对象

HColumnDescriptor hcd2 = new HColumnDescriptor("data");

htd.addFamily(hcd1); //添加

htd.addFamily(hcd2);

admin.createTable(htd1);//创建表

admin.createTable(htd2);

第二关:添加数据

命令行:

start-dfs.sh

start-hbase.sh

hadoop fs -ls /hbase

stop-dfs.sh

stop-hbase.sh

代码:

在HBase中创建表tb_step2,列簇都为:data,添加数据:

行号分别为:row1,row2;

列名分别为:1,2;

值分别为:张三丰,张无忌。

//创建表

Configuration config = HBaseConfiguration.create();

Connection connection = ConnectionFactory.createConnection(config);

Admin admin = connection.getAdmin();                   //使用连接对象获取Admin对象



TableName tableName = TableName.valueOf("tb_step2");           //定义表名

HTableDescriptor htd = new HTableDescriptor(tableName);        //定义表对象

HColumnDescriptor hcd = new HColumnDescriptor("data");  //定义列族对象

htd.addFamily(hcd); //添加

admin.createTable(htd);//创建表
//添加数据:

Table table = connection.getTable(tableName);//获取Table对象

try {

    byte[] row1=Bytes.toBytes("row1");

            byte[] row2=Bytes.toBytes("row2");

            Put put1=new Put(row1);

            Put put2=new Put(row2);

            byte[] columnFamily=Bytes.toBytes("data");

            byte[] qualifier1=Bytes.toBytes(String.valueOf(1));

            byte[] qualifier2=Bytes.toBytes(String.valueOf(2));

            byte[] value1=Bytes.toBytes("张三丰");

            byte[] value2=Bytes.toBytes("张无忌");

            put1.addColumn(columnFamily, qualifier1, value1);;

            put2.addColumn(columnFamily,qualifier2,value2);

            table.put(put1);

            table.put(put2);

} finally {

    //使用完了要释放资源

    table.close();

}

第三关:获取数据

命令行:

start-dfs.sh

start-hbase.sh

hadoop fs -ls /hbase

输出t_step3表中行号为row1,列族为data:1的值(以utf-8编码),

输出table_step3表中所有行的行名称(因为直接输出scannerResult会带有时间戳,所以输出行名方便测评)。

代码:

Configuration config = HBaseConfiguration.create();

 Connection connection = ConnectionFactory.createConnection(config);

 Admin admin = connection.getAdmin();

 TableName tableName = TableName.valueOf("t_step3");

 Table table = connection.getTable(tableName);

#获取指定行的数据

//获取数据

Get get = new Get(Bytes.toBytes("row1"));    //定义get对象

Result result = table.get(get);            //通过table对象获取数据

System.out.println("Result: " + result);

byte[] valueBytes = result.getValue(Bytes.toBytes("data"), Bytes.toBytes("1"));

String valueStr = new String(valueBytes,"utf-8");

System.out.println("value:" + valueStr);

#扫描表中的数据文章来源地址https://www.toymoban.com/news/detail-776443.html

Scan scan = new Scan();

ResultScanner scanner = table.getScanner(scan);

try {

    for (Result scannerResult: scanner) {

        System.out.println("Scan: " + scannerResult);

         byte[] row = scannerResult.getRow();

         System.out.println("rowName:" + new String(row,"utf-8"));

    }

} finally {

    scanner.close();

}

第四关:

代码:

Configuration config = HBaseConfiguration.create();

 Connection connection = ConnectionFactory.createConnection(config);

 Admin admin = connection.getAdmin();

 TableName tableName = TableName.valueOf("t_step4");

 admin.disableTable(tableName);

 admin.deleteTable(tableName);

到了这里,关于8-5 HBase 开发:使用Java操作HBase的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HBase Java API 开发:批量操作 第2关:批量删除数据

    删除单行数据 删除一行数据很简单,我们来看个示例: 这段代码就可以删除行键为 row1 的行。 删除多行数据 如何删除多行数据呢? 相信你已经猜到了,既然 get() 方法有重载方法,那应该 delete() 方法也有,确实: 这样就可以删除多行数据啦。 编程要求 还等啥,亲自试一试

    2024年02月05日
    浏览(56)
  • Hbase数据库完全分布式搭建以及java中操作Hbase

    基础的环境准备不在赘述,包括jdk安装,防火墙关闭,网络配置,环境变量的配置,各个节点之间进行免密等操作等。使用的版本2.0.5. 参考官方文档 分布式的部署,都是在单节点服务的基础配置好配置,直接分发到其他节点即可。 jdk路径的配置,以及不适用内部自带的zk. 配

    2024年02月03日
    浏览(49)
  • HBase开发: Java API 管理表 第1关:JavaAPI获取表的列表

    本关我们来使用 JavaApi 对 HBase 中的表进行管理,第一关我们来学习如何列出所有的表。 获取表的列表 如何使用 Java 列出 HBase 中所有的表呢? 在HBase中我们要获取一张表的基本信息需要用到一个类: TableDescriptor ; 通过 TableDescriptor 我们可以获取表的名字,列族等信息; 好了

    2024年02月07日
    浏览(38)
  • 在HBase中执行查询操作通常使用HBase Shell或编程语言API(如Java或Python)来执行

    在HBase中执行查询操作通常使用HBase Shell或编程语言API(如Java或Python)来执行。以下是使用HBase Shell进行查询的一些示例: 单行查询:获取指定行键的数据。 扫描表:按行范围获取表中的多个行的数据。 过滤器查询:使用过滤器指定查询条件来获取数据。 列族查询:获取指

    2024年01月21日
    浏览(47)
  • 【Hbase】hbase的java api操作(3)

    目录 这篇文章的源码比较多,需要的私信我 需求与数据集 准备工作 下载安装maven 下载安装idea 配置国内的maven镜像库 创建一个maven工程 修改pom文件,导入相关的依赖 复制Hadoop的配置文件core-site.xml和HBase的配置文件hbase-site.xml到resources目录中 创建包结构 创建hbase连接类及管理

    2023年04月12日
    浏览(37)
  • HBase数据表查询操作和获取多版本数据

    HBase数据模型是一个多维稀疏映射。 HBase中的表包含列族,其列限定符包含值和时间戳。在大多数 HappyBase API 中,列族和限定符名称被指定为单个字符串,例如cf1:col1,而不是作为两个单独的参数。虽然列族和限定符在 HBase 数据模型中是不同的概念,但它们在与数据交互时几

    2024年02月15日
    浏览(45)
  • 3、HBase的java API基本操作(创建、删除表以及对数据的添加、删除、查询以及多条件查询)

    1、hbase-2.1.0介绍及分布式集群部署、HA集群部署、验证、硬件配置推荐 2、hbase-2.1.0 shell基本操作详解 3、HBase的java API基本操作(创建、删除表以及对数据的添加、删除、查询以及多条件查询) 4、HBase使用(namespace、数据分区、rowkey设计、原生api访问hbase) 5、Apache Phoenix(5.0.0-5.

    2024年02月08日
    浏览(65)
  • NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049

    首先看一下整体流程,可以看到这里用的PutHbaseJson处理器,把数据导入到 hbase中的 注意这里也可以使用PutSql导入数据,通过phoenix的jdbc驱动,然后把数据利用PutSql处理器导入到 Hbase中,但是我这里的时候报错了,然后一直没解决,所以最后用了PutHbaseJson处理器,把数据存入到Hbase中去.  

    2024年02月06日
    浏览(45)
  • java实现hbase数据导出

    1.1 依赖 1.2 配置及代码 1.2.1 get方式 1.3.1 Scan方式 2.1 依赖 2.2 配置文件 hbase-site.xml: 2.3 导出的代码

    2024年02月06日
    浏览(40)
  • java: 从HBase中读取数据

    一、添加依赖: 二、使用Scanner读取数据示例:

    2024年01月24日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包