Updated on 2024-08-12 GMT+08:00

Creating a ClickHouse Table

The following code snippet is provided in the createTable method of the Demo class in the com.huawei.clickhouse.examples package. 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);
}