hbase代码说明(通话记录查询)

2023-05-16

Hbase的项目(通话记录查询)

写java的包

导入jar包

Hbase的包,hadoop的包,驱动包

配置文件(hbase,hdfs,regionserver,backup)

建类

设置单机测试

Bulidpath————>addlibrary--->jUnit————》jUnit4

正式些代码:

链接hbase,写类来管理

Hbaseadmin admin=null;

@before

创建对象

Configuration:创建类

 

@Test

Createtable;创建表

连接上之后,配置文件就没有意义了,可以删除了。

 

Client客户端链接zk,

@Test

创建表之后加数据

加数据举,一律用put

没有put的话,就去创建put

创建表之前,需要创建rowkey=“1111”

然后将列族加载put中

接着就可以插入数据了

@test

插入完数据之后就是取数据了

Get

首先要创建get对象

在用get取数据之前,需要创建rowkey列族

取数据,所以需要结果的,所以创建result结果集

取到的结果存放在cell中,cell=rs.getcolumnlatestcell

取到数据,最后还需要打印

 

上边的过时了

 

System.out.println(new String(cell.getValue()));

上边的过时了,替代码:

System.out.println(new String(cellUtil.cloneValue(cell)));

 

@Test

第二种取数据的方法:scan

首先需要创建结果集resultscanner

再用scanner取数据的时候,需要先创建scan对象

Scan scan=new Scan();

Resultscanner rss=table.getScanner(scan)

套用for循环输出

 

代码优化:可以将scan设置一个范围,这样取出来的是一串连续的数据

 

通话记录:

本机号码

对方号码

时间

时长

主叫/被叫

查询只能查询最近的数据,远一些的数据,不是丢失了,而是以一种比较小的打包方式保存起来了。

 

五个字段保存需要设计rowkey

Rowkey是按照时间戳

手机号—时间戳

时间戳按照最近的时间去减。

手机号—(long.max-time)

Hadoop是分析离线数据的。

 

@test

给10个用户,每个用户添加100条数据记录

用for循环插入

首先每起个用户

String phoneNum=getPhoneNum(“158”),同时创建getPhoneNum类,并且给出格式

 

在内层循环里给出:

手机号

永华时长

通话类型

通话时间

都要给出格式

