CC00004.kudu——|Hadoop&OLAP_Kudu.V04|——|kudu.v04|常用API|创建删除表|

一、KuDu常用Api(java):创建maven工程:kudu_project
### --- 在pom.xml下添加依赖

    <dependencies>

    <dependency>
        <groupId>org.apache.kudu</groupId>
        <artifactId>kudu-client</artifactId>
        <version>1.4.0</version>
    </dependency>

    </dependencies>
二、KuDuApi常用操作:创建表
### --- 创建表

~~~     # 思路:kudu建表几个必须:
~~~     必须指定表连接到的master节点主机名
~~~     必须定义schema
~~~     必须指定副本数量、分区策略和数量
### --- 编程代码实现
### --- 编译打印:通过Chrome访问http://hadoop01:8051/tables查看创建的表

package com.yanqi.kudu.api;

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 java.util.ArrayList;

public class createTableDemo {
    /**
     * (1)必须指定表连接到的master节点主机名
     *
     * (2)必须定义schema,声明的每一个字段必须显式的说明是否是主键
     *
     * (3)必须指定副本数量、分区策略和数量
     */
    public static void main(String[] args) {
        //client
        String masterAddresses = "hadoop01";
        KuduClient.KuduClientBuilder kuduClientBuilder = new KuduClient.KuduClientBuilder(masterAddresses);
        KuduClient client = kuduClientBuilder.build();

        String tableName = "student";
        //id int pkey    name string

        //指定每一列的信息
        ArrayList<ColumnSchema> columnSchemas = new ArrayList<ColumnSchema>();
        ColumnSchema id = new ColumnSchema.ColumnSchemaBuilder("id", Type.INT32).key(true).build();
        ColumnSchema name = new ColumnSchema.ColumnSchemaBuilder("name", Type.STRING).key(false).build();
        columnSchemas.add(id);
        columnSchemas.add(name);
        Schema schema = new Schema(columnSchemas);

        CreateTableOptions options = new CreateTableOptions();
        //设定当前的副本数量为1
        options.setNumReplicas(1);
        ArrayList<String> colrule = new ArrayList<String>();
        colrule.add("id");
        options.addHashPartitions(colrule,3);


        try {
            client.createTable(tableName,schema,options);
        } catch (KuduException e) {
            e.printStackTrace();
        } finally {
            try {
                client.close();
            } catch (KuduException e) {
                e.printStackTrace();
            }
        }
    }

}
三、KuDuApi常用操作:删除表
### --- 编程代码实现:删除表:client.deleteTable
### --- 编译打印

package com.yanqi.kudu.api;

import org.apache.kudu.client.KuduClient;
import org.apache.kudu.client.KuduException;

public class deleteTableDemo {
    public static void main(String[] args) {
        KuduClient client = new KuduClient.KuduClientBuilder("hadoop01").build();
        try {
            client.deleteTable("student");
        } catch (KuduException e) {
            e.printStackTrace();
        }finally {
            try {
                client.close();
            } catch (KuduException e) {
                e.printStackTrace();
            }
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值