检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
ClickHouse表字段设计 规则 不允许用字符类型存放时间或日期类数据,尤其是需要对该日期字段进行运算或者比较的时候。 不允许用字符类型存放数值类型的数据,尤其是需要对该数值字段进行运算或者比较的时候。字符串的过滤效率相对于整型或者特定时间类型有下降。 建议 不建议表中存储过多的N
源类型“JDBC > MySQL”。 配置“MySQL配置”,参数配置请参考表1。 表1 MySQL配置 参数 描述 取值样例 驱动 默认为“mysql”。 mysql 驱动名称 选择2中已提前上传的待使用的MySQL驱动,格式为xxx.jar。 mysql-connector-java-8
使用Hcatalog方式同步Hive和MySQL之间的数据,timestamp和data类型字段会报错 问题 使用Hcatalog方式同步Hive和MySQL之间的数据,timestamp和data类型字段会报错: 回答 调整Sqoop源码包中的代码,将timestamp强制转换类型和Hive保持一致。
Hudi支持跨分区进行数据更新,但Global索引性能较差一般不建议使用。 建议 事实表采用日期分区表,维度表采用非分区或者大颗粒度的日期分区 是否采用分区表要根据表的总数据量、增量和使用方式来决定。从表的使用属性看事实表和维度表具有的特点: 事实表:数据总量大,增量大,数据读
增加Hive表字段超时 用户问题 增加Hive表字段报错。 问题现象 Hive对包含10000+分区的表执行ALTER TABLE table_name ADD COLUMNS(column_name string) CASCADE;,报错如下: Timeout when executing
ClickHouse宽表设计 ClickHouse宽表设计原则 ClickHouse表字段设计 ClickHouse本地表设计 ClickHouse分布式表设计 ClickHouse分区设计 ClickHouse索引设计 父主题: ClickHouse应用开发规范
ClickHouse本地表设计 规则 单表(分布式表)的记录数不要超过万亿,对于万亿以上表的查询,性能较差,且集群维护难度变大。单表(本地表)不超过百亿。 表的设计都要考虑到数据的生命周期管理,需要进行TTL表属性设置或定期老化清理表分区数据。 单表的字段建议不要超过5000列。
ClickHouse宽表设计原则 宽表设计原则 由于ClickHouse的宽表查询性能较优,且当前ClickHouse可支持上万列的宽表横向扩展。 在大部分场景下,有大表两表join以及多表join的场景,且多个join的表数据变化更新频率较低,这种情况,建议对多个表join查询逻辑提
流式计算采用MOR表。 流式计算为低时延的实时计算,需要高性能的流式读写能力,在Hudi表中存在的MOR和COW两种模型中,MOR表的流式读写性能相对较好,因此在流式计算场景下采用MOR表模型。关于MOR表在读写性能的对比关系如下: 对比维度 MOR表 COW表 流式写 高 低 流式读
my_table_local, rand()); 使用说明 分布式表名称:default.my_table_dis。 本地表名称:default.my_table_local。 通过“AS”关联分布式表和本地表,保证分布式表的字段定义跟本地表一致。 分布式表引擎的参数说明: default_cluster:集群名称。
Hudi表索引设计规范 规则 禁止修改表索引类型。 Hudi表的索引会决定数据存储方式,随意修改索引类型会导致表中已有的存量数据与新增数据之间出现数据重复和数据准确性问题。常见的索引类型如下: 布隆索引:Spark引擎独有索引,采用bloomfiter机制,将布隆索引内容写入到Parquet文件的footer中。
Hudi数据表设计规范 Hudi表模型设计规范 Hudi表索引设计规范 Hudi表分区设计规范 父主题: Hudi应用开发规范
ClickHouse索引设计 一级索引设计 在建表设计时指定主键字段的建议:按查询时最常使用且过滤性最高的字段作为主键。依次按照访问频度从高到低、维度基数从小到大来排列。数据是按照主键排序存储的,查询的时候,通过主键可以快速筛选数据,合理的主键设计,能够大大减少读取的数据量,提升
ClickHouse分区设计 合理设置分区键,控制分区数在一千以内,分区字段使用整型。 分区part数与查询性能关系 图1 分区part数与查询性能关系图 分区建议 建议使用toYYYYMMDD(pt_d)作为分区键,pt_d是date类型。 如果业务场景需要做小时分区,使用pt
ClickHouse DataBase设计 业务隔离设计-各业务分库设计 在业务规划时,不同业务归属于不同数据库,便于后续对应用户关联的数据库下表、视图等数据库对象权限的分离管理和维护。 业务隔离设计-不要在system库中创建业务表 system数据库是ClickHouse默认
设计DAG 操作场景 合理的设计程序结构,可以优化执行效率。在程序编写过程中要尽量减少shuffle操作,合并窄依赖操作。 操作步骤 以“同行车判断”例子讲解DAG设计的思路。 数据格式:通过收费站时间、车牌号、收费站编号...... 逻辑:以下两种情况下判定这两辆车是同行车 如果两辆车都通过相同序列的收费站,
ClickHouse开启mysql_port配置 本章节指导用户使用MySQL客户端连接ClickHouse。 操作步骤 登录FusionInsight Manager,选择“集群 > 服务 > ClickHouse >配置 > 全部配置”。搜索参数项“clickhouse-co
通过Sqoop从Hive导出数据到MySQL 8.0时报数据格式错误 本章节仅适用于MRS 3.1.0版本集群。 用户问题 MRS 3.1.0集群Sqoop从Hive导出数据到MySQL 8.0时报数据格式错误。 问题现象 原因分析 通过日志判断得知是格式异常。 处理步骤 确认分隔符、表字段的格式无问题
ClickHouse依赖服务设计 为了保证ClickHouse服务的稳定,需要提早规划好对于底层依赖服务的设计,主要是ZooKeeper,尤其是在使用replicated*系列表引擎的场景下。 ZooKeeper默认部署在MRS集群的Master节点,根据节点CPU和内存规格,调
Sqoop如何连接MySQL 用户问题 Sqoop如何连接MySQL数据库。 处理步骤 在集群上安装客户端,查看客户端“sqoop/lib”目录下是否有MySQL驱动包。 在客户端目录下加载环境变量。 source bigdata_env 执行Kerberos用户认证。 如果集群