时间:dateString=sdf.parse(getDate(“2018”)

S四个属性都有了的时候,即可创建rowkey了,

String rowkey=phone+”-”+(Long.max-value-dateString);

用最大的时间一次相减,得出时间戳,既可以倒序排序了。这样创建rowkey,以时间戳作为rowkey了

后边就可以创建put去插入数据了

@test

取数据,分别有两种方式(get 和 scan)

查询二月份的通话时间,即:20180101000000-20180301000000

首先是指定手机号码

取数据的时候,要拿到rowkey,因为是时间段,拿到起始的rowkey和末尾的rowkey

将起始的和末尾的放进去,然后创建结果集,用结果集去接收

然后,打印输出。

优化就是减少重复数据

 

@Test

查询某一个用户某一天主叫的通话,相当于where子查询,在这里不是where,而是过滤器

创建过滤器

添加前缀(列有前缀prefix,没有后缀的)

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hbase代码说明(通话记录查询) 的相关文章

  • IntelliJ IDEA添加注释常用的快捷键

    IDEA可以使用快捷键添加行注释Ctrl 43 块注释Ctrl 43 Shift 43 xff0c 还可以快速生成类注释 方法注释等 下面就介绍这几种快捷键的用法 1 行注释Ctrl 43 首先你的光标要处于这一行 xff0c 处于这行的哪

随机推荐

  • Android Studio 设置代码提示和代码自动补全快捷键

    想必使用过Eclipse的小伙伴们都习惯Eclipse快捷键带来的方便 但是当我们使用Android studio来进行开发的时候也想要这种方便该怎么办呢 当然使用过Android studio的小伙伴可能已经知道了它的方便以及强大之处 接
  • 编写一个算法,实现一维数组a输入任意n个整数,假设n=7,输入7个数字为3,7,6,8,9,4,1

    问题描述 编写一个算法 xff0c 实现一维数组a输入任意n个整数 xff0c 假设n 61 7 xff0c 输入7个数字为3 7 6 8 9 4 1 xff0c 然后建立一个具有如图所示的方阵 xff0c 并输出打印 1 3 7 6 8
  • 1.0 DS1302-外部RTC

    一 综述 DS1302是美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片 xff0c 因为应用非常广泛 xff0c 结果就导致了大量的国产仿制品 xff0c GC1302是一款国产DS1302仿制芯片 xff0c 使用方法
  • 现代C++语言

    include lt iostream gt include lt limits gt include lt future gt include lt string gt include lt map gt using namespace
  • ubuntu 解压 打包 命令全集

    tar 解包 xff1a tar xvf FileName tar 打包 xff1a tar cvf FileName tar DirName xff08 注 xff1a tar是打包 xff0c 不是压缩 xff01 xff09 gz 解
  • 在IDEA中解决进行有关详细信息, 请使用 -Xlint:unchecked 重新编译。

    springboot默认的打包是如下 xff1a lt build gt lt plugins gt lt plugin gt lt groupId gt org springframework boot lt groupId gt lt
  • Jetson Nano更换软件源

    Nano的镜像默认是国外的源 xff0c 速度很慢 xff0c 国内的源有的上不去 xff0c 有的包无法安装 xff0c 经过测试清华大学的源完美可用 xff0c 现放上教程 首先备份原本的source list文件 sudo cp et
  • prometheus在k8s中的部署

    1 k8s的监控指标 监控指标具体实现举例Pod性能cAdvisor容器CPU xff0c 内存利用率Node性能node exporter节点CPU xff0c 内存利用率K8S资源对象kube state metricsPod Depl
  • vue前端

    span class token operator lt span span class token operator span DOCTYPE html span class token operator gt span span cla
  • VueCli 脚手架的安装

    配置淘宝npm仓库 xff1a span class token function npm span config span class token builtin class name set span registry https re
  • vue进阶知识

    Vue单文件组件 xff08 又名 vue文件 xff0c 缩写为SFC xff09 是一种特殊 的文件格式 xff0c 它允许讲Vue组件的模板 逻辑与样式封装在 单个文件中 正如所见 xff0c Vue SFC 是经典的 HTML CS
  • ssh@host:""ssh切换到其他机器上执行多条命令;Pseudo-terminal will not be allocated because stdin is not a terminal.

    1 背景 xff1a shell脚本在主机器上执行kafka的启动命令 其他机器也会起这个进程 之前的脚本每次执行的时候出现卡住的现象 xff0c 不能回到命令行 解决方法 xff1a 第一种 span class hljs comment
  • centos升级glibc(升级到 2.17版)

    1 原先的系统glibc库的版本是2 12 xff0c 需要升级到2 17版本 下载地址 xff1a http ftp gnu org gnu glibc glibc 2 17 tar gz 这里可以选择你所需要的版本 2 安装部署 roo
  • u盘启动盘安装centos7.4操作系统

    1 使用UltraISO软件将ISO镜像刻录到U盘 xff0c 然后用u盘安装操作系统 制作好的u盘如下所示 xff1a 2 启动华为h3c服务器 xff0c 出现下面的界面 按照提示按住Ctrl 43 A制作raid 继续点击下一步 xf
  • redis一主一从两台机器高可用

    目录 1 机器规划 2 redis的部署安装 2 1配置文件内容 2 2 启动2台机器上的redis服务 2 3 查看2台机器上redis数据信息 3 redis主从之间手动切换 3 1 停掉22上的redis进程 xff0c 到23从re
  • cumulusclips的部署

    描述 xff1a CumulusClips是一个开源的视频分享 xff08 内容管理 xff09 平台 xff0c 能够提供最佳的视频分享功能之一类似YouTube 在CumulusClips的帮助下 xff0c 您可以开始自己的视频分享网
  • Linux安装nodejs和npm

    最近window系统转向linux系统开发 xff0c linux系统的确适合程序员的开发 作为前端安装了nodejs和npm xff0c 遇到了一些坑 xff0c 赶紧记录下来 第一种安装方法 xff1a 安装nodejs xff1a s
  • python 编写的DHT Crawler 网络爬虫

    1 安装boost依赖和编译环境 yum install y boost boost devel yum install y make gcc gcc c 43 43 kernel devel python devel 2 装 libtor
  • nginx location proxy_pass详解

    在nginx中配置proxy pass时 xff0c 如果在proxy pass后面的url加 xff0c 相当于是绝对根路径 xff0c 则nginx不会把location中匹配的路径部分代理走 如果没有 xff0c 则会把匹配的路径部分
  • hbase代码说明(通话记录查询)

    Hbase的项目 xff08 通话记录查询 xff09 写java的包 导入jar包 Hbase的包 xff0c hadoop的包 xff0c 驱动包 配置文件 xff08 hbase hdfs regionserver backup xf