Java 操作 kudu--开发环境搭建&初始化操作 | 学习笔记

简介: 快速学习 Java 操作 kudu--开发环境搭建&初始化操作

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

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


Java 操作 kudu--开发环境搭建&初始化操作


内容介绍:

一、构建 maven 工程、导入依赖

二、初始化方法

 

一、构建 maven工程、导入依赖

如何通过 Java API 操 作kudu,Java 操作库的本质,就是 Java 当中官方给提供了一个类叫做 kuduclient,通过这个名字发现所代表的是 Java 版本的客户端,通过客户端跟 kudu 进群建立连接,用所提供的各种方法进行相关表的增删改查操作,现在就了解下相关环境以及具体 API 的编写,首先,这里需要去引入的依赖,需要两个包,一个是kuducilent 的包,来自 apache 1.6的版本,另外一个,为了写各种增删改查比较方便,再顶住的 junit 测试预例,编写 test 的方法,

打开的 idea 编译器,去创建一个新的 project,选择 M,点击 next 的下一步,group ID 一般是公司的组织域名倒写,比如 CND idcast.cloud 层次的大数据组,example I d 框架名起步工程名叫做 example kudu,接下来下面的版本号 version 可以根据企业开发环境选择相应的开发版本号选择之后点击 next 下一步

image.png

工程名和框架名保持一致,叫做 example kudu 点击下一步,有了 maven 工程之后,核心关键就是 Pop 依赖,复制如下图所示内容,

image.png

然后添加到的 pop 文件当中,这里做一个 import,这时候就会去联网下载的相关的依赖包,要保证网络是通畅的,下载完了之后,在的外部这个库下面,就已经有了包含的包的日志,junit 的测试韵律,还有的主要就是 kuducilent 的包,

image.png

接下来就开始去编写具体的一个代码,这个方面创建一个 package 叫做 cn.itcast 的点 kudu,首先,写一个类,用一个 Java cast 叫做 test KUDU,在这里,主要是进行 junit 的测试用例的一个编写。

 

一、初始化方法

首先,来看在测试当中,junit 的,还有 before,初始化方法,还有结尾方法 after,首先写一个 before 初始化方法,在里面通过指定 kudu 的地址,然后,要访问哪个表这些信息,去构建一个 kuducilent,通过这个 cilent,后面就可以进行相关的操作了。

首先初始化方法,在进行初始化之前,要去定义几个全局的变量,方便后面使用,首先,第一个声明,声明全局变量,方便后续增删改查操作,第一个就是定义这个 kuducilent ,全局的变量,所以来 Private,但是当下,先不复制,在初始化当中进行复制,叫做 kudu client,通过这个包里可以看到是 Apache kudu 提供的,创建一个来一个 kudu cilent的属性,然后叫做 kuduclient,当下先不复制,第二个,就是 kudu master 地址,如果你只有一个组的话,就把主节点告诉给他如果是一个高可用的有多个组,当然当中有活跃的,有不活跃的,把这一段句子都给,会自己去访问,判断哪个是活跃的。所以,下面一个属性叫做 kudu master 的一个地址,从哪里来得到这个 kudu master 地址,从的搭建 kudu 集群当中有做一个配置,你不管是从的 t server 还是从 master 当中都有一个叫做 master addresses 地址,这就是 IP 和端口,等一下就要把这条信息拿过来用。

这个之后有了的 kudu master,接下来这里报了一个错,先把这个括号加上,有了 kudu master,还要再订一个变量,这个 kudu 中的表名中的表名,这里来定一个全局变量,定义全局变量的好处就是需要的时候,可以直接引用就可以了,kudu table,这样就定义好了几个全局变量,后面需要使用,非常重要,第一个初始化方法 Todo,叫做初始化方法用于和的 kudu 集群建立连接时,整个操作跟的 ISO 其数据库非常的类似,都增删改查,但 API 不一样,首先来做一个叫做 before 方法,集群的方法,来一个 public void 的制造方法,连接返回值为空外的叫做 init,这个方法当中,当然就要去创建一个所谓的 kuducilent,这个 API kuducilent 等于 new,它是通过一个 Client 当中的一个内部类叫做 kudu client build,然后它提供方法叫做 build 方法来进行创建的,所以这里直接按照正常逻辑,它需要 kudu client new 一个,这里是不一样的,去 new 一个门的 kudu client,它立马提示当中一个内部类叫做 kudu client build,需要这么一个类内部类去进行构建。

