2022-01-26 16:40:50 +08:00
|
|
|
|
package ck
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"github.com/1340691923/xwl_bi/engine/db"
|
|
|
|
|
"github.com/1340691923/xwl_bi/model"
|
|
|
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/sinker"
|
|
|
|
|
"log"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
//初始化clickhouse 表数据
|
|
|
|
|
func Init() {
|
|
|
|
|
var err error
|
|
|
|
|
|
|
|
|
|
_, err = db.ClickHouseSqlx.Exec(` create database if not exists ` + model.GlobConfig.Comm.ClickHouse.DbName + ` ` + sinker.GetClusterSql())
|
|
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println(fmt.Sprintf("clickhouse 建库 "+model.GlobConfig.Comm.ClickHouse.DbName+" 失败:%s", err.Error()))
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, err = db.ClickHouseSqlx.Exec(`DROP TABLE IF EXISTS xwl_acceptance_status` + sinker.GetClusterSql() + `;`)
|
|
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println(fmt.Sprintf("clickhouse 删除表 xwl_acceptance_status 失败:%s", err.Error()))
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, err = db.ClickHouseSqlx.Exec(`
|
|
|
|
|
|
|
|
|
|
CREATE TABLE xwl_acceptance_status ` + sinker.GetClusterSql() + `
|
|
|
|
|
(
|
|
|
|
|
|
|
|
|
|
table_id Int64,
|
|
|
|
|
|
|
|
|
|
part_date DateTime DEFAULT now(),
|
|
|
|
|
|
|
|
|
|
data_name String,
|
|
|
|
|
|
|
|
|
|
error_reason String,
|
|
|
|
|
|
|
|
|
|
error_handling String,
|
|
|
|
|
|
|
|
|
|
report_type String,
|
|
|
|
|
|
|
|
|
|
report_data String,
|
|
|
|
|
|
|
|
|
|
xwl_kafka_offset Int64,
|
|
|
|
|
|
|
|
|
|
part_event String,
|
|
|
|
|
|
|
|
|
|
status Int32
|
|
|
|
|
)
|
|
|
|
|
ENGINE = ` + sinker.GetMergeTree("xwl_acceptance_status") + `
|
|
|
|
|
PARTITION BY (toYYYYMMDD(part_date))
|
|
|
|
|
ORDER BY (toYYYYMMDD(part_date),
|
|
|
|
|
table_id,
|
|
|
|
|
data_name,
|
|
|
|
|
error_reason,
|
|
|
|
|
error_handling,
|
|
|
|
|
report_type,
|
|
|
|
|
status)
|
2022-03-02 17:44:25 +08:00
|
|
|
|
TTL part_date + toIntervalMonth(3)
|
2022-01-26 16:40:50 +08:00
|
|
|
|
SETTINGS index_granularity = 8192;
|
|
|
|
|
`)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println(fmt.Sprintf("clickhouse 建表 xwl_acceptance_status 失败:%s", err.Error()))
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
2022-03-02 17:44:25 +08:00
|
|
|
|
_, err = db.ClickHouseSqlx.Exec(`DROP TABLE IF EXISTS xwl_real_time_warehousing` + sinker.GetClusterSql() + `;`)
|
|
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println(fmt.Sprintf("clickhouse 删除表 xwl_real_time_warehousing 失败:%s", err.Error()))
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, err = db.ClickHouseSqlx.Exec(`
|
|
|
|
|
|
|
|
|
|
CREATE TABLE xwl_real_time_warehousing ` + sinker.GetClusterSql() + `
|
|
|
|
|
(
|
|
|
|
|
|
|
|
|
|
table_id Int64,
|
|
|
|
|
|
|
|
|
|
create_time DateTime DEFAULT now(),
|
|
|
|
|
|
|
|
|
|
event_name String,
|
|
|
|
|
|
|
|
|
|
report_data String
|
|
|
|
|
)
|
|
|
|
|
ENGINE = ` + sinker.GetMergeTree("xwl_real_time_warehousing") + `
|
|
|
|
|
PARTITION BY (toYYYYMMDD(create_time))
|
|
|
|
|
ORDER BY (toYYYYMMDD(create_time),
|
|
|
|
|
table_id,
|
|
|
|
|
event_name)
|
|
|
|
|
TTL create_time + toIntervalMonth(3)
|
|
|
|
|
SETTINGS index_granularity = 8192;
|
|
|
|
|
`)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Println(fmt.Sprintf("clickhouse 建表 xwl_real_time_warehousing 失败:%s", err.Error()))
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-26 16:40:50 +08:00
|
|
|
|
log.Println("初始化CK数据完成!")
|
|
|
|
|
}
|