Java 操作 kudu-创建表操作 | 学习笔记

简介: 快速学习 Java 操作 kudu-创建表操作

开发者学堂课程【NoSQL 数据库 Kudu 教程Java 操作 kudu-创建表操作学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/723/detail/12904


Java 操作 kudu-创建表操作


现在了解下 java 操作 kudu 当中创建表的操作,先不了解 api 要想去创建一个 kudu 表需要指定清楚这个表叫什么名字,kudu table name 是需要的,第二个这个表当中有哪些字段,字段有哪些类型,这些称之为叫做 scheme ,第三个这个表有没有一些相关的属性信息,比如在 kudu 当中,一个 table 会被划分成多个 table t,是按照区域划分的,还是按照 hash 划分的,这些属性要不要指定,大概就这么三块,那之前已经构建好了一个叫做 table client 的一个对象,它里面直接调一个方法,Create table,把刚才所要的相关数据信息传递给他就可以构建出来,一个表,要注意它里面需要的这个表名,Scheme 信息,数据信息到底是通过什么样的数据结构传递进来的,是类还是 string,通过这样书写整个 API 就非常清晰了,所以说打开的编辑器,来进行相关的测试编写,

image.png

首先来编写一个注解叫做 test 检测应力,方法叫做 public 返回词,叫做 create table,在这一个方法当中,首先就开始去创建表,但是如果为了更加专业通常会做一个判断,如果这个张三同学在你操作之前已经创建好了,这时候你再去创建表,是不是直接就报错,所以在操作之前做一个相关的检测,判断表是否存在,如果存在就不操作,如果不存在,就去创建,它里面提供了一个方法叫做 table exist,所以说接下来第一个方法叫做判断表是否存在,用 if 方法拿到之前创建的 kudu client 掉一个叫做 table exists a PR,就是刚才说的叫做 kudu table,这个表是刚才指定的叫做student 表,如果这个表不存在,前面加一个感叹号,如果不存在,这里首先这里应该需要一个异常给他抛出来,点击前面的这个红色的箭头,

image.png

选择它出来,好接下来再写注释如果表不存在,进行创建表的操作,创建表的操作现在可以大胆的想一下,你最终创建表肯定是通过 client 去调查的 API,打开一个表,Alert out 修改这个表还有 delete 删除一个表,因此你发现后续其他方法上改善都是通过这个 client 相关开始,只不过属性字段需要这个记住,这里去 create table 创建一个表,创建表过程中按一下 ctrl 键,点开这个 create table

发现它里面有几个属性需要传递,第一个,表叫什么名字,第二个,你表有哪些字段,字段哪些类型 scheme,所以说这里 scheme 是一个对象,等下就有个 scheme 就可以了。第三个,创建这个表有哪些属性,Obsess 有没有属性,需要指定,没有就算了,有的话给指定清楚一下。这些指定完成之后,注意这个里面它还是一个 build,就可以具体细看里面 API 分装了,但是这个属性应该比较清楚,所以说创建表的操作,这个表有三个属性,表名、表的 scheme 信息,还有表属性信息,

接下来,首先第一个 table name 是一个 string,叫 kudu table,所以这个很容易。直接来个 kudu table 搞定一个,接下来 scheme 看下面提示,Scheme 需要的是一个对象,所以接下来写注释叫做指定表的 scheme 信息,需要的是一个 schemenew 一个 Scheme 对象,new 的时候,需注意点进去按一下 ctrl 键点这个 steam 类,发现当中一个表有哪些字段,可能多个字段有哪些类型,可以看到这里它里面放的是一个历史的集合,里面叫做 column scheme,就是字段的 scheme 信息,把这个表有多少个字段都放在一个集合当中,把这个集合放给这个 scheme 对象,需要一个历史的 club,很就创建一个这样的集合。这就是学习用别人的 API 需要指定什么,

首先,去 new 一个 arraylist,里面放上的 column scheme,做一个导包的操作,后面,ctrl 的价位返回叫做 column scheme,接下来的添加字段的 scheme 信息,拿到这个集合,往里面添加,注意它里面放的每个字段,都是 column scheme 这样的对象,而不是一个基本类型,所以看到这个对象下来不用说就去 new 一个 column scheme,需注意最终调的是它里面的 build,还是一个内部类,这里面大量的使用内部类。调它这个 scheme 当中的 build 里面有个build 方法,所以选择第二个。在调这个 build 方法当中,里面最终里面需要指定相关的一些信息,哪些信息,哪个资料叫什么名字,什么类型的得告诉,The string double float,比方说 name,一个学生表需要一个 IDID 类型是 int类型,所以选择 tab 注意它这里是一个悲剧,tab 32,接下来还要注意,在kudu当中,说过表需要有指定一个字段,必须有个字段为主键,叫 primer t,这个是数据的唯一,通过组建能找到数据,在使用当中,以 ID 作为主键最合适,组建的方法叫做t方法,一个错儿复试是不是需要组件,传递执行完之后,

