基础:购房群体简单分析

本案例指导您完成购房群体分析,帮助您掌握DataWorks的数据开发与数据分析流程。

案例介绍

本案例基于用户买房数据,分析不同群体的购房情况。通过DataWorks进行数据开发和数据分析。将本地数据通过DataWorks上传至MaxComputebank_data表,通过MaxCompute SQL任务节点分析用户群体,得到result_table表。基于result_table表做简单可视化展示分析,得到群体画像。

说明

本案例基于模拟数据演示功能,实际应用中需要结合业务数据进行调整。

本案例的数据流转和数据开发的业务流程图如下所示。

image

完成数据分析之后,您将从购房数据中得到如下群体分析画像:贷款买房单身人士的受教育水平以university.degreehigh.school为主。

image

准备工作

(可选)开通免费试用

为了让新用户享受低成本且高质量的云上大数据开发体验,DataWorks提供了一定资源的新用户免费试用权益。您可以领取资源抵扣包,用于抵扣大数据开发过程中Serverless资源组的资源消耗。

  1. 前往阿里云免费试用页面。

  2. 在左侧导航栏产品类别下依次打开大数据计算 > 数据开发与服务,然后在右侧找到大数据开发治理平台DataWorks的免费试用卡片,单击立即试用

    重要
    • 免费试用抵扣包仅适用于初次使用DataWorks产品的新用户,老客户进入此页面将展示为不符合试用规则。

    • DataWorks免费试用资源抵扣包仅用于抵扣Serverless按量付费资源组的资源消耗,抵扣包失效以及DataWorks中的其他计费项仍可能产生相关费用,请仔细阅读抵扣规则DataWorks计费简介

  3. 按照页面指引,领取免费试用抵扣包。

    免费试用抵扣包必须与Serverless按量付费资源组配合使用,领取免费试用抵扣包后,还需完成后续准备工作创建资源组并绑定工作空间,然后在大数据开发中使用该资源组,系统将自动消耗抵扣包中的CU容量。

开通DataWorks

本教程以华东2(上海)地域为例,介绍DataWorks快速入门,您需要登录DataWorks管理控制台,切换至华东2(上海)地域,查看该地域是否开通DataWorks。

说明

本教程以华东2(上海)为例,在实际使用中,请根据实际业务数据所在位置确定开通地域:

  • 如果您的业务数据位于阿里云的其他云服务,请选择与其相同的地域。

  • 如果您的业务在本地,需要通过公网访问,请选择与您实际地理位置较近的地域,以降低访问延迟。

全新用户

如果您为新用户,首次使用DataWorks,将显示如下内容,表示当前地域尚未开通DataWorks,需要单击0元组合购买

image

  1. 配置组合购买页相关参数。

    参数

    说明

    示例

    地域

    选择需要开通DataWorks的地域。

    华东2(上海)

    DataWorks版本

    选择需要购买的DataWorks版本。

    说明

    本教程以基础版为例,所有版本均可体验本教程所涉及的功能,您可以参考DataWorks各版本功能详情,根据实际业务需要,选择合适的DataWorks版本。

    基础版

    DataWorks资源组

    通过DataWorks进行数据集成、数据开发、数据调度等任务时,需要消耗计算资源,您需要配套购买资源组,以确保后续任务的顺利运行。

    • 资源组名称:自定义

    • 专有网络(VPC)交换机(V-Switch)

      • 没有VPC和交换机:如果不配置,DataWorks将自动创建。您也可以单击参数说明中对应的控制台链接手动创建。

      • 已有VPC和交换机:选择已有的VPC和交换机。

      说明

      VPC和交换机的更多信息,请参见什么是专有网络VPC

    • 服务关联角色:根据页面提示,单击创建服务关联角色。

  2. 单击确认订单并支付,完成后续支付。

开通过但已到期

如果您在华东2(上海)地域曾经开通过DataWorks,但DataWorks版本已到期,则会出现如下提示,需要单击购买版本

image

  1. 配置购买页相关参数。

    参数

    说明

    示例

    版本

    选择需要购买的DataWorks版本。

    说明

    本教程以基础版为例,所有版本均可体验本教程所涉及的功能,您可以参考DataWorks各版本功能详情,根据实际业务需要,选择合适的DataWorks版本。

    基础版

    地域和可用区

    选择需要开通DataWorks的地域。

    华东2(上海)

  2. 单击立即购买,完成后续支付。

