开发者学堂课程【SaaS 模式云数据仓库系列课程 —— 2021数仓必修课: MaxCompute 异构数据源与非结构化数据处理】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/55/detail/1048
MaxCompute 异构数据源与非结构化数据处理
主要内容:
一、MaxCompute 外部表概述
二、功能和特点介绍
三、常见使用场景
四、代码示例
一、MaxCompute 外部表概述
MaxCompute 外部表解决什么问题?
通过建立外部表,可以在 MaxCompute 中关联异构数据(oss 等云存储)中的数据,从而轻松的使用 sSQL 对这些数据进行分析和处理。
二、功能和特点介绍
云存储与 MaxCompute SQL 无缝对接
●使用 Hive 兼容的 DDL 语句建立外表
●支持 OSS 和 TableStore
●复用持续优化的高性能 MaxCompute SQL 引擎进行计算
●除数据存储在异构数据源以外,其他操作与内部表无异
●外表 JOIN 外表、外表 JOIN 内部表一实现异构数据关联
支持多种数据格式
● CSV、TSV 等文本格式
● JSON
●压缩文本
●广泛使用的开源格式
●ORC
●Parquet
直接访问云存储数据
●不加载数据,没有 ETL 过程
●按数据的原始格式查询数据
●自动并行处理,无需关心分布式处理细节
●计算节点直接访问,避免数据进行额外传输的性能损耗
三、常见使用场景
使用场景样例
●高性能的数据导入导出
●追求更高性能计算∶一条简单的 CREATE TABLE AS 语句将外表数据导入到MaxCompute
●TableStore 数据全量备份到 MaxCompute 或者 OSS
●MaxCompute 冷数据备份到 OSS
●数据分析∶ 即席查询 OSS/TableStore 中的数据
●将OSS 文本数据转为 ORC、Parquet 列存储格式提高查询性能和节省存储成本
四、代码示例
●非结构化数据处理
代码示例∶存储在 OSS 上的 CSV 数据即席查询
通过外部表 (EXTERNAL TABLE),描述数据的存储位置(OSS)和处理方(CSV)
直接对数据进行读取,抽取出的数据可直接参数与SQL运算,无缝连接
即席查询 TableStore 中的数据
高级特性∶
使用 Java 扩展支持任意非结构化数据。
Java SDK 接口∶
以Extractor 为例
非结构化数据处理示例1∶
处理存储在 OSS 上的语音数据
非结构化示例2:图像处理
MaxCompute 外表总结
支持多种异构数据源
●Oss
●TableStore
支持多种数据格式
●CSV、TSV 等文本数据
●ORC、Parquet 等开源格式数据
高*度的扩展特性
●使用 Java 扩展自定义格式处理任意非结构化数据