本文为您提供进入或查看项目空间,以及设置项目空间属性或IP白名单的操作说明。

进入项目空间

  • 命令格式
    use <project_name>;
  • 功能说明
    • 进入指定的项目空间。您需要具备项目空间的访问权限,进入项目空间后,可以直接操作该项目空间下的所有对象。
    • 项目空间不存在或您不属于该项目空间时,返回异常。
  • 示例
    • 进入指定项目空间。
      --进入项目空间my_project_test。my_project_test是用户有权限访问的一个Project。
      odps @ my_project>use my_project_test;
    • 访问指定项目空间下的对象。
      --查询my_project_test项目空间下的表test_src。
      odps @ my_project_test>SELECT * FROM test_src;
      MaxCompute自动在项目空间my_project_test中搜索表。如果表存在,返回表中的数据;如果表不存在,则返回异常。
    • 访问另一项目空间下的对象,需要指定项目空间名。
      --在my_project_test空间下访问另一项目空间my_project2下的表test_src。
      odps @ my_project_test>select * from my_project2.test_src;
      说明
      • 上述示例均在MaxCompute客户端(odpscmd)运行。MaxCompute命令中的关键字、项目空间名、表名和列名均对大小写不敏感。
      • 项目空间即MaxCompute项目。
      • MaxCompute没有提供创建和删除项目空间的命令。创建项目空间操作详情请参见创建项目空间

查询项目空间

  • 命令格式
    list projects;
    说明 MaxCompute客户端(odpscmd)0.30.2及以上版本支持该命令。
  • 功能说明

    用于阿里云账号查看其名下的项目空间列表,包含RAM用户创建的项目空间。

设置项目空间属性

  • 命令格式
    setproject <KEY>=<VALUE>;
  • 功能说明
    • 指定<KEY>=<VALUE>,设置项目空间的属性。例如,执行如下命令设置允许全表扫描。
      setproject odps.sql.allow.fullscan=true;
      说明 设置项目空间属性命令会存在0~5分钟的时延。命令执行成功后,请您等待5分钟后验证执行结果。
    • 不指定<KEY>=<VALUE>,显示当前项目空间的属性配置。
      --显示setproject设置的参数。
      setproject;
      项目空间的详细属性如下。
      属性名称 角色 描述 取值范围
      odps.sql.allow.fullscan Project Owner 设置项目空间是否允许全表扫描。
      • True:允许
      • False:禁止
      odps.table.drop.ignorenonexistent 所有用户 当删除不存在的表时,是否报错。
      • True:不报错
      • False:报错
      odps.table.lifecycle Project Owner
      • Optional:创建表时,Lifecycle子句为可选设置,如果不设置生命周期,则该表永久有效。
      • Mandatory:Lifecycle子句为必选设置,用户必须设置生命周期。
      • Inherit:创建表时,如果不设置生命周期,则该表的生命周期为odps.table.lifecycle.value的值。
      • Optional
      • Mandatory
      • Inherit
      odps.table.lifecycle.value Project Owner 设置表的生命周期。单位为:天。 1~37231(默认)
      odps.security.ip.whitelist Project Owner 指定经典网络场景下可以访问项目空间的IP白名单。 IP列表,以逗号(,)分隔。
      odps.security.vpc.whitelist Project Owner 指定VPC网络场景下可以访问项目空间的IP白名单。 Region_ID、VPC_ID和IP列表,以逗号(,)分隔。
      odps.instance.remain.days Project Owner 设置Instance信息保留天数。 3~30
      READ_TABLE_MAX_ROW Project Owner 设置SELECT语句返回的数据条数。 1~10000
      odps.sql.type.system.odps2 Project Owner 2.0新数据类型开关。
      • True:打开
      • False:关闭
      odps.sql.hive.compatible Project Owner Hive兼容模式开关。打开Hive兼容模式后,MaxCompute才支持Hive指定的各种语法,例如inputRecordReaderoutputRecordReaderSerde
      • True:打开
      • False:关闭
      说明 打开2.0新数据类型开关的主要影响如下:
      • MaxCompute会禁用某些隐式类型转换,包括STRING->BIGINT、STRING->DATETIME、DOUBLE->BIGNIT、DECIMAL->DOUBLE和DECIMAL->BIGINT,存在精度损失或报错风险。您可以通过CAST强制转换。
      • 常量类型会变化。单独一个整型常量,例如123,在旧数据类型下是BIGINT类型,在2.0新数据类型下是INT类型。
      • UDF解析结果可能会变化。例如,UDF包含BIGINT和INT两个重载,旧数据类型下为BIGINT的重载,而2.0新数据类型下可能为INT的重载。

