ODPS功能介绍之CLT

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

大家在使用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;

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
缓存 分布式计算 NoSQL
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
41 2
|
3月前
|
SQL 分布式计算 NoSQL
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
34 2
|
5月前
|
机器学习/深度学习 搜索推荐 算法
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决
|
6月前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用合集之如何实现类似mysql实例中的数据库功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
JSON 分布式计算 大数据
MaxCompute产品使用合集之使用数据服务功能,但发现ODPS数据源不支持,该如何解决
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用合集之整库离线同步至MC的配置中,是否可以清除原表所有分区数据的功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
分布式计算 大数据 MaxCompute
MaxCompute产品使用合集之如何实现根据商品维度统计每件商品的断货时长的功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之如何实现类似for循环的功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
137 3
|
6月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
存储 分布式计算 资源调度
ODPS SQL问题之ODPS逻辑层包含哪些角色,它们各自的功能是什么
ODPS SQL 问题之ODPS逻辑层包含哪些角色,它们各自的功能是什么