Data Lake Analytic (后文简称 DLA)可以帮助用户通过标准的SQL语句直接对存储在OSS、TableStore上的数据进行查询分析。
在查询前,用户需要根据数据文件的格式和内容在DLA中创建一张表。 Data Lake Analytics + OSS数据文件格式处理大全 一文中介绍了如何定义表的SERDE和ROW FORMAT。
本文将以存储在OSS上的文件为例详细介绍如何指定表LOCATION。
DLA中的建表语句的语法为
其中 LOCATION可以是数据文件本身,也可以是数据文件所在的目录。
建表时可以将表直接关联到数据文件,此时的LOCATION需要是该文件在OSS上的绝对路径。
例如:
LOCATION也可以指向OSS上的目录,该目录下的文件即是表的数据文件。
建表时,可以通过设置属性 recursive.directories 来控制是遍历该目录下的所有数据文件。默认或不显式指定recursive.directories,DLA会解析为false,即不遍历。
例如,OSS上的目录结构为
建表语句为:
当recursive.directories=false,该表的数据文件为只有LOCATION下的nation.csv一个文件,即
建表语句为:
当recursive.directories=true,该表的数据文件为LOCATION目录下及其子目录下的所有csv文件,即
例如,建表时指定STORED AS TEXTFILE,但是目录下除了csv文件,还有orc格式的文件。这种情况下,在建表和查询时并不会报错,但是SELECT时可能会看到数据乱码或不准确。
为了给大家带来更好的查询分析体验, 目前DLA还在不断完善中,欢迎大家试用,提出您的宝贵意见或建议。
本文作者:金络
本文为云栖社区原创内容,未经允许不得转载。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69915408/viewspace-2640653/ ,如需转载,请注明出处,否则将追究法律责任。