设置IP白名单

MaxCompute支持设置经典网络或VPC网络场景下可以访问项目空间的IP白名单。odps.security.ip.whitelist为经典网络的IP白名单参数,odps.security.vpc.whitelist为VPC网络的IP白名单参数。

  • 命令格式
    • 只配置经典网络IP白名单,则经典网络访问受配置限制,VPC网络访问全部禁止。配置命令如下。
      setproject odps.security.ip.whitelist=IP Address odps.security.vpc.whitelist=\N;
      设置经典网络的IP白名单时,请在IP白名单中添加操作MaxCompute客户端所在的设备IP,以免将自己屏蔽。经典网络配置检查
    • 只配置VPC网络IP白名单,则VPC网络访问受配置限制,经典网络访问全部禁止。配置命令示例如下。
      setproject odps.security.ip.whitelist=\N odps.security.vpc.whitelist=RegionID_VPCID[IP Address];
    • 如果经典网络或VPC网络IP白名单均需要配置,则经典网络和VPC网络访问均受配置限制。配置命令示例如下。
      setproject odps.security.ip.whitelist=IP Address odps.security.vpc.whitelist=RegionID_VPCID[IP Address];
    • 修改经典网络或VPC网络IP白名单列表。配置命令示例如下。
      --修改经典网络IP白名单。
      setproject odps.security.ip.whitelist=IP Address;
      --修改VPC网络IP白名单。
      setproject odps.security.vpc.whitelist=RegionID_VPCID[IP Address];
    • 关闭IP白名单功能。
      setproject odps.security.ip.whitelist= odps.security.vpc.whitelist= ;
    • 功能说明
      • 设置IP白名单后,只有白名单列表中的IP(客户端或者SDK所在的出口IP)能够访问该项目空间。
      • 设置IP白名单后,您需要等待五分钟后才会生效。
      说明 如果您因误操作,导致将自己屏蔽,请提工单联系阿里云技术支持。
  • 参数说明
    • IP Address:IP地址。VPC网络场景下为VPC网络的内网地址。
      白名单中IP列表的表示形式有以下三种,您可以写在同一个命令中,以英文逗号(,)分隔:
      • IPv4或IPv6:例如192.168.0.02001:db8::
      • 带子网掩码的IP地址:例如172.12.0.0/162001:db8::/32
      • 网段:例如192.168.10.0-192.168.255.2552001:db8:1:1:1:1:1:1-2001:db8:4:4:4:4:4:4
    • ReigonID:VPC网络所在的区域ID。
      区域 区域ID
      华北3(张家口) cn-zhangjiakou
      华北2(北京) cn-beijing
      华南1(深圳) cn-shenzhen
      西南1(成都) cn-chengdu
      华东2(上海) cn-shanghai
      华东1(杭州) cn-hangzhou
      上海中心 cn
      中国(香港) cn-hongkong
      新加坡(新加坡) ap-southeast-1
      澳大利亚(悉尼) ap-southeast-2
      马来西亚(吉隆坡) ap-southeast-3
      印度尼西亚(雅加达) ap-southeast-5
      日本(东京) ap-northeast-1
      德国(法兰克福) eu-central-1
      美国(硅谷) us-west-1
      美国(弗吉尼亚) us-east-1
      印度(孟买) ap-south-1
      阿联酋(迪拜) me-east-1
      英国(伦敦) eu-west-1
    • VPCID:VPC网络ID号。
      • 如果您是首次设置VPC网络的IP白名单,请运行MaxCompue客户端,执行如下命令获取VPC ID。
        whoami;

        返回结果如下。

        VPC_ID 结果
        说明 客户端(odpscmd)0.31.2及以上版本支持该命令。
      • 如果需要在已有的白名单中新增VPC IP,您可以通过新VPC IP访问MaxCompute时返回的错误信息获取区域ID。由于新的IP未被授权,访问时会报错。报错信息
  • 示例

    详情请参见设置IP白名单