重要

您在购买DataWorks版本后,如未找到相关DataWorks版本,可进行以下操作:

  • 等待几分钟刷新页面,系统更新可能会有延迟。

  • 查看所在地域是否与购买DataWorks版本地域一致,防止因地域选择问题,未找到相关DataWorks版本。

已开通

如果您在华东2(上海)地域已开通DataWorks,将会进入DataWorks概览页,可直接进行下一步。

创建工作空间

  1. 前往DataWorks工作空间列表页,切换至华东2(上海)地域,单击创建工作空间

  2. 创建工作空间页面,自定义工作空间名称,开启使用新版数据开发(Data Studio),然后单击创建工作空间

    说明

    20250218日后,主账号在华东2(上海)地域首次开通DataWorks并创建工作空间时,默认启用新版数据开发,界面将不展示使用新版数据开发(Data Studio)参数。

创建资源组并绑定工作空间

  1. 前往DataWorks资源组列表页,切换至华东2(上海)地域,单击创建资源组

  2. 在资源组购买页面,配置如下参数。

    参数

    说明

    资源组名称

    自定义。

    专有网络(VPC)交换机(V-Switch)

    选择已有的VPC和交换机,如当前地域没有,请单击参数说明中对应的控制台链接前往创建。

    服务关联角色

    根据页面提示,创建AliyunServiceRoleForDataWorks服务关联角色

  3. 单击立即购买,完成后续支付。

  4. 前往DataWorks资源组列表页,切换至华东2(上海)地域,找到已创建的资源组,单击操作列的绑定工作空间

  5. 绑定工作空间页面,找到已创建的DataWorks工作空间,单击其操作列的绑定

创建并绑定MaxCompute计算资源

本教程需要创建MaxCompute项目并将其绑定为DataWorks计算资源,用于后续接收数据并进行大数据分析。

  1. 前往DataWorks工作空间列表页,切换至华东2(上海)地域,找到已创建的工作空间,单击工作空间名称,进入空间详情页。

  2. 在左侧导航栏单击计算资源,进入计算资源页面,单击绑定计算资源,选择MaxCompute类型。配置如下关键参数,创建MaxCompute项目并将其绑定为DataWorks的计算资源。

    说明

    表中未说明的参数保持默认值即可。

    参数

    描述

    MaxCompute项目

    在下拉选择框中单击新建,填写如下参数。

    • 项目名称:自定义,全网唯一。

    • 计算资源付费类型:选择按量付费

      说明

      如果按量付费不可选,请单击按量付费后的去开通,完成MaxCompute服务的开通。

    • 默认Quota:下拉选择默认已存在的Quota。

    默认访问身份

    选择阿里云主账号

    计算资源实例名

    在后续任务运行时,通过计算资源实例名称来选择任务运行的计算资源,方便识别,例如本教程命名为MaxCompute_Source

  3. 单击确认

操作步骤

在本案例中,您将通过DataWorks将本教程提供的测试数据上传至MaxCompute项目,并在DataWorks的数据开发中生成工作流,对测试数据进行基本的清洗和写入操作。同时,您还将对工作流进行调试运行,并通过SQL查询验证运行结果等操作。

一、新建表

上传测试数据前,通过DataWorks的数据目录在MaxCompute项目中创建用来存储上传数据的bank_data表。

  1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与运维 > 数据开发,在下拉框中选择对应工作空间后单击进入Data Studio

  2. 在数据开发页面单击左侧导航栏的image按钮,进入数据目录页面。

  3. (可选)若您的MaxCompute项目未添加至数据目录,则需单击MaxCompute目录后的image按钮,进入DataWorks 数据源页签,将已添加为计算资源或数据源的MaxCompute项目,添加至MaxCompute目录下。

  4. 单击打开MaxCompute目录,选择需要创建MaxCompute计算资源的项目,在文件夹下创建MaxCompute表。

    说明
    • 若您的MaxCompute开启了schema,则需在选择创建MaxCompute计算资源的项目后,打开目标schema后,才可在文件夹下创建MaxCompute表。

    • 本示例以标准模式工作空间为例,且仅在开发环境调试,所以仅需在开发环境对应的MaxCompute项目下创建bank_data表,若您使用的是简单模式工作空间,则只需在生产环境对应的MaxCompute项目下创建bank_data表即可。

  5. 单击表目录右侧的image按钮,添加并进入创建表的编辑页面。

    在表编辑页面右侧DDL模块键入以下SQL代码,系统将自动生成所有表信息。

    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 '是否有定期存款'
    );
  6. 在编辑页面,单击发布按钮,在开发环境对应MaxCompute项目中创建bank_data表。

  7. 完成bank_data表创建后,即可在数据目录下单击表名,查看表的详细信息。

