本文介绍如何在DLA中分析MaxCompute外部表生成的数据。

大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute的非结构化框架支持通过INSERT方式将MaxCompute的数据直接输出到OSS。MaxCompute也支持通过外部表关联OSS,进行数据输出。

由于MaxCompute外部表的目录结构比较特殊,需要在建表时先指定directory.odps属性为true,DLA才会按照MaxCompute外部表的目录结构来读取数据文件。关于如何创建外部表并写入测试数据,请参见将数据输出到OSS

操作步骤

  1. 创建OSS Schema。
    ​​​​​​​ CREATE SCHEMA dla_oss_db with DBPROPERTIES(
      catalog='oss',
      location 'oss://dlaossfile1/dla/'
      )​
  2. 创建OSS外表。
    ​CREATE EXTERNAL TABLE odps (
     a int,
     b int,
     c int
     )
    ROW FORMAT DELIMITED
        FIELDS TERMINATED BY ','
    STORED AS `TEXTFILE`
    LOCATION 'oss://dlaossfile1/dla/odps/'
     TBLPROPERTIES (
        'directory.odps' = 'true'
    )​
    说明
    • 字段名称、类型要和odps中的定义一致。
    • 文件格式相关的参数要和odps中的定义相对应。
    • ‘directory.odps’ = ‘true’表示这个目录是按照MaxCompute外部表的目录结构来组织的。
  3. 查询数据。
    ​mysql> select * from odps;
    +------+------+------+
    | a    | b    | c    |
    +------+------+------+
    |   30 |   11 |   12 |
    |   33 |   14 |   15 |
    |   36 |   17 |   18 |
    |   41 |    2 |    3 |
    |   44 |    5 |    6 |
    |   47 |    8 |    9 |
    |   50 |   11 |   12 |
    |   53 |   14 |   15 |
    |   56 |   17 |   18 |
    +------+------+------+
    9 rows in set (9.69 sec)​