快速入门为您演示一个使用MaxCompute对银行贷款购房人员进行分析的完整过程。您可以参考每个步骤的示例部分进行实际操作。
在MaxCompute中的创建表的方式有以下三种:
- 通过客户端常用命令实现。
- 通过MaxCompute Studio实现,详情请参见可视化创建/修改/删除表。
- 通过DataWorks实现,详情请参见管理表。
本文将为您介绍如何使用安装并配置客户端创建、查看表。
前提条件
请确保以下工作已经完成:
- 开通阿里云账号。
- 购买MaxCompute。
- 创建要使用的项目空间,详情请参见创建空间。如果要使用的项目空间已存在,请确保已被添加至此项目空间并被赋予建表等权限。
- 完成客户端安装配置。
说明
- 如果您是第一次使用MaxCompute,在您快速入门之前,请务必完成所有的准备工作。
- 快速入门系列文档着重介绍使用安装并配置客户端配合MaxCompute Studio完成表的创建、数据的上传、加工及导出。您也可以使用DataWorks完成上述整个过程,详情参见DataWorks快速入门。
创建表
- 登录客户端。
运行客户端工具bin目录下的MaxCompute客户端(Linux系统下运行./bin/odpscmd,Windows下运行./bin/odpscmd.bat)登录。首先确认进入的项目空间名称是否正确。本例中项目空间名称为MaxCompute_DOC,如果不是该项目,您可以使用如下命令切换至该项目。
切换成功如下图所示。use MaxCompute_DOC;
- 创建表。使用如下建表语句创建表,详细介绍请参见表操作。
CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [LIFECYCLE days] [AS select_statement]
本文中,需要创建表bank_data和表result_table。bank_data用于存储业务数据,result_table用于存储数据分析后产生的结果。- bank_data建表语句如下所示。
直接运行上述建表语句即可,成功后您会看到OK字样。CREATE TABLE IF NOT EXISTS bank_data ( age BIGINT COMMENT '年龄', job STRING COMMENT '工作类型', marital STRING COMMENT '婚否', education STRING COMMENT '教育程度', default STRING COMMENT '是否有信用卡', housing STRING COMMENT '房贷', loan STRING COMMENT '贷款', contact STRING COMMENT '联系途径', month STRING COMMENT '月份', day_of_week STRING COMMENT '星期几', duration STRING COMMENT '持续时间', campaign BIGINT COMMENT '本次活动联系的次数', pdays DOUBLE COMMENT '与上一次联系的时间间隔', previous DOUBLE COMMENT '之前与客户联系的次数', poutcome STRING COMMENT '之前市场活动的结果', emp_var_rate DOUBLE COMMENT '就业变化速率', cons_price_idx DOUBLE COMMENT '消费者物价指数', cons_conf_idx DOUBLE COMMENT '消费者信心指数', euribor3m DOUBLE COMMENT '欧元存款利率', nr_employed DOUBLE COMMENT '职工人数', y BIGINT COMMENT '是否有定期存款' );
说明 如果客户端执行报错,建议您手动输入SQL语句执行,或者使用DataWorks临时查询功能运行SQL语句,详细请参考使用临时查询运行SQL语句(可选)。 - result_table建表语句如下所示。
CREATE TABLE IF NOT EXISTS result_table ( education STRING COMMENT '教育程度', num BIGINT COMMENT '人数' );
- bank_data建表语句如下所示。
查看表
当创建表成功之后,您可以通过如下命令查看表的信息。

desc <table_name>;
其中,table_name是查看表的名字。例如,您可执行命令desc bank_data;
查看上述示例中bank_data表的信息。结果显示如下图所示。
查看表信息的更多信息请参见表操作。
其他表操作
- 删除表
删除表的命令如下所示。
DROP TABLE [IF EXISTS] table_name;
- 创建分区
本文上述示例中使用的是非分区表。如果您需要使用分区表,可以使用如下语句创建分区。
alter table table_name add [if not exists] partition(partition_col1 = partition_col_value1, partition_col2 = partiton_col_value2, ...);
说明- 如果您使用Tunnel命令导入不同分区数据,首先需要创建分区。
- 如果您使用数据集成、INSERT语句等方法导入分区数据则无需单独创建分区。
- 删除分区
删除分区的命令如下所示。
alter table table_name drop [if exists] partition(partition_col1 = partition_col_value1, partition_col2 = partiton_col_value2, ...);
例如删除区域为hangzhou,日期为20180923的分区,语句如下所示。alter table user drop if exists partition(region='hangzhou',dt='20180923');
后续步骤
在您完成表的创建后,即可进行导入数据到MaxCompute,以便后续对数据进行进一步处理。
在文档使用中是否遇到以下问题
更多建议
匿名提交