栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java操作kudu之创建表格

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 columnSchemas = new ArrayList();
            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 partitionList = new ArrayList();
            partitionList.add("id");
            tableOptions.addHashPartitions(partitionList,6);
            //创建表(表名字,schema,表属性)
            kuduClient.createTable(kuduTable,schema,tableOptions);
        }
    }
    @After
    public void close() throws KuduException {
        if(kuduClient != null){
            kuduClient.close();
        }
    }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863439.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号