ODPS功能介绍之CLT

大家在使用ODPS之前,一定会问如何与ODPS亲密接触。 ODPS提供了基于HTTP/HTTPS的RESTful API接口,同时还有JAVA语言的SDK,但还有一款工具相信大家更喜欢-ODPS CLT (Command-Line Tool),一个基于命令行的工具。这款工具就是基于ODPS JAVA SDK开发的,只要机器上安装了JAVA 1.6,就可以运行。 通过这个工具,大家可以直接以命令的方式向ODPS提交任务作业来执行。下来给大家介绍一下这款工具如何使用。
安装及配置
(1) 这款工具可以从ODPS官网下载,下载之后,解开压缩包,例如:解压缩到 C:\ODPS_DEMO\
(2) 进入目录 C:\ODPS_DEMO\odpscmd_public\conf\,打开文件 odps_config.ini,修改配置信息
project_name=project_name
access_id=XXXXXXXXXXXXXXXX
access_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
end_point=http://service.odps.aliyun.com/api
tunnel_endpoint=http://dt.odps.aliyun.com
log_view_host=http://logview.odps.aliyun.com
https_check=true
说明:将project_name 值改为自己的project 名称,将access_id及access_key改为自己云账号的id和key。其它值可以不做修改;
(3) 通过命令行,进入C:\ODPS_DEMO\odpscmd_public\bin\,执行 odpscmd,进入交互界面,确认安装是否配置成功。
(4) 将 C:\ODPS_DEMO\odpscmd_public\bin 加入环境变量 PATH,方便通过命令行调用 odpscmd
ODPS CLT有两种执行方式:交互式和非交互式。 交互式即输入一条执行一条,直到用户退出。非交互式主要用于外部脚本的调用。脚本可以通过参数将命令传递给CLT来执行,执行完成后,CLT自动退出。 两种方式分别举例说明。
交互式执行常用命令
(1) 进入交互界面

odpscmd

(2) 分别执行下述命令

# 查看帮助信息
help;
# 切换项目
use aca21104_demo;
# 查看当前项目的详细信息
desc project aca21104_demo;
# 列出表信息
ls tables;
# 查看某个表的具体信息
desc dual;
# 查看表中记录数
count dual;
select count(*) from dual;
# 查看表记录内容:
read dual;
select * from dual;
# 添加用户 ben.ning@aliyun.com 到当前项目空间中来:
list users;
remove user ALIYUN$ben.ning@aliyun.com;
add user ALIYUN$ben.ning@aliyun.com;
# 新建表 t_test
create table if not exists t_test (id int, name string);
# 插入一条数据
insert into table t_test select * from t_test;
# 查看表中记录:
read t_test;

注:CLT中的每个命令以;作为结尾符,遇到结尾符才开始执行。所以命令后面不要忘记添加;号;
非交互式执行命令
使用-f执行指定文件中的命令集
(1) 在目录 C:\ODPS_DEMO\resources\01-BasicKnowledge\ 中新建一个文件 crt_tbl_new.cmd,包括如下内容:

use aca21104_demo;
drop table if exists t_test;
create table t_test (id int, name string);
insert into table t_test select 1,’odps’ from dual;
read t_test;
注:文件一定要存储为UTF-8格式;
(2) 使用 odpscmd 调用命令文件:

odpscmd -f C:\ODPS_DEMO\resources\01-BasicKnowledge\crt_tbl_new.cmd

(3) 使用 odpscmd 执行命令文件中的一部分命令(跳过开头的命令):

odpscmd -f C:\ODPS_DEMO\resources\01-BasicKnowledge\crt_tbl_new.cmd -k 4
使用-e参数执行命令
(1) 使用odpscmd -e 执行多个命令:

odpscmd -e “insert into table t_test select 2,’odpscmd’ from dual; read t_test;”

(2) 使用 -e 和 -k 结合在执行命令集时可跳过一些命令:

odpscmd -e “insert into table t_test select 2,’odpscmd’ from dual; read t_test;” -k

使用CLT中上传、下载数据
CLT中有个Tunnel命令,用来支持上传和下载数据的操作,如果数据量比较小,可以尝试使用CLT进行上传和下载。
(1) 使用 upload 子命令,上传文件 people.csv 到表 t_tunnel 中:

tunnel upload C:\ODPS_DEMO\resources\02-DataTransfer\people.csv t_tunnel;

(2) 检查上传结果:

read t_tunnel;
如果目标表有分区,需要先创建好分区,然后再上传数据,如:
(1) 创建表 t_tunnel_p 的分区 gender=’male’中:

alter table t_tunnel_p add if not exists partition (gender=’male’);

(2) 使用 upload 子命令,上传文件 men.csv 以及 women.csv 到表 t_tunnel_p 的已存在的分区 gender=’male’中:

tunnel upload women.csv t_tunnel_p/gender=’male’;
tunnel upload men.csv t_tunnel_p/gender=’male’;

如果想将表中的数据下载到本地也是件非常容易的事情,例如:
将表 t_tunnel 下载到本地文件 t_tunnel.csv:

tunnel download t_tunnel t_tunnel.csv;

如果想下载某个分区中的数据,可以直接指定分区即可:

tunnel download t_tunnel_p/gender=’male’ t_tunnel_p.csv;

