java操作kudu之创建表格

java操作kudu之创建表格

第一步:pom依赖

在这里插入图片描述

第二步:创建类及编写代码

package com.kudu.test;

import org.apache.kudu.ColumnSchema;
import org.apache.kudu.Schema;
import org.apache.kudu.Type;
import org.apache.kudu.client.CreateTableOptions;
import org.apache.kudu.client.KuduClient;
import org.apache.kudu.client.KuduException;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;

public class testKudu {
    private KuduClient kuduClient;
    //kudu master地址;
    private String kuduMaster;
    //kudu中的表名;
    private String kuduTable;
    //初始化方法
    @Before
    public void init(){
        kuduMaster = "主机:7051";
        kuduTable = "test2.student";
        KuduClient.KuduClientBuilder kuduClientBuilder = new KuduClient.KuduClientBuilder(kuduMaster);
        //指定客户端的集群的socket的超时时间
        kuduClientBuilder.defaultAdminOperationTimeoutMs(10000);
        //创建kuduClient
        kuduClient = kuduClientBuilder.build();
    }
    @Test
    public void creatTable() throws KuduException {
        //判断表是否存在
        if(!kuduClient.tableExists(kuduTable)){
            //指定表的schema信息
            ArrayList<ColumnSchema> columnSchemas = new ArrayList<ColumnSchema>();
            columnSchemas.add(new ColumnSchema.ColumnSchemaBuilder("id", Type.INT32).key(true).build());
            columnSchemas.add(new ColumnSchema.ColumnSchemaBuilder("name", Type.STRING).build());
            columnSchemas.add(new ColumnSchema.ColumnSchemaBuilder("age", Type.INT32).build());
            columnSchemas.add(new ColumnSchema.ColumnSchemaBuilder("sex", Type.INT32).build());
            Schema schema = new Schema(columnSchemas);
            //指定表的option属性
            CreateTableOptions tableOptions = new CreateTableOptions();
            //指定分区规则,采用哈希分区
            ArrayList<String> partitionList = new ArrayList<String>();
            partitionList.add("id");
            tableOptions.addHashPartitions(partitionList,6);
            //创建表(表名字,schema,表属性)
            kuduClient.createTable(kuduTable,schema,tableOptions);
        }
    }
    @After
    public void close() throws KuduException {
        if(kuduClient != null){
            kuduClient.close();
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值