同一个目标表对应多个文件时,GDS的处理方式

举报
Sprother 发表于 2022/12/26 18:04:34 2022/12/26
【摘要】 在实际应用中,可能存在某一个文件太大,需要拆分成多个文件发送的情况,那么,GDS是否可以同时将拆分后的这些文件一次性加载到数据库呢? 下文对以上场景进行了验证。 结论1:一个GDS进程能够处理同一个目标表对应的同一个目录下的多个文件,这些文件通常使用通配符指定。 结论2:多个GDS进程能够同时处理同一个目标表的多个目录下的多个文件,文件可以使用通配符指定。 结论3:一个GDS进程不支持同时

在实际应用中,可能存在某一个文件太大,需要拆分成多个文件发送的情况,那么,GDS是否可以同时将拆分后的这些文件一次性加载到数据库呢?

下文对以上场景进行了验证。

结论1:个GDS进程能够处理同一个目标表对应的同一个目录下的多个文件,这些文件通常使用通配符指定。

结论2:多个GDS进程能够同时处理同一个目标表的多个目录下的多个文件,文件可以使用通配符指定。

结论3:一个GDS进程不支持同时处理同一个目标表的多个目录的多个文件。

  • 验证1:

一个GDS进程能够处理同一个目标表对应的同一个目录下的多个文件,这些文件通常使用通配符指定。

1.1 文件命名

例如,数据文件都在tpcds_data目录下,文件命名如下:

1.2 外表定义

1.3 GDS进程如下:

1.4 数据加载验证

原表中的基础数据是1441548,执行新的insert后,数据翻倍,表示数据加载成功。


  •  验证2:

多个GDS进程能够同时处理同一个目标表的多个目录下的多个文件,文件可以使用通配符指定。

2.1 文件命名

2.2 外表定义

2.3 GDS进程启动如下:

2.4 数据加载

原表中的基础数据是2883096,执行新的insert导入后,数据为4324644,表示加载成功。

  • 验证3:

一个GDS进程不支持同时处理同一个目标表的多个目录的多个文件。

1.1      假设GDS进程启动如下:

那么,不支持如下/opt/tpcds_data目录下再有子目录的这种方式处理多个文件。

报错信息如下:

同理,子目录“a,b”所在的位置也不能换成通配符“*”;换成通配符“*”后,虽然可以建表成功,但是,无法打开文件,错误信息如下:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。