标签:rgs 创建 hpa style ati null operation 删除 tst
public class CreateKuduTable { public static void main(String[] args) throws KuduException { String masterAddress = "datanode1,datanode2,datanode3"; String tableName = "test_ods:scmd:event_wos_v1_0702"; KuduClient client = new KuduClient.KuduClientBuilder(masterAddress).defaultAdminOperationTimeoutMs(6000).build(); // 如果table存在的情况下,就删除该表 try { if (client.tableExists(tableName)) { client.deleteTable(tableName); } } catch (KuduException e) { e.printStackTrace(); } List<ColumnSchema> columns = new LinkedList<ColumnSchema>(); // 创建列 columns.add(new ColumnSchema.ColumnSchemaBuilder("day", Type.INT32).key(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("sampling_group", Type.INT32).key(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("user_id", Type.STRING).key(true).encoding(ColumnSchema.Encoding.DICT_ENCODING).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("time", Type.INT64).key(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("_offset", Type.INT64).key(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("event_id", Type.INT32).nullable(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("month_id", Type.INT32).nullable(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("week_id", Type.INT32).nullable(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("distinct_id", Type.STRING).nullable(true).encoding(ColumnSchema.Encoding.DICT_ENCODING).build()); columns.add(new ColumnSchema.ColumnSchemaBuilder("event_bucket", Type.INT32).nullable(true).encoding(ColumnSchema.Encoding.BIT_SHUFFLE).build()); Schema schema = new Schema(columns); //创建表时提供的所有选项 CreateTableOptions options = new CreateTableOptions(); // 设置表的replica备份和分区规则 List<String> parcols = new LinkedList<String>(); parcols.add("user_id"); //设置表的备份数 options.setNumReplicas(1); //设置hash分区和数量 options.addHashPartitions(parcols, 3); client.createTable(tableName, schema, options); // 创建table,并设置partition try { client.createTable(tableName, schema, options); } catch (KuduException e) { e.printStackTrace(); } } }
标签:rgs 创建 hpa style ati null operation 删除 tst
原文地址:https://www.cnblogs.com/lizhongshan/p/11123817.html