云数据仓库ADB 3.0 支持 with 用法吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云原生数据仓库AnalyticDB MySQL版(ADB)3.0确实支持WITH
用法,主要用于在创建表时指定连接器及相关参数。以下是关于WITH
用法的详细说明和配置信息:
WITH
用法的基本结构在ADB 3.0中,WITH
子句通常用于定义外部表或临时表的连接器配置。以下是一个典型的CREATE TEMPORARY TABLE
语句示例,展示了WITH
子句的使用方式:
CREATE TEMPORARY TABLE adb_table (
`id` INT,
`num` BIGINT,
PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
'connector' = 'adb3.0',
'url' = '<yourUrl>',
'userName' = '<yourUsername>',
'password' = '<yourPassword>',
'tableName' = '<yourTablename>'
);
connector
:指定连接器类型,固定值为adb3.0
。url
:JDBC连接地址,格式为jdbc:mysql://<endpoint>:<port>/<databaseName>
。userName
和 password
:数据库用户名和密码。tableName
:目标表的名称。WITH
参数分类及说明WITH
子句中的参数可以分为以下几类:
这些参数适用于所有场景,包括结果表和维表: - connector
:连接器类型,必填,固定值为adb3.0
。 - url
:JDBC连接地址,必填。 - userName
和 password
:数据库用户名和密码,必填。 - tableName
:目标表名称,必填。 - maxRetryTimes
:写入或读取失败后的最大重试次数,默认值为10。
这些参数仅适用于结果表: - batchSize
:一次批量写入的条数,默认值为1000。 - bufferSize
:内存中缓存的数据条数,默认值为1000。 - flushIntervalMs
:清空缓存的时间间隔,单位为毫秒,默认值为3000。 - ignoreDelete
:是否忽略DELETE
操作,默认值为false
。 - replaceMode
:是否采用REPLACE INTO
语法插入数据,默认值为true
。 - excludeUpdateColumns
:更新主键值相同时忽略指定字段的更新。 - connectionMaxActive
:线程池大小,默认值为40。
这些参数仅适用于维表: - cache
:缓存策略,支持None
、LRU
和ALL
,默认值为ALL
。 - cacheSize
:缓存大小,仅在cache=LRU
时生效,默认值为100000。 - cacheTTLMs
:缓存超时时间,单位为毫秒,默认值为Long.MAX_VALUE
。
replaceMode
)仅在AnalyticDB MySQL 3.1.3.5及以上版本中支持,请确保集群版本满足要求。CACHE ALL
策略,请注意节点内存大小,防止出现OOM问题。建议增加维表JOIN节点的内存,增加的内存大小为远程表数据量的两倍。WITH
用法以下是一个包含多种WITH
参数的完整示例:
CREATE TEMPORARY TABLE adb_sink (
`id` INT,
`num` BIGINT,
PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
'connector' = 'adb3.0',
'url' = 'jdbc:mysql://<endpoint>:<port>/<databaseName>',
'userName' = '<yourUsername>',
'password' = '<yourPassword>',
'tableName' = '<yourTablename>',
'batchSize' = '500',
'bufferSize' = '1000',
'flushIntervalMs' = '5000',
'ignoreDelete' = 'true',
'replaceMode' = 'true',
'connectionMaxActive' = '50'
);
综上所述,云原生数据仓库ADB 3.0完全支持WITH
用法,并提供了丰富的参数配置选项以满足不同场景的需求。在使用时,请根据实际需求选择合适的参数,并注意版本兼容性和主键一致性等关键点。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。