大数据计算服务( MaxCompute,原ODPS )由阿里云自主研发,提供针对TB/PB级数据、实时性要求不高的分布式处理能力,应用于数据分析、挖掘、商业智能等领域。阿里巴巴的数据业务都运行在MaxCompute上。
分布式集群架构,跨集群技术突破,集群规模可扩展
自动存储容错,安全沙箱机制,冗余存储机制
标准接口服务,数据上传下载,支持SQL语句
多用户的管理协同,多种方式权限管理,灵活访问控制策略
MaxCompute 基本计算单元, SQL及MR都是通过任务完成的
任务的一个具体实例,表示实际运行的task
按照安全策略限制程序行为的执行环境不允许直接访问本地文件
■不允许直接访问分布式文件系统
■不允许JNI调用机制
■Java反射限制
■不允许起子进程执行.inux命令
■不允许获取本地IP地址等
在阿里云官网下载 odps-for-eclipse 组件(eclipse插件),解压,进入plugins文件夹,复制 odps-eclipse-plugin-bundle_0.15.0.jar 包到 eclipse 文件夹下的plugins文件夹里,然后打开eclipse,显示如下图所示的效果则说明配置成功
tunnel upload [options] <path> <[project.]table[/partition]>
tunnel download [options] <[project.]table[/partition]> <path>
CREATE [OR REPLACE] VIEW [IF NOT EXISTS] view_name
[(col_name[COMMENT col_comment],...)]
[COMMENT view_comment]
[AS select_statement]
DROP VIEW [IF NOT EXISTS] view_name;
生命周期( LifeCycle ) : MaxCompute表中的数据,从最后一次更新时间算起,在经过指定的时间后没有变动,则此表将被MaxCompute自动回收(删除)。此指定时间就是该MaxCompute表的生命周期。(单位:天)
如果目标表有多级分区,在运行insert语句时允许指定部分分区为静态,但是静态分区必须是高级分区(分区字段靠前的分区),动态生成的分区值不可以为null
CASE <value>
WHEN <condition_1> then <result_1>
WHEN <condition_2> then <result_2>
...
else <result_n>
END
CASE
WHEN <condition_1> then <result_1>
WHEN <condition_2> then <result_2>
...
else <result_n>
END
MapReduce是由Google最早提出的分布式数据处理模型, MR是一种简单 易用编程框架,基于该框架的程序可以运行在多个机器的集群上,并以-种安全可靠的方式处理TB、PB级别的海量数据。
Map阶段和Reduce阶段。通常会把输入的数据集切分为若干独立的数据块,由map任务以完全并行的方式处理它们。框架会对map的输出先进行排序,然后把结果输入给reduce任务。
MR框架运转在<key, value>键值对上,也就是说,框架把作业的输入看为是一组<key, value>键值对,同样也产出一组<key, value>键值对做为作业的输出, 这两组键值对的类型可能不同。
■最短路径:好友推荐、转账检测、计算关系紧密程度
■最小连通图:洗钱、虚假交易等
■关键人物识别:寻找意见领袖,防止客户流失的群体效应
■PageRank :传播影响力分析
授权操作一般涉及到三个要素:主体(Subject ,可以是用户或者角色),客体(Object)和操作(Action)。在MaxCompute中,主体是指用户或角色,客体是指项目空间中的各种类型对象, 操作则与特定对象类型有关,不同类型的对象支持的操作也不尽相同。
■主题主要包括用户、角色等
■客体包括项目空间Project、 表Table、 函数Function等
■操作和授权的对象相关 ,以表为例,支持: Describe、Select、 Update、 Drop、 All等
■主要的动作包括授予( grant)、收回( revoke)、查看( show grants )等:
?grant actions on object to subject
?revoke actions on object from subject
?show grants for subject
决定对另一个用户授权时,需要先将该用户添加到自己的项目空间中来。添加用户的语法如下:
add user <username>;
当一个用户离开此项目团队时,需要将该用户从项目空间中移除。用户一旦从项目空间中被移除,该用户将不再拥有任何访问项目空间资源的权限。移除用户的命令如下:
remove user <username> ;
?当一个用户被移除后,该用户不再拥有访问该项目空间资源的任何权限。
?移除一个用户之前,如果该用户已被赋予某些角色,则需要先撤销该用户的所有角色。
?当一个用户被移除后,与该用户有关的ACL授权仍然会被保留。一旦该用户以后被再添加到该项目空间时,该用户的历史的ACL授权访问权限将被重新激活。
?MaxCompute目前不支持在项目空间中彻底移除个用户及其所有权限数据
角色( Role )是一组访问权限的集合,当需要对一组用户赋予相同的权限时,可以使用角色授权,可以大大简化授权流程,降低授权管理成本。
create role <rolename>
drop role <rolename> ;
grant <rolename> to <username> ;
revoke < rolename> from <username> ;
■创建项目空间时会自动创建一 个admin角色,被授予固定权限,不能被修改
■删除一个角色时,只有在该角色的所有用户都被撤销后才会成功
■大数据开发套件中成员角色类型对应 了不同的MaxCompute角色
MaxCompute是一个支持多租户的数据处理平台,不同的租户对数据安全需求不尽相同。为了满足不同租户对数据安全的灵活需求, MaxCompute支持项目空间级别的安全配置, ProjectOwner可以定制适合自己的外部账号支持和鉴权模型。
show SecurityConfiguration ;
ProjectProtection :项目空间的数据保护,是否允许数据流出项目空间。缺省值为关闭( false )。一旦当项目空间开启项目空间的数据保护机制后,无法将项目空间中的数据转移到项目空间之外,所有的数据只能在项目空间内部流动。
set ProjectProtection=true ;
TrustedProject :可信项目空间。项目空间( prj1 )保护选项打歼后,数据无法流出,若有一个项目空间( prj2 ) ,按照业务需求项目空间prj2可以从项目空间prj1中正常获取数据,则可以在项目空间prj1中把项目空间prj2设置为可信项目空间,设置成功后,prj1中的数据可以正常流转至项目空间prj2。不过是单向的
add trustedproject prj2;
原文:https://www.cnblogs.com/nnadd/p/12981685.html