摘要: 使用 odps console 的同学,可能都使用过 odps 安全相关的命令。
转自zhenhong
使用 MaxCompute console 的同学,可能都使用过 odps 安全相关的命令。官方文档上有详细的 odps 安全指南,并给出了安全相关命令列表。
简而言之,权限管理、项目空间安全配置以及用户及授权管理都属于 odps 安全命令相关的范畴。
再直白一点,以下列关键字开头的命令,都是 odps 安全相关操作命令:
GRANT/REVOKE ...
SHOW GRANTS/ACL/PACKAGE/LABEL/ROLE/PRINCIPALS
SHOW PRIV/PRIVILEGES
LIST/ADD/REOVE USERS/ROLES/TRUSTEDPROJECTS
DROP/CREATE ROLE
CLEAR EXPIRED GRANTS
DESC/DESCRIBE ROLE/PACKAGE
CREATE/DELETE/DROP PACKAGE
ADD ... TO PACKAGE
REMOVE ... FROM PACKAGE
ALLOW/DISALLOW PROJECT
INSTALL/UNINSTALL PACKAGE
LIST/ADD/REMOVE ACCOUNTPROVIDERS
SET LABLE ...
那么,这些能在 odps console 上运行的命令,该如何使用 odps sdk 运行呢?它们是与 sql 一样通过创建 instance 的方式来运行吗?
不可以,这些命令不是 sql , 不可以通过 sql task 来运行。
需要使用接口 SecurityManager.runQuery() 来运行。详细 javadoc 戳这里
SecurityManager 类在 odps-sdk-core 中,因此在使用时请添加依赖:
<dependency>
<groupId>com.aliyun.odps</groupId>
<artifactId>odps-sdk-core</artifactId>
<version>0.23.3-public</version>
</dependency>
下面通过一个例子来演示如何通过 odps java sdk 来设置表 test_label 列的访问级别为 2,也就是运行命令SET LABEL 2 TO TABLE test_label(key, value);。
import com.aliyun.odps.Column;
import com.aliyun.odps.Odps;
import com.aliyun.odps.OdpsException;
import com.aliyun.odps.OdpsType;
import com.aliyun.odps.TableSchema;
import com.aliyun.odps.account.Account;
import com.aliyun.odps.account.AliyunAccount;
import com.aliyun.odps.security.SecurityManager;
public class test {
public static void main(String [] args) throws OdpsException {
try {
// init odps
Account account =
new AliyunAccount("<your_accessid>", "<your_accesskey>");
Odps odps = new Odps(account);
odps.setEndpoint("http://service-corp.odps.aliyun-inc.com/api");
odps.setDefaultProject("<your_project>");
// create test table
// if u already have a table, skip this
TableSchema schema = new TableSchema();
schema.addColumn(new Column("key", OdpsType.STRING));
schema.addColumn(new Column("value", OdpsType.BIGINT));
odps.tables().create("test_label", schema);
// set label 2 to table columns
SecurityManager securityManager = odps.projects().get().getSecurityManager();
String res = securityManager.runQuery("SET LABEL 2 TO TABLE test_label(key, value);", false);
System.out.println(res);
} catch (OdpsException e) {
e.printStackTrace();
}
}
}
运行结果:
程序运行完成后,在 odps console 中运行 `desc test_lable;` 命令,可以看到 set label 已经生效了。
其他安全相关的命令,都可以这样子通过 odps sdk 来运行呢,快来试试吧!
原文链接:https://yq.aliyun.com/articles/62331?spm=a2c41.11181499.0.0
分享到:
相关推荐
Java连接ODPS(MaxCompute)是一项关键的技能,特别是在大数据处理和分析的场景下。ODPS,即阿里云的大数据处理服务MaxCompute,是企业级的海量数据处理平台,提供了SQL、API等多种方式进行数据操作。Java SDK是ODPS...
面向Java开发人员的ODPS SDK 要求 Java 8+ 建造 git clone ... cd aliyun-odps-java-sdk mvn clean package -DskipTests 运行单元测试 您将必须在源代码树中配置test.conf文件: odps-sdk-impl/odps-common-local/...
阿里云java sdk源码MaxCompute Go 驱动程序 ODPS,又称ODPS,是由.net提供的分布式存储服务和SQL...您可以通过运行以下命令来克隆源代码。 go get - u sqlflow . org / gomaxcompute 这是一个简单的例子: package main
8. **开发工具与SDK**:ODPS提供了多种开发工具,如ODPS Studio、ODPS CLI等,以及Java、Python、SDK,方便开发者进行数据处理和应用开发。 9. **实时计算**:虽然ODPS主要面向离线批处理,但通过MaxCompute(ODPS...
MaxCompute是阿里巴巴推出的一种大规模数据处理服务,原名为ODPS,专为TB至PB级别的海量数据仓库解决方案设计。它提供了一种快速、完全托管的服务,旨在简化大数据分析和计算过程,降低企业的运营成本,并确保数据的...
使用Maven的用户可以从Maven库中搜索"odps-sdk-core"获取不同版本的Java SDK。 Tunnel SDK提供了多种接口,用户可以根据需要选择合适的接口上传下载数据。主要接口包括TableTunnel、UploadSession和DownloadSession...
- 除了Java SDK,可能还包括其他编程语言的SDK,以及如DataWorks、ODPS Console等配套工具的使用指南。 10. **文档更新**: - 用户应定期检查最新的文档版本,以获取最新的功能和改进。 这个开发指南是开发人员...
在使用Tunnel SDK时,开发者需要通过Maven库获取对应的依赖,如`<dependency>`标签所示,引入`odps-sdk-core`的特定版本。这个版本号可能会随着MaxCompute服务的更新而变化,因此建议始终参考最新的SDK Java Doc以...
Shard是数据传输的通道,用户需先通过SDK或客户端工具加载Shard,例如使用Java SDK或ODPS控制台命令。加载Shard后,用户便可以进行数据的上传和下载操作。 数据上传与下载的过程中,用户可以借助SDK来监控数据同步...
MaxCompute,原名为ODPS,是阿里云提供的一种高效、完全托管的大数据处理服务。它专为处理TB至PB级别的海量结构化数据而设计,为企业提供大规模数据仓库解决方案和大数据分析建模服务。随着大数据时代的到来,各行...
例如,使用Java SDK加载Shard,需要ODPS项目、表名和DatahubEndpoint信息来创建DatahubClient对象,然后调用loadShard方法。在ODPS控制台,可以使用类似`hub load 3 shards on test_project.test_table ...
MaxCompute提供了丰富的SDK和API,允许开发者使用Java、Python、Go等语言进行二次开发。同时,MaxCompute积极与开源社区互动,贡献代码并参与开源项目,推动大数据技术的共同进步。 总结,MaxCompute通过与开源系统...
- **易用性**:提供了SQL兼容的查询语言,使得数据分析人员可以快速上手,同时支持Python、Java等多种开发语言的SDK。 **3. 功能特性** - **SQL支持**:MaxCompute支持标准SQL语法,简化了数据查询和分析的复杂度...
1. **SDK介绍**:详细介绍了不同编程语言(如Java、Python、SDK for SQL等)的SDK使用方法,帮助开发者集成MaxCompute到自己的应用中。 2. **API与工具**:涵盖了MaxCompute的RESTful API和命令行工具(如ODPS CLI...
- **SDK支持**:提供了Java、Python、.NET等多种语言的SDK,便于集成到企业现有的开发流程中。 - **API接口**:通过RESTful API,开发者可以实现自动化管理和任务调度。 3. **数据操作**: - **数据导入导出**:...
例如,为了开发MaxCompute的UDF,我们需要引入`odps-sdk-udf`库,如上述代码所示。 2. **自定义UDF** UDF是一类单一输入、单一输出的函数,可以处理单行数据。在MaxCompute中,首先编写Java代码实现UDF功能,然后...
本项目支持在Spark运行环境中与阿里云的基础服务OSS、ODPS、LogService、ONS等进行交互。 构建和安装 git clone https://github.com/aliyun/aliyun-emapreduce-datasources.git cd aliyun-emapreduce-data...
阿里云日志服务是针对大规模日志数据处理和分析的一款高效、稳定且易用的云服务。...无论是从数据安全、功能扩展还是用户体验角度,这些变化都反映了阿里云致力于为用户提供更高效、安全且易于使用的日志服务。
结合Java技术,开发者可以利用阿里云提供的SDK和API,轻松实现与这些服务的集成,打造企业级的大数据应用。这些服务不仅提升了数据处理的效率,也降低了企业的运维成本,助力企业在数据驱动的时代中赢得竞争优势。