本文介绍如何基于阿里云对象存储OSS , 构建大数据分析服务MaxCompute PB级数据仓库 。并对OSS上的海量数据进行分析 , 有效提升大数据分析工作效率至分钟级 , 帮助用户更高效、更低成本的挖掘海量数据价值 。
背景信息
互联网金融应用每天都需要将大量的金融数据交换文件存放在OSS上 , 并需要进行超大文本文件的结构化分析 。通过MaxCompute的OSS外部表查询功能 , 用户可以直接用外部表的方式将OSS上的大文件加载到MaxCompute进行分析 , 从而大幅提升整个链路的效率 。
操作示例:物联网采集数据分析
操作示例:阿里云产品消费账单分析
操作步骤请参见阿里云官网OSS上传文件 。您可以使用任何数据集来执行测试 , 以验证我们在这篇文章中概述的最佳实践 。本示例在OSS上准备了一批CSV数据 , Endpoint为oss-cn-beijing-internal.aliyuncs.com , Bucket为oss-odps-test , 数据文件的存放路径为 /demo/vehicle.csv 。
操作步骤请参阿里云官网MaxCompute创建MaxCompute Project 。
操作步骤请参考阿里云官网MaxCompute 创建表 , 语句如下:
CREATE EXTERNAL TABLE IF NOT EXISTS ambulance_data_csv_external
(
vehicleId int,
recordId int,
patientId int,
calls int,
locationLatitute double,
locationLongtitue double,
recordTime string,
direction string
)
STORED BY 'com.aliyun.odps.CsvStorageHandler'
LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oss-odps-test/Demo/';
成功创建外部表后 , 便可如普通表一样使用该外部表 。查询步骤请参见见阿里云官网MaxCompute 提取和分析数据 。
假设/demo/vehicle.csv的数据如下:
1,1,51,1,46.81006,-92.08174,9/14/2014 0:00,S
执行如下 SQL 语句:
1,2,13,1,46.81006,-92.08174,9/14/2014 0:00,NE
1,3,48,1,46.81006,-92.08174,9/14/2014 0:00,NE
1,4,30,1,46.81006,-92.08174,9/14/2014 0:00,W
1,5,47,1,46.81006,-92.08174,9/14/2014 0:00,S
1,6,9,1,46.81006,-92.08174,9/14/2014 0:00,S
1,7,53,1,46.81006,-92.08174,9/14/2014 0:00,N
1,8,63,1,46.81006,-92.08174,9/14/2014 0:00,SW
1,9,4,1,46.81006,-92.08174,9/14/2014 0:00,NE
1,10,31,1,46.81006,-92.08174,9/14/2014 0:00,N
select recordId, patientId, direction from ambulance_data_csv_external where patientId > 25;
输出结果如下:
+------------+------------+-----------+
更多关于OSS外部表使用方法 , 请参见阿里云官网MaxCompute外部表概述 。
| recordId| patientId| direction |
+------------+------------+-----------+
| 1| 51| S|
| 3| 48| NE|
| 4| 30| W|
| 5| 47| S|
| 7| 53| N|
| 8| 63| SW|
| 10| 31| N|
+------------+------------+-----------+
推荐阅读
- Spark使用OSS Select加速数据查询
- 军婚婚检不通过 军婚婚检怎么算不合格
- 3d结构光是啥意思
- 黄灯通过路口扣分吗
- soul可以通过手机号找人吗
- 3d结构光是什么
- 如何选择牛肉
- 汽车油箱结构
- 迷你世界外星boss怎么召唤
- 龙族幻想极乐馆boss在哪