在这里首先获得这个内部类 build,叫 cilent build,在 Build 当中可以做首先这里大家发现有个错误,有的错误原因在于 Build 你会发现有选项,Strange 里面需要一个 match master address 地址,要去创建 cilent,地址正好在上面叫做 kudu master,把这个变量给之后,不报错了,问题在于这个变量现在是并没有引用的,所以说要去准备叫做指定 kudu 集群 Mater 地址,上面已经写了 kudumaster,所以接下来直接给它复制,这个地址,是实锥类型的,正是刚才在哪里,在配图片当中所看到一个,打开服务器,把刚才这一串的完整不动,给它复制过来。如果你不知道,也可以从页面上去看一下,打开的 kudu,连接到的 master 当中,看一下的一个地址,都是-17051,一定要注意这个细节。

这里把这三个主机点都拿过来,自己就会寻找,它能够识别出来,客户端去连接的时候,知道当中哪个是 leader,哪个是 follow,哪个是活跃的主机点,哪个是备用的,有了这个码之后,这里面还有一个可选项,就是通过 Java 机器可能在其机器上有之间进行通信的时候,网络连接不稳定,连接不上,通常会设置一个叫做 socket read time,一个超时时间就是通过 solid 通信的时候,一个网络超时时间,通过 build 来看一下,叫做 kudu cilent build 的点,叫做default,那个 socket read time outApache IP 当时,所以它里面时间是一个 long 类型的,是毫秒制,比如默认给再加三个零,这样就指定超级时间,所以简单写个注释是指定客户端 kudu 集训 socket 的超时时间,这个时间也设定好了,也拿到这个 build 了,接下来就是下一步非常关键叫做通过 build 中的 build 方法创建的 kuducilent

接下来了解下 kudubuild,一点发现就是的 build 方法了,这方法考试的加倍返回就得到了 kudu cilent,正好不需要前面在定义了,直接把付给这一个全局的引用,这时候当中就可以得到相关的操作。这当中现在 kuducilent 用到了,kudumaster 用到了,kudutable 就要看的具体一个相关的操作,后面比如需要操作,在指定表名,也可以在这里先把这个表名给指定好,因为要注意,在的 juint 当中,这一个平方方法是所有态势方法执行之前都执行的,比如不管写多少个态势方法,首先一定会去加载这个方法,所以也可以为了方便在这里也去一下指定待操作的表明,现在写的比较正规一点,指定待操作的 table 名字,比如说上面已经写了叫做 tablecilent,下面直接来个复制 kudutable,比如创建一个 student 表,在除法当中主要就管两个属性的复制,然后通过它的 Apache client,当中 build 的方法创建的客户端,这种客户端跟集体连接接触太多了,操作完之后还要操作 my circle,最后要 close,通过 Java 操作,Apache,关闭客户端和继续连接,只有音译的方法,另外一个方法叫做 after,比如这里的一个 public void 返回为空叫做 close 方法,这个方法的主要职责很简单,就是操作完之后,最终要执行下把关闭,要做个判断,写个注释,如果客户端未关闭好,执行 close 操作,所以这里简单的做一个判断叫做 uduclient,如果它为空,就不用管,不为空,就意味着它正在连接,因为上面首先创建引用变量时候,它是一个空的引用,如果它不为空,操作完之后,叫做kuduclient.,试想也 APL 是一个 close 方法,需要抛一个异常,点击前面给抛出来,就完成了一个的集群的关闭执行close 操作,

image.png

这样就完成了相关初始化方法的一个编写,这里面 API 核心重要是一个叫做 kudu client,里面有一个内部类叫做 kudu cilent built,通过可以去构建一个 kudu 客户端,后面,可以基于这个客户端开展各种各样的增删改查操作,这就是第一块用 Java 开发 kudu 一个基本环境初始化方法的一个边界。

image.png

相关文章
|
4天前
|
Oracle Java 关系型数据库
搭建Java开发环境:
搭建Java开发环境:
14 0
|
2月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
本文是Java基础的进阶篇,对异常、集合、泛型、Java8新特性、I/O流等知识进行深入浅出的介绍,并附有对应的代码示例,重要的地方带有对性能、底层原理、源码的剖析。适合Java初学者。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(进阶篇)
|
20天前
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
|
2月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
49 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
2月前
|
安全 Java 关系型数据库
Java连接Mysql SSL初始化失败
Java连接Mysql SSL初始化失败
|
2月前
|
存储 Java
如何在 Java 中初始化二维 ArrayList
【8月更文挑战第23天】
58 1
|
2月前
|
存储 JavaScript Java
Java中未被初始化的字符串打印出“null”?
在Java中,未初始化的`String`变量默认值为`null`。打印此类变量时输出“null”,是因为`PrintStream`类中的`print`方法特别处理了`null`值,将其转换为字符串“null”。从JDK 17开始,`println`方法通过`String.valueOf`间接实现相同功能。当拼接包含`null`的字符串时,如`s1 + "BLACK"`,结果为“nullBLACK”,这是因为字符串构建过程中`StringBuilder`的`append`方法将`null`转换为“null”。
|
2月前
|
jenkins Java Shell
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
下一篇
无影云桌面