追风的板凳 · 深度学习模型的Android部署方法_深度学 ...· 4 月前 · |
行走的剪刀 · 数据传输服务 ...· 1 年前 · |
唠叨的卡布奇诺 · 🛠️ git 指令看这一篇就够 —— ...· 1 年前 · |
不爱学习的火腿肠 · python pandas: ...· 1 年前 · |
温柔的酱牛肉 · python进程sleep ...· 1 年前 · |
更新时间: 2023.05.26 10:25:36
用户可以根据业务场景创建多个数据库,同时在创建表时也需要选择目标数据库。因此如果当前集群中未存在数据库时,请先进行创建。具体操作步骤如下:
登录 ByteHouse 企业版控制台 。
单击右上角
运维与权限管理
>
数据管理与查询
按钮,进入数据管理界面。
在右上角下拉选择已创建成功的集群信息。集群创建详见
创建集群
单击左侧目录树上 新建 按钮 ,选择 新建数据库 。
填写数据库基本信息,如下图所示。其中库名命名规则如下:
单击 创建 按钮,完成数据库创建。
在对应集群下,单击选择已创建成功的数据库名称。
单击 新建数据表 按钮,您可通过 SQL 批量建表 和 可视化建表 ,两种方式来新建数据表。
SQL 批量建表
在编辑框中输入相应建表语句,详见
SQL 语法
,在编辑框中,您还可以执行以下操作:
操作 | 说明 |
---|---|
下载 SQL | 将编辑器中编辑的 SQL 语句,下载至本地保存。 |
上传 SQL | 将需执行的 SQL 语句,以本地文件的形式,通过上传方式,上传至编辑器中批量执行。 |
SQL 格式化 | 将书写的 SQL 进行格式化操作,增加语句可读性。 |
复制 SQL | 可对写好的 SQL 语句进行复制操作。 |
清除所有 SQL | 将编辑器中书写好的所有 SQL 语句,进行清除。 |
可视化建表
进入建表页面后填写如下建表信息,此时可以通过手动输入建表字段信息完成建表,也可以通过右侧的
本地表
或
分布式表
编辑区,以 SQL 方式,快速导入建表配置。
在窗口左侧,可配置表的列信息:
其中,“类型”请参考 ClickHouse 社区支持的类型 。
“可为空”即为 ClickHouse 的
Nullable
属性。
在窗口右侧,可以配置表的建表字段。对于各个建表的字段解释如下:
注意
排序键,分区键,主键,采样键,唯一键均不能为空。
注意
建议 单天数据量 > 100 亿才考虑按小时分区,或数据量过小时可选按月分区,否则建议采用按日分区。
TTL:
表引擎:
唯一键:选取字段作为数据去重 (upsert) 的判断标准,可支持多个。
唯一键( 必填 ):每个表只能有一个唯一键,支持最多3个字段构成组合键。如果超过3个,用户可以自行计算一个所有唯一字段的64位哈希值,并用该哈希字段作为唯一键(如果是有符号哈希值,CH需要使用Int64类型)。
唯一键作用范围( 必填 ):如果是【分区粒度唯一】,保证唯一键在分区内的唯一性。如果是【表粒度唯一】,保证唯一键在表内的唯一性。表粒度唯一有额外的写入开销,建议优先使用分区粒度唯一。
版本字段(选填):写入相同唯一键的多条数据时,默认保留最新写入的数据。如果指定了版本字段,将保留版本最大的数据。如果使用表粒度唯一,可以额外使用分区表达式作为版本字段,即相同唯一键保留最新分区的数据。
填写完成后可以单击右下角的 创建 提交建表任务,界面右侧会展示刚创建的表,若无报错信息,则表示创建成功。
如果通过 Client,JDBC 或其他非 GUI 的方式建表,也会每相隔 5 分钟的同步到 GUI 上。以下表引擎会被同步:
关联了 Distrbuted 表 的 HaMergeTree 表或 HaUniqueMergeTree 表,会被同步为“逻辑表”,该类型的表和 GUI 创建的表(同 2.1.2)无异,也是 ByteHouse 的建表最佳实践,因此,可以正常在 GUI 上进行改表,删除分区,创建导入任务等操作。
没有关联 Distrbuted 表的 HaMergeTree 表或 HaUniqueMergeTree 表,或社区的其他 MergeTree 家族表 (如 MergeTree,DuplicatedMergeTree 等)由于不符合 ByteHouse 建表的最佳实践,会被同步为“自定义表”。仅会在 GUI 上展示 / 可被查询,不可进行改表,删除分区,创建导入任务等操作。
MySQL、S3、Hive 等 Integration 引擎 的表,会被同步为“外表”。该类表仅会在 GUI 上展示 / 可被查询,不可进行改表,删除分区,创建导入任务等操作。
Integration 引擎中,Kafka 引擎,RabbitMQ 引擎的表因对其查询会导致丢数,暂时不会被同步。