想要运行的代码需要在application中运行

使用@Component并实现CommandLineRunner接口、重写方法@Override run( )

@Component
public class BillionOrder implements CommandLineRunner {
...
...
...
@Override
public void run(String... args) throws Exception {
//在这里写要运行的代码
} }

list=null 与 list.clear()的区别:

总之,清空List用clrar()方法是正确无误的,=null不好,反正我用=null在程序中出问题了==

java中list集合通过clear()方法清空,只会将list中的对象变成垃圾回收清空,但是list对象还是存在。

但是通过list=null后,不仅列表中的对象变成了垃圾,为列表分配的空间也会回收,什么都不做与赋值NULL一样,说明直到程序结束也用不上列表list了,它自然就成为垃圾了.clear()只是清除了对象的引用,使那些对象成为垃圾.

HBase api的使用

table.close()可解决错误"java.io.IOException:远程主机强迫关闭了一个现有的连接。"

出错的原因是插入数据建立连接没有关闭,连接建立太多了

	//插入数据
//orderindex索引表
public static void insertData(String tableName, List<Order> olist) throws IOException {
TableName tablename = TableName.valueOf(tableName);
Table table = initHbase().getTable(tablename);
//orderindex索引表
TableName tablenameindex = TableName.valueOf("orderindex");
Table indextable = initHbase().getTable(tablenameindex); for(Order order:olist){
String rowkey=order.getUserid()+"_"+order.getOrdertime();
Put put = new Put((rowkey).getBytes());
//参数:1.列族名 2.列名 3.值
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("userid"),Bytes.toBytes(order.getUserid()+"")) ;
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("orderid"), Bytes.toBytes(order.getOrderid()+"")) ;
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("ordertime"), Bytes.toBytes(order.getOrdertime())) ;
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("proids"), Bytes.toBytes(order.getProids().toString())) ;
put.addColumn(Bytes.toBytes("info"),Bytes.toBytes("state"), Bytes.toBytes(order.getState())) ;
table.put(put); Put putindex = new Put((order.getOrderid()+"").getBytes());
//参数:1.列族名 2.列名 3.值
putindex.addColumn(Bytes.toBytes("info"),Bytes.toBytes("rowkey"),Bytes.toBytes(rowkey)) ;
indextable.put(putindex);
}
table.close();
indextable.close();
}

【Springboot HBase】遇到的一些问题的更多相关文章

  1. 流式大数据计算实践(5)----HBase使用&SpringBoot集成

    一.前言 1.上文中我们搭建好了一套HBase集群环境,这一文我们学习一下HBase的基本操作和客户端API的使用 二.shell操作 先通过命令进入HBase的命令行操作 /work/soft/hb ...

  2. SpringBoot连接多数据源(HBASE,KUDU,ORACLE集成和开发库)

    前提:1.连接hadoop需要本地安装 winutils.exe 并在程序指定,不然程序会报错  IOException: HADOOP_HOME or hadoop.home.dir are not ...

  3. hbase+springboot+redis实现分页

    实现原理: 1.读取hbase数据每页的数据时多取一条数据.如:分页是10条一页,第一次查询hbase时, 取10+1条数据,然后把第一条和最后一条rowkey数据保存在redis中,redis中的k ...

  4. springboot使用api操作HBase之shell

    HBase的基本读写流程写入流程读取流程HBase的模块与协作HBase启动RegionServer失效HMaster失效HBase常用的Shell命令进入shellhelp命令查询服务器状态查看所有 ...

  5. 大数据查询——HBase读写设计与实践

    导语:本文介绍的项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询.原实现基于 Oracle 提供存储查询服务,随着数据量的 ...

  6. Spring Boot 2.x :通过 spring-boot-starter-hbase 集成 HBase

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本文内容 HBase 简介和应用场景 spring-boot- ...

  7. springboot整合springdata-jpa

    1.简介  SpringData : Spring 的一个子项目.用于简化数据库访问,支持NoSQL 和 关系数据存储.其主要目标是使数据库的访问变得方便快捷. SpringData 项目所支持 No ...

  8. Hbase给初学者的“下马威”

    自从成为架构师()之后,李大胖的学习动力似乎少了一些,尤其是今年(当然也有一些客观因素). 临近岁末,内心着实有些惭愧,决定学习一把大数据.跟随一下业界前沿(其实已经不是前沿了),梦想着有一天能够拥有 ...

  9. SpringBoot构建大数据开发框架

    http://blog.51cto.com/yixianwei/2047886 为什么使用SpringBoot 1.web工程分层设计,表现层.业务逻辑层.持久层,按照技术职能分为这几个内聚的部分,从 ...

