更新时间:2023-04-19 GMT+08:00

OBS上的数据准备

操作场景

使用SQL on OBS功能查询OBS数据之前:

  1. 假设您已将ORC数据存储在OBS上。

    例如,在使用Hive或Spark等组件时创建了ORC表,其表数据已经存储在OBS上的场景。

    假设有2个ORC数据文件“product_info.0”“product_info.1”,其原始数据如原始数据所示,都已经存储在OBS桶“mybucket”“demo.db/product_info_orc/”目录中。

  2. 如果您的数据文件已经在OBS上了,请执行获取源数据的OBS路径并设置读取权限中的步骤。

    本小节以导入ORC格式为例,PARQUET、CARBONDATA、JSON数据的导入方法与ORC格式相似。

    该方式同样也支持导入TEXT、CSV格式文件,但由于该方式不支持错误表,因此推荐使用从OBS导入CSV、TEXT数据(方式一)的导入方式。

原始数据

假设您已将2个ORC数据文件存储在OBS上,其原始数据分别如下:

  • 数据文件“product_info.0”
  • 数据文件“product_info.1”

获取源数据的OBS路径并设置读取权限

  1. 登录OBS管理控制台。

    单击“服务列表”,选择“对象存储服务”,打开OBS管理控制台页面。

  2. 获取数据源文件的OBS路径。

    数据源文件在上传到OBS桶之后,会生成全局唯一的访问路径。在创建外表时需要指定数据源文件的OBS路径。

    如何查看OBS路径,请参见《对象存储服务控制台指南》的通过对象URL访问对象章节。

    例如,在本例中,查看到数据文件的OBS路径分别为:

    https://obs.ap-southeast-1.myhuaweicloud.com/mybucket/demo.db/product_info_orc/product_info.0
    https://obs.ap-southeast-1.myhuaweicloud.com/mybucket/demo.db/product_info_orc/product_info.1

  3. 为用户设置OBS桶的读取权限。

    在使用SQL on OBS功能时,执行该功能的用户需要取得数据源文件所在OBS桶的读取权限。通过配置桶的ACL权限,可以将读取权限授予指定的用户帐号。

    具体请参见《对象存储服务控制台指南》中的配置桶ACL章节。