
# 创建Kudu表
#### 功能简介
通过KuduClient.createTable(String name, Schema schema, CreateTableOptions builder)方法创建表对象，其中需要指定表的schema和分区信息。
#### 代码样例
如下是创建表的代码片段：
```
// Set up a table name.
String tableName = “example”;
// Set up a simple schema.
List<ColumnSchema> columns = new ArrayList<>(2);
columns.add(new ColumnSchema.ColumnSchemaBuilder("key", Type.INT32)
        .key(true)
        .build());
columns.add(new ColumnSchema.ColumnSchemaBuilder("value",Type.STRING).nullable(true)
        .build());
Schema schema = new Schema(columns);
// Set up the partition schema, which distributes rows to different tablets by hash.
// Kudu also supports partitioning by key range. Hash and range partitioning can be combined.
// For more information, see http://kudu.apache.org/docs/schema_design.html.
CreateTableOptions cto = new CreateTableOptions();
List<String> hashKeys = new ArrayList<>(1);
hashKeys.add("key");
int numBuckets = 8;
cto.addHashPartitions(hashKeys, numBuckets);
// Create the table.
client.createTable(tableName, schema, cto);
```
![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
示例代码中，定义了一张表，包含key和value两列。其中key是int32类型的主键字段，value是string类型的非主键字段且可以为空；同时该表在主键字段key上做了8个hash分区，表示数据会分成8个独立的tablet。
