MaxCompute助力OSS支持EB级计算力
一、 MaxCompute是什么?
你的OSS数据是否作堆积在一旁沉睡已久,存储成本变为企业负担?你是否想唤醒沉睡的数据,驱动你的业务前行?MaxCompute可以帮助你高效且低成本的解决这些问题,通过对海量数据进行分析和计算来实现勾勒用户画像、提升营销转化、挖掘产品优化方向、预测业务发展等丰富的业务场景。
MaxCompute是一项提供快速、完全托管的EB级数据仓库解决方案的大数据计算服务,可以高效并经济的分析处理海量数据。作为阿里云大数据旗舰产品,MaxCompute的EB级别性能处理达到了全球领先性,被Forrester评为全球云端数据仓库领导者。同时,MaxCompute也是阿里巴巴内部大数据旗舰平台,阿里巴巴近99%的数据存储以及95%的计算能力都在这个平台上产生。
最近MaxCompute重磅推出了一项重要特性:OSS外表查询功能。该功能可以帮助您直接对OSS中的海量文件进行查询,而不必将数据加载到MaxCompute 表中,既节约了数据搬迁的时间和人力,也节省了多地存储的成本。除此之外,MaxCompute外表查询功能还拥有如下的优势:
1、MaxCompute是一个无服务器的分布式计算架构,无需用户再额外维护和管理服务器基础设施,能方便及时的为OSS用户提供临时按需的查询服务,从而大大帮助企业节省成本。目前该功能处于公测阶段,免费使用;
2、支持处理OSS上开源格式的结构化文件,包括:Avro、CSV、ORC、Parquet、RCFile、RegexSerDe、SequenceFile和TextFile,同时支持gzip压缩格式;
3、提供灵活的用户自定义代码的处理框架,用来支持处理OSS上非结构化文件,用户可以自行编写代码直接对OSS上的数据进行处理和计算。比如对OSS上的视频,图像,音频,基因,气象等数据进行特征提取和分析,可以支持丰富的第三方音视频处理库;
二、 客户案例
1、华大基因
基因技术从实验室逐渐进入生活场景,数据体量爆发式增长,远超出传统计算能力所能支持的范围。基于这样的背景,华大选择了MaxCompute。在百万人基因组项目中,对人群结构的分析,oss存放了大量的fastq文件,传统计算方式需3-5天,且需要将数据同步到数据仓库,现在通过外表功能,MaxCompute可使整个分析在1小时内完成,极大加速了数据吞吐和交付生产效率。
2、天弘基金
天弘基金旗下的余额宝,是中国规模最大的货币基金。除理财功能外,余额宝还是移动互联网时代的现金管理工具。余额宝每天有大量的金融数据交换文件存放在oss上,需要进行超大文本文件的结构化分析,之前是把oss文件先下载到本地,然后再上传到MaxCompute,链路长且效率不高。现在oss上的大文件可以直接用外部表的方式加载到MaxCompute做分析,整个链路的效率得到了大幅提升。
三、 如何使用MaxCompute?
下面我们通过两个简单的示例,介绍如何通过MaxCompute外表功能实现对OSS数据的分析和处理。
场景一:物联网采集数据分析
Step1:准备工作
1、开通OSS 、MaxCompute服务
您可以通过官网分别开通OSS、MaxCompute服务,并创建OSS bucket、MaxCompute Project。
2、采集数据到OSS
您可以使用任何数据集来执行测试,以验证我们在这篇文章中概述的最佳实践。
本文准备一批 CSV 数据存在 OSS 上,endpoint 为oss-cn-beijing-internal.aliyuncs.com
,bucket 为oss-odps-test
,数据文件的存放路径为/demo/vehicle.csv
。
3、授权MaxCompute访问OSS
MaxCompute需要直接访问OSS的数据,前提需要将OSS的数据相关权限赋给MaxCompute的访问账号,可以直接登录阿里云账号后,点击此处完成一键授权。
Step2:通过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/';
Step3:通过MaxCompute查询外部表
外部表创建成功后,便可如同普通表一样使用这个外部表。假设/demo/vehicle.csv数据如下:
1. 1,1,51,1,46.81006,-92.08174,9/14/2014 0:00,S
2. 1,2,13,1,46.81006,-92.08174,9/14/2014 0:00,NE
3. 1,3,48,1,46.81006,-92.08174,9/14/2014 0:00,NE
4. 1,4,30,1,46.81006,-92.08174,9/14/2014 0:00,W
5. 1,5,47,1,46.81006,-92.08174,9/14/2014 0:00,S
6. 1,6,9,1,46.81006,-92.08174,9/14/2014 0:00,S
7. 1,7,53,1,46.81006,-92.08174,9/14/2014 0:00,N
8. 1,8,63,1,46.81006,-92.08174,9/14/2014 0:00,SW
9. 1,9,4,1,46.81006,-92.08174,9/14/2014 0:00,NE
10. 1,10,31,1,46.81006,-92.08174,9/14/2014 0:00,N
执行如下 SQL 语句:
1. select recordId, patientId, direction from ambulance_data_csv_external where patientId > 25;
输出结果如下:
1. +------------+------------+-----------+
2. | recordId | patientId | direction |
3. +------------+------------+-----------+
4. | 1 | 51 | S |
5. | 3 | 48 | NE |
6. | 4 | 30 | W |
7. | 5 | 47 | S |
8. | 7 | 53 | N |
9. | 8 | 63 | SW |
10. | 10 | 31 | N |
11. +------------+------------+-----------+
关于更多详细的OSS外表使用方法,请参考官方文档,点这里。
场景二:阿里云产品消费账单分析
Step1:准备工作
完成案例1中准备工作1、3步骤。
Step2:通过费用中心同步账单数据到OSS
打开费用中心->消费记录->存储到OSS,输入oss bucket,此示例为oms-yl
,服务开通后,每天会将增量的实例消费明细数据生成文件同步存储到您的OSS指定的bucket中。
Step3:通过MaxCompute注册账单处理类
1、点击这里下载,odps-udf-example-0.30.0-SNAPSHOT-jar-with-dependencies.jar
2、将自定义代码编译打包,并上传到 MaxCompute。
add jar odps-udf-example-0.30.0-SNAPSHOT-jar-with-dependencies.jar
Step4:通过MaxCompute创建外部表
示例:创建5月4日的账单消费表
CREATE EXTERNAL TABLE IF NOT EXISTS oms_oss_0504(月份 string,资源拥有者 string,消费时间 string,消费类型 string,账单编号 string,商品 string,计费方式 string,服务开始时间 string,服务结束时间 string,服务时长 string,财务核算单元 string,资源id string,资源昵称 string,TAG string,地域 string,可用区 string,公网ip string,内网ip string,资源配置 string,原价 string,优惠金额 string,应付金额 string,计费项1 string,使用量1 string,资源包扣除1 string,原价1 string ,应付金额1 string,计费项2 string,使用量2 string,资源包扣除2 string,原价2 string,应付金额2 string,计费项3 string,使用量3 string,资源包扣除3 string,原价3 string,应付金额3 string,计费项4 string,使用量4 string,资源包扣除4 string,原价4 string,应付金额4 string,计费项5 string,使用量5 string,资源包扣除5 string,原价5 string,应付金额5 string,计费项6 string,使用量6 string,资源包扣除6 string,原价6 string,应付金额6 string,计费项7 string,使用量7 string,资源包扣除7 string,原价7 string,应付金额7 string,计费项8 string,使用量8 string,资源包扣除8 string,原价8 string,应付金额8 string,计费项9 string,使用量9 string,资源包扣除9 string,原价9 string,应付金额9 string)STORED BY 'com.aliyun.odps.udf.example.text.TextStorageHandler' --STORED BY 指定自定义 StorageHandler 的类名。with SERDEPROPERTIES ('odps.text.option.complex.text.enabled'='true','odps.text.option.strict.mode'='false'--遇到列数不一致的情况不会抛异常,如果实际列数少于schema列数,将所有列按顺序匹配,剩下的不足的列补NULL)LOCATION 'oss://oss-cn-beijing-internal.aliyuncs.com/oms-yl/2018-05-04/'USING 'text_oss.jar'; --同时需要指定账单中的文本处理类定义所在的 jar 包
Step5:通过MaxCompute查询外部表
查询示例:查询MaxCompute按量存储消费账单
select 月份,使用量3,原价3,应付金额3 from oms_oss
where 计费项3='Storage' and 商品=大数据计算服务MaxCompute(按量付费);
输出结果如下:
四、 总结
通过上述示例,将沉睡在OSS中的非结构化数据激活,通过MaxCompute把海量数据分析工作效率提升至分钟级,帮助客户更高效、更低成本的挖掘海量数据价值。现在请您赶快通过下述方式联系我们吧!
开通MaxCompute服务,点这里
申请MaxCompute试用代金券,点这里
购买咨询MaxCompute,请扫二维码加入钉钉群。
相关文章:

