本文为您演示一个完整的使用MaxCompute对银行贷款购房人员分析的过程。您可以参考每个步骤的示例部分进行实际操作。

由于在MaxCompute中的操作对象(输入、输出)都是表,所以在处理数据之前,首先要创建表、分区。方式有以下三种:

本文将为您介绍如何使用客户端创建、查看表。

前提条件

您需要首先完成阿里云账号开通、MaxCompute项目购买,被添加到项目空间并被赋予建表等权限,在本地完成客户端的配置后即可操作MaxCompute。

说明 如果您是第一次使用MaxCompute,在您快速入门之前,请务必完成所有的准备工作

快速入门系列文档后续将着重介绍使用客户端配合MaxCompute Studio完成表的创建、数据的上传、加工及导出。您也可以使用DataWorks完成上述整个过程,详情参见DataWorks快速入门

创建表

  1. 登录客户端。
    登录MaxCompute客户端后,首先您需要确认当前是否在正确的项目中。本例中项目名称为MaxCompute_DOC,您可以使用use MaxCompute_DOC;命令切换到该项目(项目需要您提前创建),切换成功如下图所示。

  2. 登录客户端之后,使用如下建表语句创建表。 创建表的详细介绍请参见表操作
    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建表语句如下所示。
      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 '是否有定期存款'
      );
      直接运行上述建表语句即可,成功后您会看到OK字样。

    • result_table建表语句如下所示。
      CREATE TABLE IF NOT EXISTS result_table
      (  
       education   STRING COMMENT '教育程度',
       num         BIGINT COMMENT '人数'
      );

查看表

当创建表成功之后,您可以通过desc <table_name>;命令查看表的信息。您可执行命令desc bank_data;查看上述示例中bank_data表的信息。结果显示如下图所示。

查看表信息的更多详情请参见表操作

其他表操作

其它可选的表操作如下所示,关于表操作的更多详情请参见表操作
  • 创建分区

    本文上述示例中使用的是非分区表。

    如果您创建的是分区表,为了在分区表中使用Tunnel命令导入不同分区数据,您首先需要创建分区。命令如下。
    alter table table_name add [if not exists] partition(partition_col1 = partition_col_value1, partition_col2 = partiton_col_value2, ...);
    其它操作例如使用数据集成、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');
  • 删除表
    删除表的命令如下所示。
    DROP TABLE [IF EXISTS] table_name;

后续步骤

在您完成表的创建后,即可进行导入数据到MaxCompute,以便后续对数据进行进一步处理。