利用 OSS Select,您可以使用简单的SQL语句从OSS的单个文件中选取内容,仅获取所需要的数据,从而减少从OSS传输的数据量,提升您获取数据的效率。

前提条件

  • 文件必须是UTF-8编码且符合RFC 4180标准的CSV文件(包括TSV,文件的行列分隔符以及Quote字符都可自定义)。
  • 通过控制台可以对128MB以下的文件提取40MB以下的数据记录。如果您需要处理更大的文件或返回更多的记录,请使用 API:SelectObject

操作步骤

  1. 登录OSS管理控制台
  2. 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。
  3. 单击文件管理页签。
  4. 选择目标文件对应的更多 > 选取内容
  5. (可选)设置分隔符标题行(文件第一行是否包含列标题),然后单击显示文件预览,预览文件。
    说明 预览文件会产生 Select 操作的费用。
    • 标准存储类型:数据扫描费用
    • 低频访问和归档存储类型:数据扫描费用和数据取回费用。
  6. 单击下一步,输入SQL语句并执行。
    说明 关于SQL语句的使用说明,请参见 SelectObject API文档中的常见SQL用例
  7. 查看执行结果。单击下载,下载所选取的内容到本地。

操作样例

假如名为 People的CSV文件,有3列数据,分别是 姓名公司年龄
  • 如果想查找年龄大于50岁,并且名字以Lora开头的人(其中_1, _2, _3是列索引,代表第一列、第二列、第三列),可以执行如下SQL语句:

    select * from ossobject where _1 like 'Lora*' and _3 > 50

  • 如果想统计这个文件有多少行,最大年龄与最小年龄是多少,可以执行如下SQL语句:

    select count(*), max(cast(_3 as int)), min(cast(_3 as int)) from ossobject