`
猫耳呀
  • 浏览: 165749 次
社区版块
存档分类
最新评论

使用 MaxCompute(原ODPS) java sdk 运行安全相关命令

阅读更多
摘要: 使用 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文档和代码

    Java连接ODPS(MaxCompute)是一项关键的技能,特别是在大数据处理和分析的场景下。ODPS,即阿里云的大数据处理服务MaxCompute,是企业级的海量数据处理平台,提供了SQL、API等多种方式进行数据操作。Java SDK是ODPS...

    aliyun-odps-java-sdk:面向Java开发人员的ODPS SDK

    面向Java开发人员的ODPS SDK 要求 Java 8+ 建造 git clone ... cd aliyun-odps-java-sdk mvn clean package -DskipTests 运行单元测试 您将必须在源代码树中配置test.conf文件: odps-sdk-impl/odps-common-local/...

    阿里云javasdk源码-gomaxcompute:MaxCompute的Go驱动

    阿里云java sdk源码MaxCompute Go 驱动程序 ODPS,又称ODPS,是由.net提供的分布式存储服务和SQL...您可以通过运行以下命令来克隆源代码。 go get - u sqlflow . org / gomaxcompute 这是一个简单的例子: package main

    odps权威指南最新版

    8. **开发工具与SDK**:ODPS提供了多种开发工具,如ODPS Studio、ODPS CLI等,以及Java、Python、SDK,方便开发者进行数据处理和应用开发。 9. **实时计算**:虽然ODPS主要面向离线批处理,但通过MaxCompute(ODPS...

    阿里大数据计算服务MaxCompute-产品简介.pdf

    MaxCompute是阿里巴巴推出的一种大规模数据处理服务,原名为ODPS,专为TB至PB级别的海量数据仓库解决方案设计。它提供了一种快速、完全托管的服务,旨在简化大数据分析和计算过程,降低企业的运营成本,并确保数据的...

    阿里大数据计算服务MaxCompute-批量数据通道.pdf

    使用Maven的用户可以从Maven库中搜索"odps-sdk-core"获取不同版本的Java SDK。 Tunnel SDK提供了多种接口,用户可以根据需要选择合适的接口上传下载数据。主要接口包括TableTunnel、UploadSession和DownloadSession...

    阿里云 专有云企业版 V3.9.0 大数据计算服务(MaxCompute) 开发指南 20191017.pdf

    - 除了Java SDK,可能还包括其他编程语言的SDK,以及如DataWorks、ODPS Console等配套工具的使用指南。 10. **文档更新**: - 用户应定期检查最新的文档版本,以获取最新的功能和改进。 这个开发指南是开发人员...

    阿里大数据计算服务MaxCompute-批量数据通道D.docx

    在使用Tunnel SDK时,开发者需要通过Maven库获取对应的依赖,如`&lt;dependency&gt;`标签所示,引入`odps-sdk-core`的特定版本。这个版本号可能会随着MaxCompute服务的更新而变化,因此建议始终参考最新的SDK Java Doc以...

    阿里大数据计算服务MaxCompute-DataHub服务.pdf

    Shard是数据传输的通道,用户需先通过SDK或客户端工具加载Shard,例如使用Java SDK或ODPS控制台命令。加载Shard后,用户便可以进行数据的上传和下载操作。 数据上传与下载的过程中,用户可以借助SDK来监控数据同步...

    阿里大数据计算服务MaxCompute-产品简介D.docx

    MaxCompute,原名为ODPS,是阿里云提供的一种高效、完全托管的大数据处理服务。它专为处理TB至PB级别的海量结构化数据而设计,为企业提供大规模数据仓库解决方案和大数据分析建模服务。随着大数据时代的到来,各行...

    阿里大数据计算服务MaxCompute-DataHub服务D.docx

    例如,使用Java SDK加载Shard,需要ODPS项目、表名和DatahubEndpoint信息来创建DatahubClient对象,然后调用loadShard方法。在ODPS控制台,可以使用类似`hub load 3 shards on test_project.test_table ...

    MaxCompute 对开源系统的支持与融合.zip

    MaxCompute提供了丰富的SDK和API,允许开发者使用Java、Python、Go等语言进行二次开发。同时,MaxCompute积极与开源社区互动,贡献代码并参与开源项目,推动大数据技术的共同进步。 总结,MaxCompute通过与开源系统...

    阿里云 专有云企业版 V3.7.0 MaxCompute 产品简介 20181203.pdf

    - **易用性**:提供了SQL兼容的查询语言,使得数据分析人员可以快速上手,同时支持Python、Java等多种开发语言的SDK。 **3. 功能特性** - **SQL支持**:MaxCompute支持标准SQL语法,简化了数据查询和分析的复杂度...

    阿里云 专有云Enterprise版 V3.5.0 MaxCompute 开发指南 - 20180710.pdf

    1. **SDK介绍**:详细介绍了不同编程语言(如Java、Python、SDK for SQL等)的SDK使用方法,帮助开发者集成MaxCompute到自己的应用中。 2. **API与工具**:涵盖了MaxCompute的RESTful API和命令行工具(如ODPS CLI...

    阿里云 专有云企业版 V3.6.1 MaxCompute 开发指南 - 20181105.pdf

    - **SDK支持**:提供了Java、Python、.NET等多种语言的SDK,便于集成到企业现有的开发流程中。 - **API接口**:通过RESTful API,开发者可以实现自动化管理和任务调度。 3. **数据操作**: - **数据导入导出**:...

    1-自定义函数.docx

    例如,为了开发MaxCompute的UDF,我们需要引入`odps-sdk-udf`库,如上述代码所示。 2. **自定义UDF** UDF是一类单一输入、单一输出的函数,可以处理单行数据。在MaxCompute中,首先编写Java代码实现UDF功能,然后...

    扩展了对阿里云 E-MapReduce 上 Spark/Hadoop 数据源的支持

    本项目支持在Spark运行环境中与阿里云的基础服务OSS、ODPS、LogService、ONS等进行交互。 构建和安装 git clone https://github.com/aliyun/aliyun-emapreduce-datasources.git cd aliyun-emapreduce-data...

    阿里云-日志服务发布说明.pdf

    阿里云日志服务是针对大规模日志数据处理和分析的一款高效、稳定且易用的云服务。...无论是从数据安全、功能扩展还是用户体验角度,这些变化都反映了阿里云致力于为用户提供更高效、安全且易于使用的日志服务。

    阿里云大数据产品及解决方案

    结合Java技术,开发者可以利用阿里云提供的SDK和API,轻松实现与这些服务的集成,打造企业级的大数据应用。这些服务不仅提升了数据处理的效率,也降低了企业的运维成本,助力企业在数据驱动的时代中赢得竞争优势。

Global site tag (gtag.js) - Google Analytics