使用云命令行(odpscmd)连接

更新时间:
复制 MD 格式

MaxCompute基于阿里云云命令行,为您提供云上客户端环境,您无需手动安装即可通过云命令行工具使用客户端(odpscmd)。本文为您介绍MaxCompute的云命令行(odpscmd)的使用注意事项和简单示例。

前提条件

若通过RAM用户登录MaxCompute的云命令行(odpscmd),请确认RAM用户已具备AliyunCloudShellFullAccess权限。具体授权操作,请参见访问控制RAM

使用限制

说明

云命令行(Cloud Shell)是阿里云提供的网页版命令行工具,MaxCompute基于阿里云云命令行,提供了云上客户端环境,您无需手动安装即可通过云命令行工具使用客户端(odpscmd)。关于云命令行的详情请参见什么是云命令行?

  • 云命令行限制

    限制项

    限制说明

    虚拟机数量

    无论打开多少会话窗口,云命令行在同一时刻只会创建一台虚拟机。所有会话窗口都会自动连接到此虚拟机上。

    会话窗口

    最多可以打开5个会话窗口。

    无操作销毁

    无交互式操作30分钟或者关闭所有会话窗口将视为终止操作,在终止操作后15分钟云命令行将销毁此台虚拟机。再次启动云命令行时,会为您创建一台全新的虚拟机。

    到期销毁

    云命令行创建的虚拟机只有1小时使用期限,到期后云命令行将会立即销毁此台虚拟机。再次启动云命令行时,会为您创建一台全新的虚拟机。

    文件存储

    云命令行为您挂载 10 GB的临时存储空间,您可以将您的文件存放在/home/shell目录,但会随着虚拟机的销毁而被重置。您可以选择挂载存储空间来实现存储,每次云命令行启动时会为您自动加载。

    禁止使用

    长时间使用以及计算或网络密集型等恶意进程将不受支持,并可能会导致会话在没有任何警告的情况下被终止甚至被禁用。

  • 地域限制

    目前仅华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、西南1(成都)、华南1(深圳)地域支持使用云命令行连接MaxCompute。

注意事项

在任意区域启动MaxCompute的云命令行(odpscmd),云命令行的服务和临时存储服务默认都部署在上海区域,若您的项目在其他区域,使用此功能会存在数据安全风险,请谨慎使用。

进入云命令行(odpscmd)环境

  1. 登录MaxCompute控制台,在左上角选择地域。

  2. 工作区 > 项目管理页面单击右上角的命令行

  3. 项目选择对话框中选择要管理的项目,单击确定

    说明

    如果界面弹出挂载NAS相关提示,您可以根据需要进行挂载。具体操作,请参见(可选)挂载NAS

    云命令行(odpscmd)加载完成后,示例输出如下。

    inflating: odpscmd_pub/plugins/cupid/lib/jackson-core-2.9.5.jar
    inflating: odpscmd_pub/plugins/cupid/lib/odps-console-cupid-public-0.43.1-public.jar
    inflating: odpscmd_pub/plugins/cupid/plugin.ini
    inflating: odpscmd_pub/plugins/volume2/lib/odps-console-volume2-0.43.1-public.jar
    inflating: odpscmd_pub/plugins/volume2/lib/odps-sdk-volumefs-0.43.1-public.jar
    inflating: odpscmd_pub/plugins/volume2/lib/hadoop-shaded-protobuf_3_7-1.1.1.jar
    inflating: odpscmd_pub/plugins/volume2/lib/hadoop-annotations-3.3.3.jar
    inflating: odpscmd_pub/plugins/volume2/lib/hadoop-auth-3.3.3.jar
    inflating: odpscmd_pub/plugins/volume2/lib/hadoop-common-3.3.3.jar
    /home/shell
    Aliyun ODPS Command Line Tool
    Version 0.43.1-public
    @Copyright 2020 Alibaba Cloud Computing Co., Ltd. All rights reserved.
    Connecting to http://service.odps.aliyun.com/api, project: xxx
    Endpoint: http://service.odps.aliyun.com/api
    Project: xxx
    Schema: default
    Quota: default in region N/A
    Timezone: Asia/Shanghai
    Connected!
    xxx (default)>

(可选)挂载NAS

云命令行为您挂载10 GB的临时存储空间,但会随着虚拟机的销毁而被重置,您可以选择挂载存储空间来实现存储,每次云命令行启动时,为您自动加载。挂载NAS的操作如下。

MaxCompute Cloud CMD窗口,单击image.png选择挂载存储空间,绑定NAS存储空间。

说明

挂载NAS会产生对应的NAS存储费用,使用完成后,可及时解绑存储空间。关于NAS存储费用详情,请参见计费概述

使用云命令行(odpscmd)

MaxCompute的云命令行(odpscmd)支持所有本地客户端可执行的SQL命令。本文通过运行SQL命令和数据传输为例,展示云命令行(odpscmd)的使用。

运行SQL命令

创建表result_table1,命令示例如下。

CREATE TABLE IF NOT EXISTS result_table1 (
 education STRING comment '教育程度',
 num BIGINT comment '人数');

创建完成后您可以查看已创建的表,命令示例如下。

SHOW TABLES;

数据传输

  • 文件上传

    1. 单击image.png,选择上传,将本地文件上传,本文以result.txt文件为例。

      上传完成后,Ctrl+c退出云命令行(odpscmd)环境,执行ll查看是否上传成功和文件路径。

      shell@Alicloud:~$ ll
      total 24
      drwxr-xr-x 3 shell shell 4096 Jul 19 08:21 ./
      drwxr-xr-x 1 root  root  4096 Jul 19 08:00 ../
      -rw------- 1 shell shell  292 Jul 19 08:22 .bash_history
      drwx------ 3 shell shell 4096 Jul 19 08:00 .config/
      -rw-r--r-- 1 shell shell  325 Jul 19 08:15 .odpscmd.history
      -rw-r--r-- 1 shell shell   30 Jul 19 08:21 result.txt
      -rw-r--r-- 1 shell shell    0 Jul 19 08:09 whoami
      shell@Alicloud:~$

      确认完成后,返回云命令行(odpscmd)环境,命令如下。

      cloudshell-odpscmd -p <project.name>
    2. 将上传的文件result.txt上传至MaxCompute,命令示例如下。

      tunnel upload result.txt result_table1;
  • 文件下载

    1. MaxCompute的表result_table1下载至云命令行(odpscmd),命令示例如下。

      Tunnel download result_table1 result_table1.txt;
    2. 单击image.png,选择下载result_table1.txt文件下载至本地。