Hbase之遍历获取数据

2023-05-16

转载:[Hbase之遍历获取数据] http://www.cnblogs.com/similarface/p/5799460.html

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import java.io.IOException;

/**
 * 遍历获取数据
 */
public class ScanAccessData {
    public static void main(String[] args) throws IOException {
        Configuration configuration = HBaseConfiguration.create();
        Connection connection = ConnectionFactory.createConnection(configuration);
        //建立表的连接
        Table table = connection.getTable(TableName.valueOf("testtable"));
        //创建一个空的Scan实例
        Scan scan1 = new Scan();
        //在行上获取遍历器
        ResultScanner scanner1 = table.getScanner(scan1);
        //打印行的值
        for (Result res : scanner1) {
            System.out.println(res);
        }
        //关闭释放资源
        scanner1.close();

        Scan scan2 = new Scan();
        //添加限定列族
        scan2.addFamily(Bytes.toBytes("colfam1"));
        ResultScanner scanner2 = table.getScanner(scan2);
        for (Result res : scanner2) {
            System.out.println(res);
        }
        scanner2.close();

        Scan scan3 = new Scan();
        //添加限定列族 列分隔 行偏移
        scan3.addColumn(Bytes.toBytes("colfam1"), Bytes.toBytes("col-5")).
                addColumn(Bytes.toBytes("colfam2"), Bytes.toBytes("col-33")).
                setStartRow(Bytes.toBytes("row-10")).
                setStopRow(Bytes.toBytes("row-20"));
        ResultScanner scanner3 = table.getScanner(scan3);
        for (Result res : scanner3) {
            System.out.println(res);
        }
        scanner3.close();

        Scan scan4 = new Scan();
        scan4.addColumn(Bytes.toBytes("colfam1"),
                Bytes.toBytes("col-5")).
                setStartRow(Bytes.toBytes("row-10")).
                setStopRow(Bytes.toBytes("row-20"));
        ResultScanner scanner4 = table.getScanner(scan4);
        for (Result res : scanner4) {
            System.out.println(res);
        }
        scanner4.close();

        Scan scan5 = new Scan();
        //添加倒序
        scan5.addColumn(Bytes.toBytes("colfam1"), Bytes.toBytes("col-5")).
                setStartRow(Bytes.toBytes("row-20")).
                setStopRow(Bytes.toBytes("row-10")).
                setReversed(true);
        ResultScanner scanner5 = table.getScanner(scan5);
        for (Result res : scanner5) {
            System.out.println(res);
        }
        scanner5.close();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hbase之遍历获取数据 的相关文章

  • Spark 使用数据局部性吗?

    我正在尝试了解 Apache Spark 的内部结构 我想知道 Spark 是否使用某些机制来确保从 InputFormat 读取或写入 OutputFormat 或 Spark 本机支持的其他格式而不是从 MapReduce 派生的格式
  • HBase更新操作

    我是HBase新手 我发现HBase客户端API不支持更新操作 那是对的吗 如果是这样 更新特定行键的值的建议最佳实践是什么 您可以使用 PUT 来创建或更新任何单元格的值 你don t需要使用删除 除非您希望新版本不包含某些旧单元格 说我
  • SparkSQL+Hive+Hbase+Hbase集成不起作用

    当我尝试连接配置单元表 正在使用 时出现错误 通过 Hbase 集成创建 在 Spark 中 我遵循的步骤 Hive表创建代码 CREATE TABLE test sample id string name string STORED BY
  • 如何通过部分行键过滤HBase的Scan?

    我有带有行键的 HBase 表 其中包含文本 ID 和时间戳 如下所示 string id1 1470913344067 string id1 1470913345067 string id2 1470913344067 string id
  • 当在HBase中反转Scan时,哪个是startKey,哪个是stopKey?

    我使用的是 HBase 0 98 它允许以相反的顺序进行扫描 这是我的代码 scan new Scan eventTimeKey nowKey scan setCaching 1 setting this to 1 since I only
  • 稀疏数据/数据存储/数据库是什么意思?

    最近一直在阅读 Hadoop 和 HBase 并遇到这个术语 HBase 是一个开源 分布式 sparse 柱状店 他们所说的稀疏是什么意思 这有什么关系吗 稀疏矩阵 http en wikipedia org wiki Sparse ma
  • 高效查询Hbase

    我使用 Java 作为查询 Hbase 的客户端 我的 Hbase 表设置如下 ROWKEY HOST EVENT 21 1465435 host hst com clicked 22 1463456 hlo wrld com dragge
  • 将 protobuf3 与一些依赖于 Java 中的 protobuf2 的库一起使用

    我使用protobuf3来表示我们的数据 虽然我们需要hbase来存储数据 但似乎hbase依赖于protobuf2 当我编写以下行来创建 hbase 表时 admin createTable desc 然后我得到一个例外 NoClassD
  • 我的 cdh5.2 集群在运行 hbase MR 作业时出现 FileNotFoundException

    我的 cdh5 2 集群运行 hbase MR 作业时出现问题 例如 我将 hbase 类路径添加到 hadoop 类路径中 vi etc hadoop conf hadoop env sh 添加行 export HADOOP CLASSP
  • Titan-1.0.0+Hbase-0.98.20使用java远程模式连接错误

    我正在学习Titan数据库 我已经在本地模式下成功运行了它 现在 我尝试在 Titan 文档中介绍的 远程服务器模式 下使用 Titan 数据库 我的 Titan 版本是 Titan 1 0 0 hadoop1 我的 LAN 中有集群 包括
  • 如何将多个 QualifierFilter 应用于 HBase 中的一行

    我们想使用两个 QualifierFilters 过滤 HBase 表上的扫描 意味着我们只想获取表中确实具有特定列 col A 的行AND 某个其他列 col B 我们当前的方法如下所示 FilterList filterList new
  • 错误:org.apache.hadoop.hbase.MasterNotRunningException:null+hbase+hadoop

    我最近用两台机器 在ubuntu上 配置了hadoop集群 到目前为止效果很好 但是当我尝试在上面的 hadoop 集群上配置 hbase 时 它 显示错误 这就是我所做的 我有两台机器 192 168 1 110 Hadoop主站 192
  • 如何确定 HBase 表的大小?有什么命令可以这样做吗?

    我的 Hbase shell 上有多个表 我想将它们复制到我的文件系统上 有些表超过 100GB 但是 我的本地文件系统中只剩下 55GB 可用空间 因此 我想知道 hbase 表的大小 以便我可以仅导出小尺寸的表 任何建议表示赞赏 谢谢
  • 如何定义Titan Graph DB Vertex的数据类型?

    我正在使用 Titan 和 Blueprint API 创建图形数据表 我使用 HBase 作为后端 我知道如何定义关键索引的数据类型 Example TitanKey name graph makeType name name dataT
  • 如果 HBase 不是运行在分布式环境中,它还有意义吗?

    我正在构建数据索引 这将需要以形式存储大量三元组 document term weight 我将存储多达几百万个这样的行 目前我正在 MySQL 中将其作为一个简单的表来执行 我将文档和术语标识符存储为字符串值 而不是其他表的外键 我正在重
  • 计算 HBase 表中列族的记录数

    我正在寻找一个 HBase shell 命令来计算指定列族中的记录数 我知道我可以运行 echo scan table name hbase shell grep column family name wc l 然而 这将比标准计数命令运行
  • 获取行 HBase 的特定列族中的列

    我正在编写一个应用程序 通过 JSP 显示 HBase 中特定表中的数据 我想获取一行的特定列族中的所有列 有什么办法可以做到这一点吗 public String getColumnsInColumnFamily Result r Stri
  • 使用 Cassandra 进行单元版本控制

    我的应用程序使用 AbstractFactory 作为 DAO 层 因此一旦实现了 HBase DAO 系列 创建 Cassandra DAO 系列并从多个角度查看差异对我来说将是非常好的 不管怎样 试图做到这一点 我看到 Cassandr
  • HBase、Hadoop:如何估计 HBase 表或 Hadoop 文件系统路径的大小?

    我有多个 HBase 表 如何估计在 java 中使用的表的大致大小 一种方法是你必须使用java客户端访问hdfs 通常在 hbase文件夹 所有表格信息 将在场 Hadoop 外壳 你可以检查使用hadoop fs du h path
  • 如何决定使用哪种NoSQL技术? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 MongoDB 基于文档 HBase 基于列 和 Neo4j 对象图 的优缺点是什么 我特别有兴趣了解

随机推荐

  • fastboot 命令

    1 fastboot概念 fastboot fastboot是PC与bootloader的USB通信的命令行工具 xff0c 通过向bootloader传送刷机文件 xff08 img xff09 实现Android系统分区重烧 fastb
  • Android Studio 开启视图绑定 viewBinding

    Google 在 Android Studio 3 6 Canary 11 及更高版本中提供了一个 viewBinding 的开关 xff0c 可以开启视图绑定功能 xff0c 以此来替代 findViewById viewBinding功
  • ViewPager 装载fragment 页面显示空白

    ViewPager 装载fragment 页面显示空白 xff0c 这个时候有两种情况 xff1a 在分页面较多的情况下 使用了 FragmentPagerAdapter xff0c 可能会导致第二次加载页面显示空白或是多次滑动页面后页面空
  • The following packages have unmet dependencies: openssh-server : Depends: openssh-client (= 1:6.6p1

    在虚拟机中安装openssh server的时候报了这个错误 xff0c 不知道这台虚拟机抽了什么风 xff0c 别的虚拟机都能顺利安装 xff0c xff0c xff0c 提示说是openssh server 依赖于 openssh cl
  • Docker Desktop stopped 问题解决

    推广博客 xff1a Docker Desktop stopped 问题解决
  • windows连接远程桌面必须要有用户名和密码

    被远程连接的电脑如果有用户名但没有密码 xff0c 连接时需要输入密码时空着会导致无法连接 想想也是 xff0c 如果没有密码 xff0c 只要有人连入电脑所在局域网 xff0c 就可以通过ip地址和用户名连入电脑 xff0c 非常不安全
  • Android中APK签名工具之jarsigner和apksigner详解

    一 工具介绍 jarsigner是JDK提供的针对jar包签名的通用工具 位于JDK bin jarsigner exe apksigner是Google官方提供的针对Android apk签名及验证的专用工具 位于Android SDK
  • Android NumberPicker的基本用法及常见问题汇总

    前言 在项目中需要一个选择人数的控件 xff0c 于是想到了NumberPicker xff0c 这个控件相对不是那么热门 xff0c 我也是第一次用 xff0c 所以遇到了一些问题 xff0c 这里做个小结 正文 首先来看一下最终的效果
  • angular将html代码输出为内容

    在前端与后台的撕逼中 xff0c 很大一部分是因为数据的问题 使用angular会遇到这样的问题 xff0c 后台返回的数据不是自己想要的纯字符串 xff0c 而是带有html标签及属性的 xff0c 那么我们将它输出来后 xff0c 在页
  • Jetpack新成员,App Startup一篇就懂

    Android 11系统已经来了 xff0c 随之而来的是 xff0c Jetpack家族也引入了许多新的成员 其实以后Android的更新都会逐渐采用这种模式 xff0c 即特定系统相关的API会越来越少 xff0c 更多的编程API是以
  • appWidget

    构建应用微件 应用微件是可以嵌入其他应用 xff08 如主屏幕 xff09 并接收定期更新的微型应用视图 这些视图称为界面中的微件 xff0c 您可以使用应用微件提供程序发布微件 能够容纳其他应用微件的应用组件称为应用微件托管应用 下面的屏
  • Jetpack新成员,Paging3从吐槽到真香

    各位小伙伴们大家早上好 随着Android 11的正式发布 xff0c Jetpack家族也引入了许多新的成员 我之前有承诺过 xff0c 对于新引入的App Startup Hilt Paging 3 xff0c 我会分别写一篇文章进行介
  • kotlin--综合运用Hilt、Paging3、Flow、Room、Retrofit、Coil等实现MVVM架构

    前面我们使用Java来运用JetPack中的一系列组件 xff0c 又使用kotlin运用这些组件实现了一系列功能 xff1a kotlin Flow文件下载kotlin Flow结合Room运用kotlin Flow结合retrofit运
  • kotlin基本类型

    基本类型 在 Kotlin 中 xff0c 所有东西都是对象 xff0c 在这个意义上讲我们可以在任何变量上调用成员函数与属性 一些类型可以有特殊的内部表示 例如 xff0c 数字 字符以及布尔可以在运行时表示为原生类型值 xff0c 但是
  • SQL 外来键的用法 references

    外来键是一个 或数个 指向另外一个表格主键的栏位 外来键的目的是确定资料的参考完整性 referential integrity 换言之 xff0c 只有被准许的资料值才会被存入资料库内 举例来说 xff0c 假设我们有两个表格 xff1a
  • SQLite设置_id自增的方法

    只需在建表的时候指定类型 xff1a INTEGER PRIMARY KEY AUTOINCREMENT 然后在存入数据的时候不设置其值 xff08 或设置为null xff09 即可 如建表 xff1a sql view plain co
  • 通过加密算法实现数据的完整性、机密性及身份验证

    一般互联网上加密算法分为三种 xff1a 对称加密 单向加密 非对称加密 下面就来介绍下如何通过上面的三种加密算法实现数据的机密性 完整性及身份验证 对称机密算法 xff1a 对称加密算法提供加密算法本身并要求用户提供密钥以后 xff0c
  • Android Dagger2 MVP架构 一看就明白

    Dagger2介绍 好了 xff0c 介绍一下Dagger2吧 xff01 Dagger2 是Google 的新一代依赖注入框架 xff08 依赖注入不讲 xff0c 你都看到这篇文章了 xff0c 那你应该懂 xff0c 如果不懂 xff
  • 安装Ubuntu双系统遇到分辨率问题

    主机型号为拯救者刃7000k xff0c RTX3060Ti 初次安装使用教程为 xff1a 10条消息 Windows11安装Ubuntu 20 04 3 LTS双系统 xff08 详细过程 xff09 Meruz的博客 CSDN博客 1
  • Hbase之遍历获取数据

    转载 xff1a Hbase之遍历获取数据 http www cnblogs com similarface p 5799460 html span class hljs keyword import span org apache had