开发者学堂课程【NoSQL 数据库 Kudu 教程:Java 操作 kudu--开发环境搭建&初始化操作】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/723/detail/12903
Java 操作 kudu--开发环境搭建&初始化操作
内容介绍:
二、初始化方法
一、构建 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 下一步
工程名和框架名保持一致,叫做 example kudu 点击下一步,有了 maven 工程之后,核心关键就是 Pop 依赖,复制如下图所示内容,
然后添加到的 pop 文件当中,这里做一个 import,这时候就会去联网下载的相关的依赖包,要保证网络是通畅的,下载完了之后,在的外部这个库下面,就已经有了包含的包的日志,junit 的测试韵律,还有的主要就是 kuducilent 的包,
接下来就开始去编写具体的一个代码,这个方面创建一个 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 out,Apache 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 操作,
这样就完成了相关初始化方法的一个编写,这里面 API 核心重要是一个叫做 kudu client,里面有一个内部类叫做 kudu cilent built,通过可以去构建一个 kudu 客户端,后面,可以基于这个客户端开展各种各样的增删改查操作,这就是第一块用 Java 开发 kudu 一个基本环境初始化方法的一个边界。