最后调这个方法,build 的方法大家看,这样就添加好了第一个字段,添加好之后,还有其他的实验信息,把这个复制一下,就简单的写几个,比如说有 IDname,名字不需要用他了,让他们看一下还有尺寸,nameage,sex 性别,其他的自然 ID 为主键,这里面这个组件开启就不需要了,可以把这里面全部删除,在选择注释这样写完了,设置客服信息,其中写个注释,指定 ID 为表的组件,可以看到 aps 是非常的 sp 没有需要编写,把字段添加到这个集合当中,接下来把这个集合传给这个 scheme 对象的构造函数,new 一下它返回一个得到一个 schema,之后 schema 发给他,还有了第二个属性,第三个,还需要 create table options,这个 table options,就是需要去指定表的相关属性,比如刚才讲过的就是分区,这时候,还需要 options,给它创建一个 options,回到这里必须指定指定表的 Option 属性,它这里刚才看它的 API 点进去,它需要一个叫做 create table optionnew create options 的加V。这里有一个 table optiontable option 到里面添加什么,Option 可以单点一点add,它里面加了一些数据信息,比如设置一个表副本备份数,Number replace,默认是三级修改为其他数,重要的就是这两个分区的方式,一个表分成 table 的,比如说这个表有100行,按照 range 来区分,比如从一到50,然后51100,还是按照 hash 需要在这里指定,比如首先来一个根据 hash 区分的时候,会需要指定一个分区的字段,但是这个字段并不是一个字段,而是放在一个集合当中的, hash 分为几个部分,后面要指定一个数 bucked,所以说来 addhashpartitions 需要的一个集合里面放的是虚拟类型,所以 New 一个 array list,里面放的是 string,这个尺寸里面是指定分区的字段,alt V,这个叫做 partition型,Partition list,在通过这个 partition list 的点 add,要根据 ID 来进行相关的分区,把这个 ID 添加进去,添加好之后再把这一个 partition list 指定给它,然后,再来一个分区个数,比如说分区为五个分区为六个,这里 hash,讲解下分区的规则,达到 ID 取它的 hashcode 值,然后,对这个指定的这个数进行了取余操作,余数为几又到哪里去,有了这个 table options,再把它给它,这样就得到最终创建表格了,你发现大概就这个逻辑,所以简单指定一下,可以写一下指定表的分区规则,采用 hash 分区根据 IDhash 到指定的六个部分都这样就完成了表的一个相关的创建操作,

image.png

接下来来做一个相关的执行看一下,当前通过的 kudu 集群,你发现当中现在是没有表的,咨询他能不能创建这个表,点击这个 great table 右键,选择 run 运行,出现了的绿色执行成功状态码为零,成功之后,

image.png

就可以在的页面上做一个刷新查看,点击 tab 或者重新刷新一下,这里就多了一个新的表叫做 student,下面有这个表的一个唯一的 ID,点进去可以看一下,来看这个表的相关信息就出来了,这个表字段有这么几个,ID name age six,然后,什么类型的,有这个分区的信息,

image.png

是根据 IDhash 分区到六个部分当中,所以说分区规则根据 ID 来分的,下面提供了一个落创建表的语法说,如果你后续想通过 impala 使用的 kudu 集合,可以通过这个语句创建一个外部表,名字叫 student 的,把存储类型为 kudu 指定kudu 的信息,这就完成了所谓的建表操作。虽然写的代码很多,但大量都是它分的比较死的 API。需要做就是考虑清楚创建一个表到底需要什么东西。需要一个表明,需要 scheme 字段类型和数信息需要一个表的属性的这些参数就可以满足于创建一个表。

相关文章
|
3月前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
3月前
|
小程序 Java 知识图谱
Java 学习笔记 —— BMI & BMR 计算器
这是一个使用 Java 编写的 BMI 与 BMR 计算器小程序,可输入年龄、性别、身高和体重,计算身体质量指数(BMI)和基础代谢率(BMR),并输出健康评估结果。通过该项目,掌握了 Java 的输入处理、数据验证、条件判断、数学运算及格式化输出等基础知识,是 Java 初学者的理想练习项目。
|
6月前
|
Java API 微服务
2025 年 Java 从入门到精通学习笔记全新版
《Java学习笔记:从入门到精通(2025更新版)》是一本全面覆盖Java开发核心技能的指南,适合零基础到高级开发者。内容包括Java基础(如开发环境配置、核心语法增强)、面向对象编程(密封类、接口增强)、进阶技术(虚拟线程、结构化并发、向量API)、实用类库与框架(HTTP客户端、Spring Boot)、微服务与云原生(容器化、Kubernetes)、响应式编程(Reactor、WebFlux)、函数式编程(Stream API)、测试技术(JUnit 5、Mockito)、数据持久化(JPA、R2DBC)以及实战项目(Todo应用)。
391 5
|
9月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
191 13
|
9月前
|
开发框架 Java 开发工具
【Java全栈学习笔记-U1-day01】Java介绍
本笔记整理了Java学习的基础内容,涵盖程序理解、Java语言特性、JDK安装与配置、Java程序开发工具及编写步骤。重点介绍了Java程序的基本结构、编译和运行过程,以及输出语句的使用。通过实例演示了IDEA创建Java程序的方法,并强调了编码规范和注意事项。适合初学者复习和交流学习。 主要内容: 1. 理解程序:计算机组成、程序定义。 2. 简介:Java语言特点、技术平台、JDK作用。 3. 编写Java程序:编写、编译、运行步骤,基本结构。 4. 输出语句 5. DEA使用:新建工程、保存位置、文件介绍、新建类。 6. 扩展:注释、代码规范、大小写敏感、缩进等。
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
260 0
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
168 0
|
Java 程序员 开发工具
java学习笔记
java学习笔记
124 0
|
分布式计算 Java 大数据
大数据-147 Apache Kudu 常用 Java API 增删改查
大数据-147 Apache Kudu 常用 Java API 增删改查
163 1
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)