使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

0. Data Lake Analytics(DLA)简介

关于Data Lake的概念,更多阅读可以参考:

https://en.wikipedia.org/wiki/Data_lake

以及AWS和Azure关于Data Lake的解读:

https://amazonaws-china.com/big-data/datalakes-and-analytics/what-is-a-data-lake/

https://azure.microsoft.com/en-us/solutions/data-lake/

终于,阿里云现在也有了自己的数据湖分析产品:https://www.aliyun.com/product/datalakeanalytics

可以点击申请使用(目前公测阶段还属于邀测模式,我们会尽快审批申请),体验本教程的TPC-H CSV数据格式的数据分析之旅。

产品文档:https://help.aliyun.com/product/70174.html

1. 开通Data Lake Analytics与OSS服务

如果您已经开通,可以跳过该步骤。如果没有开通,可以参考:https://help.aliyun.com/document_detail/70386.html

进行产品开通服务申请。

2. 下载TPC-H测试数据集

可以从这下载TPC-H 100MB的数据集:

https://public-datasets-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/tpch_100m_data.zip

3. 上传数据文件到OSS

登录阿里云官网的OSS控制台:https://oss.console.aliyun.com/overview

规划您要使用的OSS bucket,创建或选择好后,点击“文件管理”,因为有8个数据文件,为每个数据文件创建对应的文件目录:

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

创建好8个目录如下:

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

点击进入目录,上传相应的数据文件,例如,customer目录,则上传customer.tbl文件。

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

上传好后,如下图。然后,依次把其他7个数据文件也上传到对应的目录下。

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

至此,8个数据文件都上传到了您的OSS bucket中:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

4. 登录Data Lake Analytics控制台

https://openanalytics.console.aliyun.com/

点击“登录数据库”,输入开通服务时分配的用户名和密码,登录Data Lake Analytics控制台。

5. 创建Schema和Table

输入创建SCHEMA的语句,点击“同步执行”。

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

(注意:目前在同一个阿里云region,Data Lake Analytics的schema名全局唯一,建议schema名尽量根据业务定义,已有重名schema,在创建时会提示报错,则请换一个schema名字。)

Schema创建好后,在“数据库”的下拉框中,选择刚刚创建的schema。然后在SQL文本框中输入建表语句,点击同步执行。

建表语句语法参考:https://help.aliyun.com/document_detail/72006.html

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

TPC-H对应的8个表的建表语句如下,分别贴入文档框中执行(LOCATION子句中的数据文件位置请根据您的实际OSS bucket目录相应修改)。(注意:目前控制台中还不支持多个SQL语句执行,请单条语句执行。)

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

建表完毕后,刷新页面,在左边导航条中能看到schema下的8张表。

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

6. 执行TPC-H查询

TPC-H总共22条查询,如下:

Q1:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q2:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q3:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q4:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q5:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q6:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q7:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q8:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q9:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q10:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q11:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q12:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q13:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q14:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q15:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q16:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q17:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q18:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q19:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q20:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q21:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

Q22:

 

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

 

7. 异步执行查询

Data Lake Analytics支持“同步执行”模式和“异步执行”模式。“同步执行”模式下,控制台界面等待执行结果返回;“异步执行”模式下,立刻返回查询任务的ID。

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

点击“执行状态”,可以看到该异步查询任务的执行状态,主要分为:“RUNNING”,“SUCCESS”,“FAILURE”。

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

点击“刷新”,当STATUS变为“SUCCESS”时,表示查询成功,同时可查看查询耗时“ELAPSE_TIME”和查询扫描的数据字节数“SCANNED_DATA_BYTES”。

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

8. 查看查询历史

点击“执行历史”,可以看到您执行的查询的历史详细信息,包括:

1)查询语句;

2)查询耗时与执行具体时间;

3)查询结果返回行数;

4)查询状态;

5)查询扫描的字节数;

6)结果集回写到的目标OSS文件(Data Lake Analytics会将查询结果集保存用户的bucket中)。

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

查询结果文件自动上传到用户同region的OSS bucket中,其中包括结果数据文件和结果集元数据描述文件。

{QueryLocation}/{query_name}|Unsaved}/{yyyy}/{mm}/{dd}/{query_id}/xxx.csv

{QueryLocation}/{query_name}|Unsaved}/{yyyy}/{mm}/{dd}/{query_id}/xxx.csv.metadata

其中QueryLocation为:

aliyun-oa-query-results-<your_account_id>-<oss_region>

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

9. 后续

至此,本教程一步一步教您如何利用Data Lake Analytics云产品分析您OSS上的CSV格式的数据文件。除了CSV文件外,Data Lake Analytics还支持Parquet、ORC、json、RCFile、AVRO等多种格式文件的数据分析能力。特别是Parquet、ORC,相比CSV文件,有极大的性能和成本优势(同样内容的数据集,拥有更小的存储空间、更快的查询性能,这也意味着更低的分析成本)。

后续陆续会有更多教程和文章,手把手教您轻松使用Data Lake Analytics进行数据湖上数据分析和探索,开启您的云上低成本、即存即用的数据分析和探索之旅。

原文链接