检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
固定精度型 名称 描述 存储空间 取值范围 字面量 DECIMAL 固定精度的十进制数。精度最高支持到38位,但精度小于18位能保障性能最好。 Decimal有两个输入参数: precision:总位数,默认38 scale:小数部分的位数,默认0 说明: 如果小数位为零,即十进制(38
优点:由于写入数据先写delta log,且delta log较小,所以写入成本较低。 缺点:需要定期合并整理compact,否则碎片文件较多。读取性能较差,因为需要将delta log和老数据文件合并。 表1 两种表类型的 trade-off Trade-off CopyOnWrite MergeOnRead
时长过短,下游flink作业在重启或者异常中断阻塞的情况下,上游增量数据已经Clean掉了,flink需要从parquet文件读增量数据,性能会有下降;如果保留时间过长,会导致log里面的历史数据冗余存储。 具体可以按照下面的计算公式来保留2个小时的历史版本数据: 版本数设置为3
ng.enabled true 该配置项用于启用或禁用动态分区修剪。在执行SQL查询时,动态分区修剪可以帮助减少需要扫描的数据量,提高查询性能。 配置为true时,代表启用动态分区修剪,SQL会在查询中自动检测并删除那些不满足WHERE子句条件的分区,适用于在处理具有大量分区的表时。
fetchsize 读取数据时,每一批次获取数据的记录数,默认值1000。设置越大性能越好,但占用内存越多,该值设置过大会有内存溢出的风险。 batchsize 写入数据时,每一批次写入数据的记录数,默认值1000。设置越大性能越好,但占用内存越多,该值设置过大会有内存溢出的风险。 truncate
每次写入请求缓存的最大行数。 它能提升写入数据的性能,但是也可能增加延迟。 设置为 "0" 关闭此选项。 sink.buffer-flush.interval 否 1s Duration 刷新缓存的间隔,在这段时间内以异步线程刷新数据。 它能提升写入数据的性能,但是也可能增加延迟。 设置为 "0"
compaction.async.enabled 否 false Boolean 是否开启在线压缩。 true:开启 false:关闭 建议关闭在线压缩,提升性能。但是调度compaction.schedule.enabled仍然建议开启,之后可通过离线异步压缩,执行阶段性生成的压缩plan。 clean
fetchsize 读取数据时,每一批次获取数据的记录数,默认值1000。设置越大性能越好,但占用内存越多,该值设置过大会有内存溢出的风险。 batchsize 写入数据时,每一批次写入数据的记录数,默认值1000。设置越大性能越好,但占用内存越多,该值设置过大会有内存溢出的风险。 truncate
partitioned by (datestr) as select * from parquet_mngd; 注意事项 为了更好的加载数据性能,CTAS使用bulk insert作为写入方式。 权限需求 由DLI提供的元数据服务 SQL权限: database table CREATE_TABLE
时区 由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。时区可在创建实例时选择,后期可修改。 默认 性能规格 实例的CPU和内存。不同性能规格对应不同连接数和最大IOPS。 2vCPUs | 4GB 存储空间 如果存储类型为SSD云盘或极速型SSD,可设置存储
插入到多个表中,这类SQL在Spark开源本身是串行处理的,性能受到制约。针对这类SQL,Spark3.3.x版本中DLI新增支持multi-insert并行化的优化处理,可以让所有的insert都并发执行,提升处理性能。 在使用时需配置开启以下功能开关(默认关闭): spark
高 Query Latency(查询时延) 只对于MOR表,高(合并parquet + delta log) 低 (读取parquet文件性能) COW表查询 实时视图读取(SparkSQL为例):直接读取元数据服务里面存储的Hudi表即可,${table_name}表示表名称。
每次写入请求缓存的最大行数。 它能提升写入数据的性能,但是也可能增加延迟。 设置为 "0" 关闭此选项。 sink.buffer-flush.interval 否 1s Duration 刷新缓存的间隔,在这段时间内以异步线程刷新数据。 它能提升写入数据库的性能,但是也可能增加延迟。 设置为 "0"
每次写入请求缓存的最大行数。 它能提升写入数据的性能,但是也可能增加延迟。 设置为 "0" 关闭此选项。 sink.buffer-flush.interval 否 1s Duration 刷新缓存的间隔,在这段时间内以异步线程刷新数据。 它能提升写入数据库的性能,但是也可能增加延迟。 设置为 "0"
monitor-interval(最新分区作为临时表)或 lookup.join.cache.ttl(所有分区作为临时表)设置一个相对较大的值。否则,作业容易出现性能问题,避免表更新和重新加载过于频繁。 缓存刷新需加载整个Hive表。无法区分新数据和旧数据。 参数说明 在执行与最新的Hive表的时间关联
enabled = true 该配置项用于启用或禁用动态分区修剪。在执行SQL查询时,动态分区修剪可以帮助减少需要扫描的数据量,提高查询性能。 配置为true时,代表启用动态分区修剪,SQL会在查询中自动检测并删除那些不满足WHERE子句条件的分区,适用于在处理具有大量分区的表时。
DLI表是存储在DLI数据湖中的数据表。支持多种数据格式,可以存储结构化、半结构化和非结构化数据。 DLI表的数据存储在DLI服务内部,查询性能更好,适用于对时延敏感类的业务,如交互类的查询等。 库表管理中表的列表页面,表类型为Managed的即代表DLI表。 OBS表 OBS表的
新数据使用该操作会出现重复数据。 bulk_insert:该操作会对主键进行排序后直接以写普通parquet表的方式插入Hudi表,该操作性能是最高的,但是无法控制小文件,而upsert和insert操作可以很好的控制小文件。 upsert: 默认操作类型。Hudi会根据主键进行
是否定时执行:如果需要配置作业定时自动执行可开启。这里保持默认值“否”。 抽取并发数:设置同时执行的抽取任务数,适当的抽取并发数可以提升迁移效率,配置原则请参见性能调优。这里保持默认值“1”。 是否写入脏数据:如果需要将作业执行过程中处理失败的数据、或者被清洗过滤掉的数据写入OBS中,以便后面查看,可
为HDFS方式,如果没有使用WHERE条件做数据过滤及在字段映射页面添加新字段的需求,选择HDFS方式即可。 HDFS文件方式读取数据时,性能较好,但不支持使用WHERE条件做数据过滤及在字段映射页面添加新字段。 JDBC方式读取数据时,支持使用WHERE条件做数据过滤及在字段映射页面添加新字段。