5、KUDU的java操作

5.1、导入依赖

org.apache.kudu

kudu-client

${kudu.version}

test

org.apache.kudu

kudu-client-tools

${kudu.version}

5.2、API

5.2.1、表创建

/**

* 创建表

* @throws Exception

*/

public static void createTable() throws Exception{

//1、创建一个client

KuduClient client = new KuduClientBuilder(KUDU_MASTER).build();

//2、创建schema信息

List columns = new ArrayList();

columns.add(new ColumnSchema.ColumnSchemaBuilder("id", Type.INT32).key(true).nullable(false).build());

columns.add(new ColumnSchema.ColumnSchemaBuilder("name", Type.STRING).key(false).nullable(false).build());

columns.add(new ColumnSchema.ColumnSchemaBuilder("age", Type.INT32).key(false).nullable(false).build());

Schema schema = new Schema(columns);

//3、指定分区字段

List partions = new ArrayList();

partions.add("id");

//4、指定分区方式为hash分区、6个分区,一个副本

CreateTableOptions options = new CreateTableOptions().addHashPartitions(partions, 6).setNumReplicas(1);

//5、创建表,

client.createTable("person",schema,options);

client.close();

}

5.2.2、Insert

/**

* 插入数据

* @throws Exception

*/

public static void add() throws Exception{

//1、创建一个client

KuduClient client = new KuduClientBuilder(KUDU_MASTER).build();

//2、打开表

KuduTable table = client.openTable("person");

//3、创建一个session会话

KuduSession session = client.newSession();

//4、创建插入

Insert insert = table.newInsert();

//5、指定插入数据

insert.getRow().addInt("id",1);

insert.getRow().addInt("age",18);

insert.getRow().addString("name","张三");

//6、应用插入

session.apply(insert);

session.close();

client.close();

}

5.2.3、update

/**

* 更新数据

* @throws Exception

*/

public static void update() throws Exception{

//1、创建kudu client

KuduClient client = new KuduClientBuilder(KUDU_MASTER).build();

//2、打开表

KuduTable table = client.openTable("person");

KuduSession session = client.newSession();

Update update = table.newUpdate();

update.getRow().addInt("id",1);

update.getRow().addString("name","李四");

session.apply(update);

session.flush();

session.close();

client.close();

}

5.2.4、delete

/**

* 删除数据

* @throws Exception

*/

public static void delete() throws Exception{

//1、创建kudu client

KuduClient client = new KuduClientBuilder(KUDU_MASTER).build();

//2、打开表

KuduTable table = client.openTable("person");

KuduSession session = client.newSession();

Delete delete = table.newDelete();

delete.getRow().addInt("id",1);

session.apply(delete);

session.flush();

session.close();

client.close();

}

5.2.5、query

/**

* 条件查询 select * from person where id=1

* @throws Exception

*/

public static void query() throws Exception{

//1、创建kudu client

KuduClient client = new KuduClientBuilder(KUDU_MASTER).build();

//2、打开表

KuduTable table = client.openTable("person");

//3、创建scanner扫描器

KuduScanner.KuduScannerBuilder kuduScannerBuilder = client.newScannerBuilder(table);

//4、创建查询条件

KuduPredicate filter = KuduPredicate.newComparisonPredicate(table.getSchema().getColumn("id"), KuduPredicate.ComparisonOp.EQUAL, 1);

//5、将查询条件加入到scanner中

KuduScanner scanner = kuduScannerBuilder.addPredicate(filter).build();

//6、获取查询结果

while (scanner.hasMoreRows()){

RowResultIterator rows = scanner.nextRows();

while (rows.hasNext()){

RowResult row = rows.next();

Integer id = row.getInt("id");

String name = row.getString("name");

int age = row.getInt("age");

System.out.println(id+"---"+name+"---"+age);

}

}

//7、关闭client

client.close();

}

来源:oschina

链接:https://my.oschina.net/u/4265623/blog/4258536