时间: 2024-08-02 14:25:54

ODPS功能介绍之CLT的相关文章

ODPS 功能介绍之SQL

ODPS 提供了SQL功能, 为BI工程师提供了大数据分析能力.ODPS的SQL语法与HQL非常相似,入手也非常容易.接下来就给大家介绍一下SQL的使用及一些优化技巧. SQL 语句分为三种:DDL.DML及SELECT 操作. DDL 用于表的定义及维护.相信大家都用过类似CREATE TABLE 来创建表. 在ODPS中,除了使用CREATE TABLE来创建表之外,还有另外两种方式: CREATE TABLE EDW_ORDER_BACKUP LIKE EDW_ORDER; 创建一张新表E

ODPS功能介绍之数据导入

在使用ODPS强大的数据处理能力之前,大家最关心的是自己的数据如何导入到ODPS中. 下面介绍一款向ODPS导入数据的工具-Fluentd. Fluentd是一个开源的软件,用来收集各种源头日志(包括Application Log.Sys Log及Access Log),允许用户选择插件对日志数据进行过滤.并存储到不同的数据处理端(包括MySQL.Oracle.MongoDB.Hadoop.Treasure Data.AWS Services.Google Services以及ODPS等).Fl

Edge浏览器新版功能介绍

  Edge浏览器新版功能介绍 Edge浏览器可以说是微软在Windows 10中提供给用户最大新特性之一,其功能与以往的任何一代IE浏览器相比都要更强. 现在,微软工程师们又将为Edge浏览器带来了新的内容. 微软今天宣布,Edge浏览器新添加WebM.VP9和Opus编码格式支持,用户在线体验多媒体内容将变得更加方便. 其中,WebM和VP9格式将能够提供更好的在线4K内容解码,能满足未来超高清在线娱乐需求. 目前,新格式支持已经在刚刚发布不久的Windows 10周年更新预览版中开启该功能

IE9新增了那些功能?IE9新功能介绍

IE9新功能介绍 简洁的设计 打开 Internet Explorer 9 时首先注意到的是紧凑的用户界面.大多数命令栏功能,如"打印"或"缩放",现在都可以通过单击"工具"按钮访问,单击"收藏夹"按钮时会显示您的收藏夹.此外,Internet Explorer 还为您提供了需要的基本控制,并让网页显示在正中.(如果要还原"命令"栏."收藏夹"栏和状态栏,请右键单击"新建选项卡

Excel 2010 中条件格式新增功能介绍

Excel 2010 中条件格式新增功能介绍这篇文章的内容如下: 下面介绍Excel 2010中一些新的条件格式功能: 交叉表引用 健壮的错误处理 性能增强 交叉表引用 在Excel 2010中,可以创建引用工作簿中不同工作表的条件格式.这意味着,在使用条件格式时,不再需要复制或链接数据到同一工作表. 例如,看看某连锁书店每月销售数据,该书店采用如下方式组织销售数据: 每个位置有自已的工作表 最后一个工作表包含全公司累计销售数据,使用每个部门的平均值. 下面我们应用条件格式,以便能够容易判断是否

.Net Framework 4.0 功能介绍

.Net Framework 4.0 功能介绍 微软发布了 Visual Studio 2010 和 .NET Framework 4.0 的Beta 2测试版,微软往Framework 4.0里又塞了很多新东西,有的确实不错,不过有的还是感觉有点粗糙,还在实验阶段,实用性不强. 简单回顾下历史,.Net Framework 1.1其实是个试验品,.Net Framework真正走向成熟其实从2.0开始的,之后的Framework 3,Framework 3.5其实都是基于Framework 2

Oracle压缩功能介绍

大家听到这个词,一定就想到了节省硬盘空间吧.没错,它就是用来干这个的,但是向外延伸一下,它不仅可以节省硬盘空间,更可以节省带宽以及内存的使用(cpu有一点点损耗因为需要更多的计算取值操作,但是鉴于大多数环境下cpu都有空闲,所以也可以忽略了). Basiccompression这个功能从9i开始就有提供,11gr1开始提供了新的压缩功能,即OLTP compression.Basic compression是包括在EE版本中的,不需要额外收费,但是OLTP compression则需要额外的Or

AspectNet功能介绍(一)

AspectNet是一个基于.Net Framework的方面编制器,它同时能实现静态编织和动态编织,是bobmazelin个人的研究性项目,现仍然处于开发阶段,有关AOP概念的介绍请参考:www.aspectJ.org以及IBM的专题. 这是AspectNet功能介绍的第一篇,我主要介绍AspectNet在静态编织方面的基本结构. AspectNet在很大程度上参考了aspectJ,它通过MSIL代码来实现静态编织,由此AspectNet不需要源代码,同时它也可以混合编织C#和VB.Net(理

SQL Server 2008数据仓库可伸缩性相关功能介绍

SQL Server 技术文档 作者: Eric N. Hanson, Kevin Farlee, Stefano Stefani, Shu Scott, Gopal Ashok, Torsten Grabs, Sara Tahir, Sunil Agarwal, T.K. Anand, Richard Tkachuk, Catherine Chang, 以及 Edward Melomed, Microsoft Corp. 技术检查员:Eric N. Hanson, Microsoft Corp