MaxCompute尝试使用的总结

一时兴起,试了下MaxCompute,记录一下。

MaxCompute介绍

官网是这么说的,MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量数据。
反正就是海量数据存储实现,支持的有mysql、mapreduce、graph。
然后java API很完善,python的api刚出来。
具体使用上,java可以API操作,阿里云的后台dataworks可以操作,idea的Maxcompute studio也可以操作。

开通Maxcompute

这个需要到官网开通,具体可以按照官网帮助说明,然后到网站的maxcompute产品页面去买就好
我买的按量付费,充了20块钱,反正就是学习,估计能用很长时间了。
然后我创建的项目,需要access key,我直接创建了,这个要好好保存,很多地方都要用,然后项目创建好,可以在dataworks看到像下面这样。

项目创建好,就等于不再需要官网了。

记住四个信息

一个是项目的project名字,这个是创建项目的时候的名字
还有就是项目的access那两个东西,这个相当于账户嘛,肯定要保管好
最后一个就是项目的Endpoint,这个就是相当于阿里云提供的服务接口,可以从这个页面确定

idea的maxcompute studio安装

官网说的很详细,就是idea的插件下载那一套,名字搜索maxcompute就好,注意选个网好的地方下。
这个插件如何连接到阿里云上的项目,官网也有

开发使用

表的相关操作

可以直接可视化创建,这个没什么可说的。
脚本创建,可以像下面这样:

DROP TABLE IF EXISTS `danmaku`;
CREATE TABLE `danmaku`(
  id      BIGINT,
  uid     BIGINT,
  snick   STRING,
  content STRING,
  DATE    DATETIME,
  rid     BIGINT
);

具体字段可以去官网看:
https://help.aliyun.com/document_detail/27821.html

UDF、MR、Graph相关

UDF用户自定义函数

新建一个UDF类,然后写点代码。

右键单击UDF的Java文件,选择 Deploy to server,弹框里选择注册到那个MaxCompute project,输入 function name,Resource name也可以修改。

MapReduce和Graph

Mapreduce没运行,Graph运行确立了。
其实我觉得这两个都是hadoop的相关,mapreduce就是利用map和reduce的操作,Graph是针对有向图那种东西和节点的操作。
运行这两个首先要下好MaxCompute的客户端,这个跟idea的Maxcompute Studio不是一回事。
下好,按照官方教程提交到资源里生成以后,按照官网上的命令(在客户端里运行确实运行成功了),可以参照作业提交的页面,-libjars换成-resources也没问题。

jar -libjars hello-1.0-SNAPSHOT.jar -classpath /Users/unclewang/Idea_Projects/maxcompute/hello/target/hello-1.0-SNAPSHOT.jar graph.SSSP 1 sssp_in sssp_out;


提交资源在运行,sssp_out表结果就出来了。

因为是一时兴起,差不多基本弄通了一遍基本上就够了,具体以后复杂的感觉是有缘再见了。

发表评论

电子邮件地址不会被公开。