php自动加载
很多开发者写面向对象的应用程序时对每个类的定义建立一个 PHP 源文件。一个很大的烦恼是不得不在每个脚本(每个类一个文件)开头写一个长长的包含文件列表。 在 PHP 5 中,不再需要这样了。可以定义一个 __autoload 函数,它会在试…

22个案例详解 Pandas 数据分析/预处理时的实用技巧,超简单
作者 | 俊欣来源 | 关于数据分析与可视化今天小编打算来讲一讲数据分析方面的内容,整理和总结一下Pandas在数据预处理和数据分析方面的硬核干货,我们大致会说Pandas计算交叉列表Pandas将字符串与数值转化成时间类型Pandas将字符串转化成数值类型Pandas当…

《mysql性能调优与架构设计》笔记: 一mysql 架构组成
2019独角兽企业重金招聘Python工程师标准>>> 2.1mysql物理文件组成 2.1.1日志文件: 1,查看mysql配置文件:mysql --verbose --help | grep -A 1 Default options; 1,错误日志:--log-error[file_name] 指定错…

发现一个可以搜索常用rpm包的地址(http://www.rpmfind.net/)
http://www.rpmfind.net/ 虽然资源不多,但也够用。 >如有问题,请联系我:easonjim#163.com,或者下方发表评论。<

PHP版UTF-8文件BOM自动检测移除程序
BOM信息是文件开头的一串隐藏的字符,用于让某些编辑器识别这是个UTF-8编码的文件。但PHP在读取文件时会把这些字符读出,从而形成了文件 开头含有一些无法识别的字符的问题。比如用UTF-8格式保存的生成图片的PHP文件,因为文件头隐藏的BOM信息也…

java: web应用中不经意的内存泄露
前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑,今天无意发现如果使用不当,很容易引起内存泄露,测试代码如下: 1、定义一个类App package com.cnblogs.yjmyzz.web.controller;import java.util.Date;public class…

「游戏圈地震级消息」687亿美元,微软收购游戏巨头动视暴雪
整理 | 苏宓、禾木木 出品 | CSDN 2022年1月18日晚,一条热搜刷爆了朋友圈: 继 2018 年,微软以 75 亿美元收购全球知名的代码托管平台 GitHub 后,2022 年 1 月 18 日,微软将以 687 亿美元的价格收购著名游戏制作和发行公…

java实现用户登录注册功能(用集合框架来实现)
需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTest B:各个类中的东西 1.用户类UserBean: …

第3次翻译了 Pandas 官方文档,叒写了这一份R万字肝货操作!
作者 | 黄伟呢来源 | 数据分析与统计学之美今天,我继续为大家讲述Pandas如何实现R语言的相关操作。由于 Pandas 旨在提供人们使用 R 进行的大量数据操作和分析功能,因此本页开始提供更详细的 R 语言及其与 Pandas 相关的许多第三方库的介绍。与 R 和 CRA…

PHP autoload机制详解
PHP autoload机制详解 转载自 jeakcccPHP autoload机制详解(1) autoload机制概述在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这 也是OO设计…

有关博客的一些断想
作者:朱金灿来源:http://blog.csdn.net/clever101随着微博、微信等短平快社交媒体的兴起,文字相对严肃的博客毫无疑问受到很大的冲击。我在想博客会不会因此而消亡呢。我相信不会,因为喜欢轻快的文字固然是人类的天性,…

pythonl学习笔记——爬虫的基本常识
1 robots协议 Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。 如: …

hibernate相关收集
2019独角兽企业重金招聘Python工程师标准>>> 1、Hibernate SQL方言 如果出现如下错误,则可能是Hibernate SQL方言 (hibernate.dialect)设置不正确。 Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]last_ins…

