实践教程 Brown University Benchmark数据集 MgBench 是机器生成的日志数据的一个新的分析基准。 1. 下载数据并解压 使用以下命令获取数据: wget 使用以下命令解压数据: xz v d mgbench{1..3}.csv.xz 2. 建表 新建数据库: CREATE DATABASE mgbench; USE mgbench; 使用以下语句建表: CREATE TABLE mgbench.logs1 ( logtime DateTime, machinename LowCardinality(String), machinegroup LowCardinality(String), cpuidle Nullable(Float32), cpunice Nullable(Float32), cpusystem Nullable(Float32), cpuuser Nullable(Float32), cpuwio Nullable(Float32), diskfree Nullable(Float32), disktotal Nullable(Float32), partmaxused Nullable(Float32), loadfifteen Nullable(Float32), loadfive Nullable(Float32), loadone Nullable(Float32), membuffers Nullable(Float32), memcached Nullable(Float32), memfree Nullable(Float32), memshared Nullable(Float32), swapfree Nullable(Float32), bytesin Nullable(Float32), bytesout Nullable(Float32) ) ENGINE MergeTree() ORDER BY (machinegroup, machinename, logtime); CREATE TABLE mgbench.logs2 ( logtime DateTime, clientip IPv4, request String, statuscode UInt16, objectsize UInt64 ) ENGINE MergeTree() ORDER BY logtime; CREATE TABLE mgbench.logs3 ( logtime DateTime64, deviceid FixedString(15), devicename LowCardinality(String), devicetype LowCardinality(String), devicefloor UInt8, eventtype LowCardinality(String), eventunit FixedString(1), eventvalue Nullable(Float32) ) ENGINE MergeTree() ORDER BY (eventtype, logtime); 3. 插入数据 clickhouseclient query "INSERT INTO mgbench.logs1 FORMAT CSVWithNames" < mgbench1.csv clickhouseclient query "INSERT INTO mgbench.logs2 FORMAT CSVWithNames" < mgbench2.csv clickhouseclient query "INSERT INTO mgbench.logs3 FORMAT CSVWithNames" < mgbench3.csv