java访问kudu,KUDU的java操作
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操作相关推荐
- java 访问百度_使用Java调用百度搜索
如何利用Java来调用百度搜索,更多细节请到github上查看search 自己没搜索引擎,又想要大规模的数据源,怎么办?可以对百度搜索善加利用,以小搏大,站在巨人的肩膀上.有很多的应用场景可以很巧妙 ...
- java访问器_ONGN和java字段访问器(get,set)
1. OGNL(Object-Graphic Native Language) 简单的理解就是OGNL提供了路径访问对象属性的方式.初看这一点很是疑惑,在智能感应,靠"."当道的今 ...
- java访问oracle集群,JAVA查询Oracle数据库集群连接字符串
下载必备最新排行装机分类.游戏手机驱动源码LinuxMac小游戏.商城招聘百科知道软件盒子论坛3G版 本站搜索 新闻资讯 软件下载 当前位置: 网站首页 > 编程开发 > 编程语言 > ...
- java 访问私有成员,在Java中访问私有方法?
how to implement such a functionality to access private members ? Java checks access permissions dur ...
- 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 ...
- java访问domino数据库_关于Java与Domino数据库之间的操作
关于Java与Domino数据库之间的操作 如果想使用Domino作为开发的DB,必须在Domino服务器端手动配置以下信息. 首先,我们需要使用DIIOP(具体是什么还不太清楚,暂时可以理解成用于运 ...
- java 调用autoit_Java中调用AutoIt操作控件
要在Java中使用autoit, 这里有一个文件autoit4java ,它利用了JACOB 技术通过COM来访问Autoitx.这里的COM技术也就是组件对象模型技术咯,JACOB是指java co ...
- mysql数据库访问300ms以上_[Java教程]一张900w的数据表,16s执行的SQL优化到300ms?...
[Java教程]一张900w的数据表,16s执行的SQL优化到300ms? 0 2020-11-20 16:00:16 一,前言 证实 有一张财务流水表,未分库分表,目前的数据量为9555695,分页 ...
- 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!
什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...
- 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)...
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...
最新文章
- python代码判断两棵二叉树是否相同
- SAE下修改models里面字段
- Linux国内源介绍
- 第二次爬虫,更加熟练啦
- 3分钟搞定静态出接口
- 使用 generator-easy-ui5 快速创建 SAP UI5 应用的工程结构
- 牛客练习赛46 A	华华教奕奕写几何 (简单数学)
- 【Python】实现文章字符频次排序(文件IO、列表排序、字典操作和字符串join方法)
- 苹果官宣:这届“春晚”,好早!
- 手机展示海报PSD模板、适用众多设计!
- [图文]Chrome四步下载斗鱼视频(直播回放)视频
- 群论基础速成(2):子群,陪集,正规子群,商群
- 兼容iOS10 的一些整理
- rtd1296 mtd 设备驱动分析
- 交叉碳市场和 Web3 以实现再生变革
- R countcolors包:像素级分析处理图片
- 输入神经网络的数据类型要求,神经网络数据格式
- WPF企业内训全程实录(上)
- 360个人图书馆文章复制方法
- 深入理解计算机系统(CSAPP)含lab详解 完结
热门文章
- 剑指offer、按之字形打印二叉树(python)
- centos6 和 centos7 防火墙基本操作
- 学习Java,真的可以月薪过万嘛?真实个人经历告诉你,记录了平时学习的内容以及学习过程中最真实的感受(二)
- python解base64_python模块之base64
- 如何对散列查找进行asl分析计算?_Python数据结构与算法——散列(Hash)
- Oracle存在修改,不存在插入记录 SQL
- shell命令 安装软件包
- Jenkins持续集成学习-搭建jenkins问题汇总
- 如何在阿里云里申请并使用免费https证书SSL、nginx下配置https证书
- 细数国内无人机的江湖门派