检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Hudi前准备 前提条件 已完成创建OBS委托以及创建OBS数据源,具体可参见管理OBS数据源。 授权使用OBS数据源 执行GRANT命令给用户授予使用OBS数据源的权限: 1 GRANT USAGE ON FOREIGN SERVER server_name TO role_name;
dfs_server 外表的外部服务器名称,这个server必须存在。外表通过设置外部服务器连接OBS读取数据。 此处应填写为参照创建外部服务器创建的外部服务器名称。 OPTIONS参数 用于指定外表数据的各类参数,关键参数如下所示。 “format”:表示对应的OBS服务上的文件格式,支持“
VIEW)时指定hint,则在该视图每次被应用时会使用该hint。 当使用random plan功能(参数plan_mode_seed不为0)时,查询指定的plan hint不会被使用。 支持范围 当前版本Plan Hint支持的范围如下,后续版本会进行增强。 指定Join顺序的Hint -
引号字符(quote)为E'\x1b'。 是否使用加密(encrypt),默认为 “off”。 用户获取OBS访问协议对应的AK值(access_key) 。 用户获取OBS访问协议对应的SK值 (secret_access_key)。 请根据用户实际获取的access_key和secr
PG_JOBS PG_JOBS系统表存储用户创建的定时任务的任务详细信息,定时任务线程定时轮询pg_jobs系统表中的时间,当任务到期会触发任务的执行。该系统表属于Shared Relation,所有创建的job记录对所有数据库可见。 表1 PG_JOBS字段 名字 类型 描述 job_id
如果表存在别名应优先使用别名进行hint。 index表示使用indexscan或indexonlyscan的hint时,指定的索引名称,当前只能指定一个。 对于indexscan或indexonlyscan,只有hint的索引属于hint的表时,才能使用该hint。 scan
rows(table_list #|+|-|* const) 参数说明 #,+,-,*,进行行数估算hint的四种操作符号。#表示直接使用后面的行数进行hint。+,-,*表示对原来估算的行数进行加、减、乘操作,运算后的行数最小值为1行。table_list为hint对应的单表或多
location OBS外表参数,指定存储在OBS上的文件路径,多个桶的数据源数据之间使用分隔符‘|’进行分割,例如:LOCATION 'obs://bucket1/folder/ | obs://bucket2/',数据库将会扫描指定路径文件夹下面的所有对象。 当访问DLI多版本表时,无需指定location参数。
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname (table) 参数说明 table表示为该子链接块hint的别名的名称。 blockname hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、E
location OBS外表参数,指定存储在OBS上的文件路径,多个桶的数据源数据之间使用分隔符‘|’进行分割,例如:LOCATION 'obs://bucket1/folder/ | obs://bucket2/',数据库将会扫描指定路径文件夹下面的所有对象。 当访问DLI多版本表时,无需指定location参数。
redistribute ((*) (columns)) 参数说明 no表示hint的stream方式不使用,当指定AGG分布列的hint时指定no关键字无效。 table_list为进行stream操作的单表或多表join结果集,见参数说明。 当指定分布列的hint时,*为固定写法,不支持指定表名。
location OBS外表参数,指定存储在OBS上的文件路径,多个桶的数据源数据之间使用分隔符‘|’进行分割,例如:LOCATION 'obs://bucket1/folder/ | obs://bucket2/',数据库将会扫描指定路径文件夹下面的所有对象。 当访问DLI多版本表时,无需指定location参数。
身份认证服务页面。 在左侧导航栏单击“委托”,在委托页面右上角单击“创建委托”。 创建委托时委托类型选择“云服务”,云服务选择“DWS”。 单击“完成”后,在弹窗中单击“立即授权”对委托授予KMS服务的“KMS Administrator”权限。 单击“下一步”,选择授权资源范围
表(别名),或对于子查询提升的场景,也可以包含子查询的hint别名,同时任意表可以使用括号指定优先级,表之间使用空格分隔。 表只能用单个字符串表示,不能带schema。 表如果存在别名,需要优先使用别名来表示该表。 join table list中指定的表需要满足以下要求,否则会报语义错误。
创建外部服务器 本章节包含创建OBS外部服务器和创建HDFS外部服务器。 创建OBS外部服务器的步骤如下: 创建外部服务器 使用即将创建外部服务器的用户去连接其对应的数据库。 在本示例中,将使用(可选)新建用户及数据库并授予外表权限中创建的普通用户dbuser连接其创建的数据库mydatabase
经过实际数据查证,customer_address的两个join列的不同值数目较少,使用其进行join容易出现数据倾斜,故把customer_address放到最后进行join。使用如下的hint进行调优后,计划如下,运行时间116s: 1 2 3 4 select avg(netpaid)
该hint表示:在整个语句的计划生成过程中,将配置参数query_dop设置为0,即打开SMP自适应功能。生成的计划如下图所示: 父主题: 使用Plan Hint进行调优
对于提升的子查询,skew hint支持直接使用子查询名进行hint。如果明确子查询提升后的哪一个基表存在倾斜,则直接使用基表进行hint的可用性更高。 无论对于表或列,若存在别名,则优先使用别名进行hint。 示例 指定单表倾斜 原query中进行hint。 采用如下查询进行skew hint倾斜调
STDIN命令写数据到一个表。 使用GDS从远端服务器导入数据到GaussDB(DWS)。 当用户需要将普通文件系统(例如,弹性云服务器)中的数据文件导入到GaussDB(DWS)时,可以使用GaussDB(DWS)提供的GDS导入数据的功能。 使用CDM迁移数据到GaussDB(DWS)。
hint未被使用 非等值join使用hashjoin hint或mergejoin hint 不包含索引的表使用indexscan hint或indexonlyscan hint 通常只有在索引列上使用过滤条件才会生成相应的索引路径,全表扫描将不会使用索引,因此使用indexscan