想要运行的代码需要在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. Java流式思想和方法引用

    目录 Java流式思想和方法引用 1. Stream流 1.1 概述 传统集合的多步遍历代码 Stream的更优写法 1.2 流式思想的概述 1.3 获取流 1.4 常用方法 ①逐一处理:forEac ...

  2. Spring官网阅读(十二)ApplicationContext详解(中)

    文章目录 1.Spring的资源(Resource) 接口简介 UML类图 抽象基类AbstractResource FileSystemResource AbstractFileResolvingR ...

  3. X Error:BadDrawable (individ Pixmap or Window parameter 9)

    #描述 平台:aarch64 系统:ubuntu16.04.02 Qt Version:4.8.7 Qt程序可以正常运行,界面渲染出现问题以及乱码,控制提示错误内容: "unable to ...

  4. apply call bind的用法与实现

    概念 apply call 和bind 允许为不同的对象分配和调用属于一个对象的函数/方法.同时它们可以改变函数内 this 的指向. 区别 apply 和 call 接收的参数形式不同 apply ...

  5. CF-612D The Union of k-Segments 差分

    D. The Union of k-Segments 题意 给出n个线段,以及一个数字k,让求出有哪些线段:线段上所有的点至少被覆盖了k次. 思路 假如忽略掉线段的左右端点范围,肯定是使用差分来维护每 ...

  6. 腾讯面试居然跟我扯了半小时的CountDownLatch

    一个长头发.穿着清爽的小姐姐,拿着一个崭新的Mac笔记本向我走来,看着来势汹汹,我心想着肯定是技术大佬吧!但是我也是一个才华横溢的人,稳住我们能赢. 面试官:看你简历上有写熟悉并发编程,CountDo ...

  7. 1008 Elevator (20分)

    1008 Elevator (20分) 题目: The highest building in our city has only one elevator. A request list is ma ...

  8. md5函数

    0x01 <?php error_reporting(0); $flag = 'flag{test}'; if (isset($_GET['username']) and isset($_GET ...

  9. java方法调用顺序

    public class JavalearningApplicationTests { static { System.out.println("Test的静态代码块"); } p ...

  10. Git与GitHub常用操作

    --------------------------基本操作--------------------------clone 拷贝远程仓库commit 本地提交push 远程提交pull 更新本地--- ...