盘一盘 2021 年程序员们喜欢的网站数据
作者 | 周萝卜来源 | 萝卜大杂烩世界上流量最大的网站有哪些,也许我们都能脱口而出,比如 Google,YouTube,Facebook 还有 PxxnHub 等等,今天我们就通过多个维度来看看,那些叱咤全球的流量网站!数…

烽火18台系列之十一:刚需中的刚需——网站篡改监控
网站篡改事件近些年来越演越烈,其中包括政府、教育、金融、事业企业单位等。根据国家互联网应急响应中心发布的《2015年中国互联网网络安全报告》中指出,“2015年CNCERT/CC工检测到境内被篡改的网站数量为24550个,其中境内政府网站篡改数量为…

Http与RPC通信协议的比较
OSI网络结构的七层模型 各层的具体描述如下:第七层:应用层 定义了用于在网络中进行通信和数据传输的接口 - 用户程式;提供标准服务,比如虚拟终端、文件以及任务的传输 和处理; 第六层:表示层 掩…

基于 Python 和 OpenCV 构建智能停车系统
作者 | 努比来源 | 小白学视觉当今时代最令人头疼的事情就是找不到停车位,尤其是找20分钟还没有找到停车位。根据复杂性和效率的不同,任何问题都具有一个或多个解决方案。目前智能停车系统的解决方案,主要包括基于深度学习实现,以…

