前言

Data Lake Analytics (后文简称DLA)是阿里云重磅推出的一款用于大数据分析的产品,可以对存储在OSS,OTS上的数据进行查询分析。相较于传统的数据分析产品,用户无需将数据重新加载至DLA,只需在DLA中创建一张与数据源关联的表,不仅简化了分析过程,还节约了存储成本,是做大数据分析的不二之选。

当用户想通过DLA对OSS上的某个文件或者目录进行查询时,第一步需要先针对该文件或目录在DLA中创建一个table。当查询结束后,如果该table将不再使用,需要用户手动执行drop命令进行清理。

在实际应用的某些场景中,有些table只在查询中使用一次即可,但每次使用都要手动建表删表。这时,用户可以选择使用DLA的临时表。该表的生命周期仅限于一条查询语句,当查询结束后,临时表将被自动删除。

本文将以OSS数据源为例,重点介绍如何在查询语句中定义和使用临时表。

临时表

在DLA中,用户可以在查询SQL中嵌入建表语句(即,对临时表的定义),从而对嵌入的临时表进行查询。

示例1:查询中只包含一个临时表,且建表语句相对简单。

示例2:查询中只含有一个临时表,建表语句中需要指定ROW FORMAT以及TBLPROPERITES。

示例3:建表语句中含有多个临时表

适用场景

当OSS的目录下有数量较多的数据文件,这些文件的目录结构如下:

  1. 目录mytable下的所有文件有着相同的数据结构,即表结构相同
  2. 每次SQL查询只针对一个文件,即dataN.csv

此时,用户可以考虑使用临时表进行查询,每次只需替换SQL中临时表的LOCATION路径值即可。

注意事项

  1. 在一条查询语句中的多个临时表,其表名不能相同,需要在该查询语句中具有唯一性;
  2. 在执行查询前,需要先选定一个database,可以执行 use ;
  3. 临时表的路径需要是当前database所指目录下的子目录或者文件。

更多文章

  • Data Lake Analytics + OSS数据文件格式处理大全:https://yq.aliyun.com/articles/623246
  • Data Lake Analytics中OSS LOCATION的使用说明:https://yq.aliyun.com/articles/623247
  • 如何使用Data Lake Analytics创建分区表:https://yq.aliyun.com/articles/624151
  • 基于Data Lake Analytics来分析OTS上的数据:https://yq.aliyun.com/articles/618501
  • 使用Data Lake Analytics从OSS清洗数据到AnalyticDB:https://yq.aliyun.com/articles/623401
  • 使用Data Lake Analytics读/写RDS数据:https://yq.aliyun.com/articles/629046

-----------------------------------

本文作者:金络

原文链接:https://yq.aliyun.com/articles/643416

本文为云栖社区原创内容,未经允许不得转载。

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
相关文章