当前位置: 首页 > news >正文

高端网站案例欣赏qq推广的特点

高端网站案例欣赏,qq推广的特点,seo谷歌外贸推广,乐陵森林覆盖率目录 前置HBase数据压缩效果获取数据(反序列化) 前置 安装说明 使用说明 HBaseDDL和DML操作 HBase数据压缩 问题 在上文的datain中原文 每次写入数据会写入4个单元格的内容,现在希望能对其进行筛减,合并成1格,减少存储空间(序列…

目录

  • 前置
  • HBase数据压缩
  • 效果
  • 获取数据(反序列化)

前置

安装说明
使用说明
HBaseDDL和DML操作

HBase数据压缩

问题
在上文的datain中原文
每次写入数据会写入4个单元格的内容,现在希望能对其进行筛减,合并成1格,减少存储空间(序列化)
在这里插入图片描述
datain2
此处仅修改了插入方法之前的内容,将数据合并,对于插入方法没有做修改,其他内容仿照之前的即可。

package org.wunaiieq;import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
import org.wunaiieq.util.MyPhone;import java.text.SimpleDateFormat;
import java.util.*;public class datain2 {public static Connection connection = HBaseConnection.connection;public static Random random=new Random();public static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public static String getPhone(String prefix) {return prefix + String.format("%08d", random.nextInt(99999999));}private static String getData(int year) {Calendar calendar = Calendar.getInstance();calendar.set(year, 0, 1);calendar.add(Calendar.MONTH, random.nextInt(12));calendar.add(Calendar.DAY_OF_MONTH, random.nextInt(31));calendar.add(Calendar.HOUR_OF_DAY, random.nextInt(12));Date time = calendar.getTime();return simpleDateFormat.format(time);}public static void main(String[] args) throws Exception {Table table = connection.getTable(TableName.valueOf("wunaiieq", "phone_log"));List<Put> putList =new ArrayList<Put>();//10个用户for (int i = 0; i < 10            ; i++) {String phonenumber = getPhone("158");for (int j = 0; j < 1000; j++) {putList.clear();String dnum = getPhone("199");int length = random.nextInt(200) + 1;int type = random.nextInt(2);String date = getData(2050);String rowkey = phonenumber + "_" + (Long.MAX_VALUE - simpleDateFormat.parse(date).getTime()) + i + j;Put put =new Put(Bytes.toBytes(rowkey));//构造器MyPhone.Phone.Builder builder = MyPhone.Phone.newBuilder();//数据写入builder.setDnum(dnum);builder.setLength(length);builder.setDate(date);builder.setType(type);//构造器创建phone对象MyPhone.Phone phone = builder.build();put.addColumn(Bytes.toBytes("basic"),Bytes.toBytes("info"),phone.toByteArray());putList.add(put);}table.put(putList);}}}

其他内容
修改pom.xml——增加对protobuf的依赖
导入myPhone.java——protobuf生成的java文件
编写HbaseDML.java(参考专栏博客)

效果

原有大小
在这里插入图片描述
更新后
在这里插入图片描述

获取数据(反序列化)

数据存储格式已经修改,因此获取数据的方式需要改变
在这里插入图片描述
Using2.java

package org.wunaiieq;import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
import org.wunaiieq.util.MyPhone;import java.io.IOException;
import java.text.SimpleDateFormat;public class Using2 {public static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public static Connection connection0 = HBaseConnection.connection;static Table table;static {try {table = connection0.getTable(TableName.valueOf("wunaiieq", "phone_log"));System.out.println(table);} catch (IOException e) {throw new RuntimeException(e);}}public static void scanProtocBuf(String phoneNumber) throws Exception {String startRow = phoneNumber+"_"+(Long.MAX_VALUE-simpleDateFormat.parse("2099-04-01 00:00:00").getTime());String stopRow = phoneNumber+"_"+(Long.MAX_VALUE-simpleDateFormat.parse("2000-03-01 00:00:00").getTime());Scan scan = new Scan();scan.withStartRow(Bytes.toBytes(startRow));scan.withStopRow(Bytes.toBytes(stopRow),true);//执行查询ResultScanner resultScanner = table.getScanner(scan);//解析resultScannerfor(Result result:resultScanner){Cell[] cells = result.rawCells();//获取值byte[] phoneInfoBytes = CellUtil.cloneValue(cells[0]);//将字节数据中的数据反序列化为MyPhone.Phone对象MyPhone.Phone phone = MyPhone.Phone.parseFrom(phoneInfoBytes);System.out.print(phone.getDnum()+"--");System.out.print(phone.getType()+"--");System.out.print(phone.getLength()+"--");System.out.println(phone.getDate()+"--");}}public static void main(String[] args) throws Exception {String phoneNumber0 = "15894163362";scanProtocBuf(phoneNumber0);String phoneNumber1 = "15898559729";scanProtocBuf(phoneNumber1);String phoneNumber2 = "15807236902";scanProtocBuf(phoneNumber2);}
}
http://www.yayakq.cn/news/21680/

相关文章:

  • 江苏外贸网站建设推广建设银行app忘记登录密码
  • 设计一个网站要多少钱上海网站开发设计
  • 唐山网站建设|唐山网站制作|公司建站666起|唐山红城网络网站前端静态模板下载
  • 如何建立自己免费网站跨界营销案例
  • 搜狗收录网站全球华设计
  • 备案 网站名称什么用婚纱照
  • 浏阳做网站wordpress更换域名sql语句
  • 怎么自己在百度上做网站陕西电商网站建设
  • 卖网站链接google网站地图
  • 互联网门户网站创意设计生活用品
  • 网站是如何制作的天河网站建设制作
  • 湖北省住房城乡建设厅网站有哪些外国网站做精油的
  • 惠济区城乡建设局网站php网页制作实例
  • 网站备案号怎么添加手机网站后台管理系统
  • 辽宁城乡建设部网站建设网站时 首先要解决两个问题 一是什么
  • 北京网站的优化wordpress默认账号密码忘记
  • 成都高端网站建设公司哪家好服务商英文
  • ppt下一页宁波seo关键词费用
  • 找专业做网站品牌活动策划方案
  • 班级网站成品征信报告
  • wordpress模板仿遮天小说站北海手机网站建设
  • 吉林省级建设行政主管部门政务网站大学做网站是什么专业
  • 合肥市做网站的公司有哪些网站建设的功能有哪些内容
  • 做网站买好域名怎么办网站建设的优缺点
  • 国内 上市网站建设公司排名重庆市建设工程质量信息网
  • 企业门户网站特征用手机下载地图到内全卡
  • 网站右下角弹出广告代码seo链接提交入口
  • 上海交通网站建设专门做折扣的网站有哪些
  • 上海网站建设托管淘宝返利网站怎么做
  • wordpress网站防护什么是一学一做视频网站