js获取鼠标位置
1.PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化2.clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化. 可是悲剧的是,PageX只有FF…

Lua保留指定小数位数
默认会四舍五入 比如:%0.2f 会四舍五入后,保留小数点后2位print(string.format("%.1f",0.26)) ---会输出0.3,而不是0.2 Lua保留一位小数 --- nNum 源数字 --- n 小数位数 function Tool. GetPreciseDecimal(nNum, n)if type(nNum)…

htaccess文件用法收集整理
1.时区设置有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。 1.SetEnv TZ Australia/Melbourne …

手把手教你使用 YOLOV5 训练目标检测模型
作者 | 肆十二来源 | CSDN博客这次要使用YOLOV5来训练一个口罩检测模型,比较契合当下的疫情,并且目标检测涉及到的知识点也比较多。先来看看我们要实现的效果,我们将会通过数据来训练一个口罩检测的模型,并用pyqt5进行封装&#x…

数据仓库数据模型之:极限存储--历史拉链表
摘要: 在数据仓库的数据模型设计过程中,经常会遇到文内所提到的这样的需求。而历史拉链表,既能满足对历史数据的需求,又能很大程度的节省存储资源。在数据仓库的数据模型设计过程中,经常会遇到这样的需求:1. 数据量比较…

super的用法(带了解)
super的用法(带了解) super的用法(带了解)posted on 2018-05-11 21:31 leolaosao 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/leolaosao/p/9026686.html

Posted content type isn't multipart/form-data
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48712507 在有文件上传的表单提交过程中,搞不好就会报Posted content type isnt multipart/form-data的错误。 解决办法 <form class"form-…

CSDN 十大技术主题盘点-AI篇
关于2021,我们能看到的技术变化有很多。当云原生向下而生,当分布式数据库席卷而至,当低代码平台扩展了开发的边界,当万物互联蔚然成风……我们看到了太多在2021年形成的变化,但也能看到这些趋势非但没有结束࿰…

PHP编程问题集锦
1. Win32下apache2用get方法传递中文参数会出错 test.php?a你好&b你也好传递参数是会导致一个内部错误解决办法:"test.php?a".urlencode(你好)."&b".urlencode(你也好)2. win32下的session不能正常工作 php.ini默认的session.save_path /tmp 这…

jsonp详解
json相信大家都用的多,jsonp我就一直没有机会用到,但也经常看到,只知道是“用来跨域的”,一直不知道具体是个什么东西。今天总算搞明白了。下面一步步来搞清楚jsonp是个什么玩意。 同源策略 首先基于安全的原因,浏览器…

PHP面向对象精华
PHP面向对象精华1 使用extends实现继承以及重载、魔术方法的含义 class B extends A 声明的时候B里可以没有A里的方法 调用的时候$bnew B(); $b->A里的方法(); $b->A里的属性1; $b->B里的方法(); $b->B里的方法(); 如果$anew A(); 可以 $a->A里的方法(); $a->…
springmvc和mybatis整合关键配置
springmvcmybaits的系统架构: 第一步:整合dao层 mybatis和spring整合,通过spring管理mapper接口。 使用mapper的扫描器自动扫描mapper接口在spring中进行注册。 第二步:整合service层 通过spring管理 service接口。 使用配置方式将…

阿里亲制明信片,字节、百度直接发锅……这些公司的新年礼盒越来越会玩~
整理 | 王晓曼出品 | 程序人生(ID:coder _life)每到年末,各大互联网大厂的新年礼盒都会作为…