使用DLA分析MaxCompute外部表数据-阿里云开发者社区

开发者社区> 云原生数据湖 Data Lake Analytics> 正文

使用DLA分析MaxCompute外部表数据

简介: MaxCompute支持通过外部表关联OSS,进行数据输出。然而,由于MaxCompute外部表的目录结构比较特殊,无法使用MaxCompute以外的工具对OSS上的文件做进一步的分析,限制了外部表的使用场景。因此,DLA最近支持了分析MaxCompute外部表数据文件的功能,借助DLA强大的生态,可以方便地对MaxCompute外部表进行分析,并能够和其他数据源做联合查询。 本文通过一个简单的例子介绍如何使用这个功能。

MaxCompute支持通过外部表关联OSS,进行数据输出。然而,由于MaxCompute外部表的目录结构比较特殊,无法使用MaxCompute以外的工具对OSS上的文件做进一步的分析,限制了外部表的使用场景。因此,DLA最近支持了分析MaxCompute外部表数据文件的功能,借助DLA强大的生态,可以方便地对MaxCompute外部表进行分析,并能够和其他数据源做联合查询。
本文通过一个简单的例子介绍如何使用这个功能。

准备工作:创建MaxCompute外部表并写入数据


进入MaxCompute工作空间,新建一个ODPS SQL节点,在其中执行如下语句创建OSS外表:

CREATE EXTERNAL TABLE parquet
(
  a int,
  b int
)
STORED AS PARQUET
LOCATION 'oss://${accessKeyId}:${accessKeySecret}@${endpoint}/${bucket}/${userPath}/';

关于创建外部表语法的更多信息可参考MaxCompute文档
建表之后,我们可以执行如下语句向其中写入几条测试数据:

insert into parquet values(1,1);
insert into parquet values(2,2);

执行查询,我们可以看到数据已经写入到外表中了:

odps.png

使用DLA分析MaxCompute外部表

首先创建一个OSS Schema:

CREATE SCHEMA dla_oss_db with DBPROPERTIES(
catalog='oss',
location 'oss://${bucket}/${userPath}/'
)

创建表:

CREATE EXTERNAL TABLE odps_parquet (
    `a` int,
    `b` int
)
STORED AS PARQUET
LOCATION 'oss://${bucket}/${userPath}/'
TBLPROPERTIES (
    'directory.odps' = 'true'
);

在读取MaxCompute外部表时,和其他OSS文件不同的是多了一个表属性'directory.odps' = 'true',这表示表的目录是按照MaxCompute外部表的格式来组织的。
执行查询:
dla.png

关于我们

数据湖分析Data Lake Analytics简介

欢迎大家使用数据湖分析(DLA),DLA不仅仅便宜,且快,且方便,专为阿里云数据湖分析方案而生

  • 支持自建、托管RDS、NoSQL、OSS(JSON、CSV、Parquet等格式)多种数据源分析
  • 支持按量 按照扫描量 的计费方式,准入门槛0元,提供的Serverless的弹性服务为按需收费,不需要购买固定的资源,完全契合业务潮汐带来的资源波动,满足弹性的分析需求,同时极大地降低了运维成本和使用成本
  • 平台底层托管大集群且自动弹性,在一定数据量情况下,分析性能比自建小集群高出400%
  • 支持一键 把 MySQL、PG、SqlServer、PolarDb数据库 拖到DLA,再分析,解决原MySQL不敢分析的问题。 DLA 分析性能TPC-H 10G情况 比原MySQL 8c16g 等高出10倍,数据量越大,MySQL性能越差,在1TB数据量下,原MySQL基本跑不出来
  • 产品文档:https://www.aliyun.com/product/datalakeanalytics
  • 帮助文档:https://help.aliyun.com/document_detail/70378.html
  • MySQL&PG&SqlServer一键同步数据到DLA:https://help.aliyun.com/document_detail/126559.html
  • 新客户1元试用:https://common-buy.aliyun.com/?commodityCode=openanalytics_post

欢迎大家群内咨询

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生数据湖 Data Lake Analytics
使用钉钉扫一扫加入圈子
+ 订阅

数据湖分析Data Lake Analytics是阿里云数据库自研的核心产品,是新一代CloudNative分析平台;开放计算,支持MySQL协议,支持Presto、Spark引擎;主打低成本、Serverless无托管成本;统一元数据、可以让用户拥有统一的数据视图。目前在阿里云服务数千客户。

官方博客
官网链接