Updated on 2023-08-31 GMT+08:00

Creating a Table

The following code snippet is provided in the createTable method of the Demo class in the com.huawei.clickhouse.examples packet. Run the on cluster statement to create the ReplicatedMerge and Distributed tables whose names are the same as the values of tableName in Table 1.

private void createTable(String databaseName, String tableName, String clusterName) throws Exception { 
   String createSql = "create table " + databaseName + "." + tableName + " on cluster " + clusterName  + " (name String, age UInt8, date Date)engine=ReplicatedMergeTree('/clickhouse/tables/{shard}/" + databaseName + "." + tableName + "'," + "'{replica}') partition by toYYYYMM(date) order by age"; 
   String createDisSql = "create table " + databaseName + "." + tableName + "_all" + " on cluster " + clusterName + " as " + databaseName + "." + tableName + " ENGINE = Distributed(default_cluster," + databaseName + "," + tableName + ", rand());";    ArrayList<String> sqlList = new ArrayList<String>();   
   sqlList.add(createSql);   
   sqlList.add(createDisSql);  
   util.exeSql(sqlList);
}