本文介绍如何在DLA中分析MaxCompute外部表生成的数据。
大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute的非结构化框架支持通过INSERT方式将MaxCompute的数据直接输出到OSS。MaxCompute也支持通过外部表关联OSS,进行数据输出。
由于MaxCompute外部表的目录结构比较特殊,需要在建表时先指定directory.odps
属性为true
,DLA才会按照MaxCompute外部表的目录结构来读取数据文件。关于如何创建外部表并写入测试数据,请参见将数据输出到OSS。
操作步骤
- 创建OSS Schema。
CREATE SCHEMA dla_oss_db with DBPROPERTIES( catalog='oss', location 'oss://dlaossfile1/dla/' )
- 创建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外部表的目录结构来组织的。
- 查询数据。
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)