java访问kudu,KUDU的java操作相关推荐

  1. java 访问百度_使用Java调用百度搜索

    如何利用Java来调用百度搜索,更多细节请到github上查看search 自己没搜索引擎,又想要大规模的数据源,怎么办?可以对百度搜索善加利用,以小搏大,站在巨人的肩膀上.有很多的应用场景可以很巧妙 ...

  2. java访问器_ONGN和java字段访问器(get,set)

    1. OGNL(Object-Graphic Native Language) 简单的理解就是OGNL提供了路径访问对象属性的方式.初看这一点很是疑惑,在智能感应,靠"."当道的今 ...

  3. java访问oracle集群,JAVA查询Oracle数据库集群连接字符串

    下载必备最新排行装机分类.游戏手机驱动源码LinuxMac小游戏.商城招聘百科知道软件盒子论坛3G版 本站搜索 新闻资讯 软件下载 当前位置: 网站首页 > 编程开发 > 编程语言 > ...

  4. java 访问私有成员,在Java中访问私有方法?

    how to implement such a functionality to access private members ? Java checks access permissions dur ...

  5. java访问其它服务器,一个Java Web应用程序是否可以在tomcat服务器的同一本地主机中调用另一个Java Web应用程序...

    i am trying to deploy two web applications say appA and appB in same local host tomcat server and wh ...

  6. java访问domino数据库_关于Java与Domino数据库之间的操作

    关于Java与Domino数据库之间的操作 如果想使用Domino作为开发的DB,必须在Domino服务器端手动配置以下信息. 首先,我们需要使用DIIOP(具体是什么还不太清楚,暂时可以理解成用于运 ...

  7. java 调用autoit_Java中调用AutoIt操作控件

    要在Java中使用autoit, 这里有一个文件autoit4java ,它利用了JACOB 技术通过COM来访问Autoitx.这里的COM技术也就是组件对象模型技术咯,JACOB是指java co ...

  8. mysql数据库访问300ms以上_[Java教程]一张900w的数据表,16s执行的SQL优化到300ms?...

    [Java教程]一张900w的数据表,16s执行的SQL优化到300ms? 0 2020-11-20 16:00:16 一,前言 证实 有一张财务流水表,未分库分表,目前的数据量为9555695,分页 ...

  9. 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!

    什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...

  10. 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)...

    构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...

最新文章

  1. python代码判断两棵二叉树是否相同
  2. SAE下修改models里面字段
  3. Linux国内源介绍
  4. 第二次爬虫,更加熟练啦
  5. 3分钟搞定静态出接口
  6. 使用 generator-easy-ui5 快速创建 SAP UI5 应用的工程结构
  7. 牛客练习赛46 A 华华教奕奕写几何 (简单数学)
  8. 【Python】实现文章字符频次排序(文件IO、列表排序、字典操作和字符串join方法)
  9. 苹果官宣:这届“春晚”,好早!
  10. 手机展示海报PSD模板、适用众多设计!
  11. [图文]Chrome四步下载斗鱼视频(直播回放)视频
  12. 群论基础速成(2):子群,陪集,正规子群,商群
  13. 兼容iOS10 的一些整理
  14. rtd1296 mtd 设备驱动分析
  15. 交叉碳市场和 Web3 以实现再生变革
  16. R countcolors包:像素级分析处理图片
  17. 输入神经网络的数据类型要求,神经网络数据格式
  18. WPF企业内训全程实录(上)
  19. 360个人图书馆文章复制方法
  20. 深入理解计算机系统(CSAPP)含lab详解 完结

热门文章

  1. 剑指offer、按之字形打印二叉树(python)
  2. centos6 和 centos7 防火墙基本操作
  3. 学习Java,真的可以月薪过万嘛?真实个人经历告诉你,记录了平时学习的内容以及学习过程中最真实的感受(二)
  4. python解base64_python模块之base64
  5. 如何对散列查找进行asl分析计算?_Python数据结构与算法——散列(Hash)
  6. Oracle存在修改,不存在插入记录 SQL
  7. shell命令 安装软件包
  8. Jenkins持续集成学习-搭建jenkins问题汇总
  9. 如何在阿里云里申请并使用免费https证书SSL、nginx下配置https证书
  10. 细数国内无人机的江湖门派