随机推荐

  1. ACM入门问题:最大利益问题

    设最大的利益为maxv,最小值为minv 1.求最大利益的简单算法 ;j<=n-;j++) ;i<=j-;i++) maxv =(maxv与R[j]-R[i]中较大的一个) maxv=ma ...

  2. 201771010113 李婷华 《面向对象程序设计(java)》第九周总结

    一.理论知识部分 第六章 接口与内部类 1.内部类(innerclass)是定义在一个类内部的类.外层的类成为外部类(outerclass).内部类主要用于事件处理. 2.使用内部类的原因有以下三个: ...

  3. Spring 循环引用(三)源码深入分析版

    @ 目录 前言 正文 分析 doGetBean 为什么Prototype不可以 createBean doCreateBean getEarlyBeanReference getSingleton b ...

  4. 【Scala】代码实现Scala的各种模式匹配操作

    文章目录 内容匹配 类型匹配 s表达式 case class 样例类 偏函数 内容匹配 import scala.util.Random object TestMatch { def main(arg ...

  5. Day_10【常用API】扩展案例1_利用人出生日期到当前日期所经过的毫秒值计算出这个人活了多少天

    分析以下需求,并用代码实现: 1.从键盘录入一个日期字符串,格式为 xxxx-xx-xx,代表该人的出生日期 2.利用人出生日期到当前日期所经过的毫秒值计算出这个人活了多少天 package com. ...

  6. 简单服务发现协议(SSDP)编程指导

    本文主要讲解如何使用ssdp进行编程,不涉及过多关于ssdp的理论知识 1. 前言   网上对ssdp理论介绍的一大把,缺乏从编程角度的一个指导,这里不会长篇大论ssdp理论,只是根据实际编码经验对用 ...

  7. Linux内核驱动学习(八)GPIO驱动模拟输出PWM

    文章目录 前言 原理图 IO模拟输出PWM 设备树 驱动端 调试信息 实验结果 附录 前言 上一篇的学习中介绍了如何在用户空间直接操作GPIO,并写了一个脚本可以产生PWM.本篇的学习会将写一个驱动操 ...

  8. CPU瞒着内存竟干出这种事

    还记得我吗,我是阿Q,CPU一号车间的那个阿Q. 今天忙里偷闲,来到厂里地址翻译部门转转,负责这项工作的小黑正忙得满头大汗. 看到我的到来,小黑指着旁边的座椅示意让我坐下. 坐了好一会儿,小黑才从工位 ...

  9. 浅谈PostgreSQL用户权限

    问题 经常在PG群里看到有人在问“为什么我对表赋予了权限:但是还是不能访问表” 解析 若你看懂德哥这篇文章PostgreSQL逻辑结构和权限体系介绍:上面对你就不是困扰你的问题 解决这个问题很简单:在 ...

  10. yield与park的区别

    yield表示放弃本次cpu的时间片,但是操作系统在下一个时间片依旧可能会调用该线程/进程 park表示线程/进程睡眠,需要让其他线程/进程唤醒,才有可能重新被操作系统分配时间片, 非自旋锁,底层一般 ...