二、上传数据

下载banking.csv文件至本地,通过DataWorks使用限制功能将文件上传至MaxCompute项目创建的bank_data中。

重要

进行文件上传前,须保证已为数据上传功能指定调度资源组数据集成资源组,详情可参见数据上传使用限制

  1. 单击左上角image图标,在弹出页面中单击全部产品 > 数据集成 > 上传与下载,进入上传与下载页面。

  2. 单击最近上传模块的数据上传按钮,进入数据上传配置页面,可参考以下配置。

    参数

    描述

    数据来源

    本地文件。

    指定待上传数据

    选择文件

    上传已下载至本地的banking.csv文件。

    设置目标表

    目标引擎

    MaxCompute

    MaxCompute项目名称

    选择bank_data表所在的MaxCompute项目。

    选择目标表

    选择bank_data表作为目标表。

    上传文件数据预览

    单击按顺序映射,完成文件数据与bank_data表字段映射。

    说明
    • 本地文件支持上传.csv.xls.xlsx.json类型的文件。

    • 表格文件默认上传文件的第一个Sheet。

    • .csv文件最大支持5GB,其他文件最大支持100MB

  3. 单击数据上传,将下载的CSV文件内的数据上传至MaxCompute计算资源内的bank_data表中。

  4. 确认数据上传成功。

    在数据上传成功后,您可通过SQL查询(旧版)来确认bank_data表中是否已写入数据。

    1. 单击左上角image图标,在弹出页面中单击全部产品 > 数据分析 > SQL查询

    2. 在我的文件后单击image > 新建文件,自定义文件名后单击确定

    3. SQL查询页面,配置如下SQL。

      SELECT * FROM bank_data limit 10;
    4. 在右上角选择bank_data表所在的工作空间和MaxCompute数据源后单击确定

      说明

      本示例以标准模式工作空间为例,且bank_data表仅在开发环境创建,选择数据源时,必须选择开发环境的MaxCompute数据源。若您使用的是简单模式工作空间,选择生产环境的MaxCompute数据源即可。

    5. 单击顶部的运行按钮,在成本预估页面,单击运行,运行成功之后,在页面下方您将获得bank_data的前10条记录。此时,表示您成功上传本地数据至bank_data表。

      image

三、加工数据

使用MaxCompute SQL节点将上传至bank_data表的数据进行过滤,获得单身人士贷款买房的受教育水平分布数量数据,并将数据写入新的result_table表中。

搭建数据加工链路

  1. 单击左上方的图标图标,选择全部产品 > 数据开发与运维 > DataStudio(数据开发),进入数据开发页面。

  2. 在页面顶部切换至本教程创建好的工作空间,在左侧导航栏单击image,进入数据开发

  3. 项目目录区域,单击image,选择新建工作流,设置工作流名称,本教程设置为dw_basic_case,单击确认保存工作流,进入工作流编排页面。

  4. 进入工作流编排页面后,从左侧拖拽虚拟节点MaxCompute SQL节点至画布中,分别设置节点名称。

    本教程节点名称示例及作用如下:

    节点类型

    节点名称

    节点作用

    image 虚拟节点

    workshop_start

    用于统筹管理整个购房群体分析简单教程,可使数据流转路径更清晰。该节点为空跑任务,无须编辑代码。

    image MaxCompute SQL

    ddl_result_table

    用于创建result_table,用来写入清洗后的bank_data表数据。

    image MaxCompute SQL

    insert_result_table

    用于将bank_data数据进行过滤后写入result_table表。

  5. 手动拖拽连线,配置各节点的上游节点。最终效果如下:

    image

    说明

    工作流中支持通过手动连线方式设置各节点的上下游依赖关系,也支持在子节点中,使用代码解析自动识别节点上下游依赖关系。本教程采用手动连线方式,代码解析的更多信息,请参见自动解析依赖

  6. 在节点工具栏单击保存

配置数据加工节点

配置ddl_result_table节点

