全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
MaxCompute

其他操作

更新时间:2017-11-07 15:46:10

ALIAS 命令

ALIAS 功能主要为了满足在不修改代码的前提下,在 MapReduce自定义函数(UDF) 代码中,通过某个固定的资源名读取不同资源(数据)的需求。

命令格式如下:

  1. ALIAS <alias>=<real>;

行为说明如下:

为资源创建别名。

示例如下:

  1. ADD TABLE src_part PARTITION (ds='20121208') AS res_20121208;
  2. ADD TABLE src_part PARTITION (ds='20121209') AS res_20121209;
  3. ALIAS resName=res_20121208;
  4. jar -resources resName -libjars work.jar -classpath ./work.jar com.company.MainClass args ...; // 作业一
  5. ALIAS resName=res_20121209;
  6. jar -resources resName -libjars work.jar -classpath ./work.jar com.company.MainClass args ...; // 作业二

上面的资源别名 resName 在两个作业里引用到不同的资源表,代码可以不做修改也能读取到不同的数据。

Set

命令格式如下:

  1. set ["<KEY>=<VALUE>"]

行为说明如下:

您可以使用 set 命令设置 MaxCompute 或用户自定义的系统变量影响 MaxCompute 的行为。

目前,MaxCompute 支持的系统变量,如下所示:

  1. --MaxCompute SQL及新版本Mapreduce支持的Set命令
  2. set odps.stage.mapper.mem= --设置每个map worker的内存大小,单位是M,默认值1024M
  3. set odps.stage.reducer.mem= --设置每个reduce worker的内存大小,单位是M,默认值1024M
  4. set odps.stage.joiner.mem= --设置每个join worker的内存大小,单位是M,默认值1024M
  5. set odps.stage.mem =
  6. --设置MaxCompute 指定任务下所有worker的内存大小。优先级低于以上三个set key,单位M,无默认值
  7. set odps.stage.mapper.split.size=
  8. -- 修改每个map worker的输入数据量,即输入文件的分片大小,
  9. -- 从而间接控制每个map阶段下worker的数量,单位M,默认值256M
  10. set odps.stage.reducer.num= --修改每个reduce阶段worker数量,无默认值。
  11. set odps.stage.joiner.num= --修改每个join阶段worker数量,无默认值。
  12. set odps.stage.num= --修改MaxCompute 指定任务的所有阶段的worker的并发度,优先级低于以上三者,无默认值。

Show Flags

命令格式如下:

  1. show flags; --显示Set设置的参数

行为说明如下:

运行 Use Project 命令会清除掉 Set 命令设置的配置。

SetProject

命令格式如下:

  1. setproject ["<KEY>=<VALUE>"];

行为说明如下:

  • 您可以使用 setproject 命令设置 Project 属性。

  • 当不指定 < KEY >=< VALUE > 时,显示当前 Project 的属性配置。

Project 属性的详细说明如下:

属性名称 设置权限 属性描述 取值范围
odps.table.drop.ignorenonexistent 所有用户 当删除不存在的表时,是否报错。true时不报错 true(不报错)/false
odps.security.ip.whitelist ProjectOwner 指定访问Project的IP白名单 ip列表,逗号分隔
odps.table.lifecycle ProjectOwner optional:创建表时,lifecycle子句为可选,如果用户不设置 生命周期,则此表永久有效;mandatory:lifecycle子句为必 选;inherit:如果用户不指定生命周期,该表的生命周期为 odps.table.lifecycle.value的值; optional /mandatory/inherit
odps.table.lifecycle.value ProjectOwner 默认的生命周期值 1 ~ 37231(默认)
odps.instance.remain.days ProjectOwner Instance信息保留时间 3 ~ 30
odps.function.strictmode ProjectOwner 内置函数遇到脏数据时,返回NULL(false),或者抛异常(true) true/false
READ_TABLE_MAX_ROW ProjectOwner Select语句返回给客户端的数据条数 1~10000

odps.security.ip.whitelist示例

MaxCompute支持Project级别的Ip白名单。

设置ip白名单之后,只有白名单列表中的ip(console或者sdk所在的出口ip)能够访问这个Project。

白名单中Ip列表的表示格式有三种:

  • 单纯ip例如“101.132.236.134”;
  • 子网掩码“100.116.0.0/16”;
  • 网段“101.132.236.134-101.132.236.144”。

这三种格式可以写在同一个命令中,用逗号分割。

例如命令行工具设置ip白名单的方法:

  1. setproject odps.security.ip.whitelist=101.132.236.134,100.116.0.0/16,101.132.236.134-101.132.236.144;

ip白名单清空后MaxCompute就认为Project关闭了白名单功能:

  1. setproject odps.security.ip.whitelist=;

计量预估(Cost SQL 命令)

命令格式如下:

  1. cost sql <SQL Sentence>;

行为说明如下

预估出一条 SQL 的计量信息,包含输入数据的大小,UDF 个数以及 SQL 复杂等级。

注意:

该信息不能够作为实际计费标准,仅具有参考意义。

示例如下:

  1. odps@ $odps_project >cost sql select distinct project_name, user_name from meta.m_security_users distribute by project_name sort by project_name;
  2. ID = 20150715113033121gmsbjxl1
  3. Input:65727592 Bytes
  4. UDF:0
  5. Complexity:1.0
本文导读目录