本节点创建result_table表,用于存储insert_result_table查询的单身人士贷款买房的受教育水平分布数量数据。

  1. 在工作流编辑页面中,鼠标悬停至ddl_result_table节点上,单击打开节点,为insert_result_table节点提供写入单身人士贷款买房的受教育水平分布数量的目标表。

  2. 将如下代码粘贴至节点编辑页面。

    CREATE TABLE IF NOT EXISTS result_table(
      education STRING COMMENT'教育程度',
      num       BIGINT COMMENT'人数'
    );
  3. 配置调试参数。

    MaxCompute SQL节点编辑页面右侧单击调试配置

    • 配置计算资源参数,选择准备工作时绑定的MaxCompute计算资源以及其对应的计算配额。

    • 配置资源组参数,选择准备工作时购买的Serverless资源组。

  4. 在节点工具栏单击保存

配置insert_result_table节点

本节点将基于bank_data表进行加工过滤,获得单身人士贷款买房的受教育水平分布数量数据,并将数据写入result_table表中,以便后续数据分析与图表展示。

  1. 在工作流编辑页面中,鼠标悬停至insert_result_table节点上,单击打开节点

  2. 将如下代码粘贴至节点编辑页面。

    INSERT OVERWRITE TABLE result_table --插入数据至result_table中。
    SELECT
      education,
      COUNT(marital) AS num
    FROM bank_data
    WHERE 
      housing = 'yes'
      AND marital = 'single'
    GROUP BY
    education;
  3. 配置调试参数。

    MaxCompute SQL节点编辑页面右侧单击调试配置

    • 配置计算资源参数,选择准备工作时绑定的MaxCompute计算资源以及其对应的计算配额。

    • 配置资源组参数,选择准备工作时购买的Serverless资源组。

  4. 在节点工具栏单击保存

四、调试运行

工作流配置完成后,需要您在dw_basic_case工作流编排页面,单击image按钮,调试运行整个工作流,验证工作流是否可以正常运行。若运行失败,则可根据调试运行日志进行排查。

image

五、数据查询与展示

您已经将上传至MaxCompute计算资源的数据,经过数据开发处理,在SQL查询(旧版)中可查询result_table数据,并且进行分析。

  1. 单击左上角image图标,在弹出页面中单击全部产品 > 数据分析 > SQL查询

  2. 在我的文件后单击image > 新建文件,自定义文件名后单击确定

  3. SQL查询页面,配置如下SQL。

    SELECT * FROM result_table;
  4. 在右上角选择result_table表所在的工作空间MaxCompute数据源后单击确定

    说明

    本示例以标准模式工作空间为例,且result_table表仅在开发环境创建,未发布至生产环境,所以选择数据源时,必须选择开发环境的MaxCompute数据源。若您使用的是简单模式工作空间,选择生产环境的MaxCompute数据源即可。

  5. 单击顶部的运行按钮,在成本预估页面,单击运行

  6. 在查询结果中单击image,查看可视化图表结果,您可以单击图表右上角的image自定义图表样式。自定义图表样式的更多信息,请参见可视化卡片和报告

    说明

    可视化卡片和报告中,您可通过样式设置 > 更换图表将系统默认的分组柱状图更换为饼图

  7. 您也可以单击图表右上角保存,将图表保存为卡片,然后在左侧导航栏单击卡片image)查看。

    image

下一步

附录:资源释放与清理

如果您需要释放本次教程所创建的资源,具体操作步骤如下:

  1. 停止周期任务。

    1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与运维 > 运维中心,在下拉框中选择对应工作空间后单击进入运维中心

    2. 周期任务运维 > 周期任务中,勾选所有之前创建的周期任务(工作空间root节点无需下线),然后在底部单击操作 > 下线节点

  2. 删除数据开发节点并解绑MaxCompute计算资源。

    1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

    2. Data Studio左侧导航栏单击image,进入数据开发页面,然后在项目目录区域找到已创建好的工作流,右键工作流,单击删除

    3. 在左侧导航栏,单击image > 计算资源管理,找到已绑定的MaxCompute计算资源,单击解绑。在确认窗口中勾选选项后按照指引完成解绑。

  3. 删除MaxCompute项目。

    前往MaxCompute项目管理页面,找到已创建的MaxCompute项目,单击操作列的删除,按照指引完成删除。

  4. 删除DataWorks工作空间。

    1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的工作空间,在工作空间列表找到需删除的DataWorks空间,单击操作列的image按钮,选择删除工作空间。

    2. 删除工作空间弹窗内,单击确认删除工作空间。