计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive

步骤1:数据准备

更新时间:2024-12-11 GMT+08:00

使用DataArts Studio前的准备

如果您是第一次使用DataArts Studio,请参考购买并配置DataArts Studio章节完成注册华为账号购买DataArts Studio实例、创建工作空间等一系列操作。然后进入到对应的工作空间,即可开始使用DataArts Studio

数据源准备

本入门示例以某电商商城的BI报表数据为例,分析用户和商品的各种数据特征

为方便演示,本示例提供了用于模拟原始数据的部分数据。为了方便将源数据集成到云上,我们需要先将样例数据存储为CSV文件,将CSV文件上传至OBS服务中。

  1. 创建CSV文件(UTF-8无bom格式),文件名称为对应的数据表名,将后文提供的各样例数据分别复制粘贴到不同CSV文件中,然后保存CSV文件。

    以下是Windows下生成.csv文件的办法之一:
    1. 使用文本编辑工具(例如记事本等)新建一个txt文档,将后文提供的样例数据复制进文档中。注意复制后检查数据的行数及数据分行的正确性(注意,如果是从PDF文档中复制样例数据,单行的数据过长时会产生换行,需手动重新调整为单行)。
    2. 单击文件 > 另存为,在弹出的对话框中,“保存类型”选择为“所有文件(*.*)”,在“文件名”处输入文件名和.csv后缀,选择UTF-8编码格式(不能带BOM),则能以CSV格式保存该文件。

  2. 将源数据CSV文件上传到OBS服务。

    1. 登录控制台,选择存储 > 对象存储服务 OBS,进入OBS控制台。
    2. 单击“创建桶”,然后根据页面提示配置参数,创建一个名称为“fast-demo”的OBS桶。
      说明:

      为保证网络互通,OBS桶区域请选择和DataArts Studio实例相同的区域。如果需要选择企业项目,也请选择与DataArts Studio实例相同的企业项目。

      使用OBS控制台创建桶的操作,请参见《对象存储服务控制台指南》中的创建桶

    3. 在名称为“fast-demo”的OBS桶中,创建user_data、product_data、comment_data和action_data的文件夹,分别将user_data.csv、product_data.csv、comment_data.csv和action_data.csv文件上传数据到对应文件夹中。
      说明:

      由于DLI在关联CSV表格用于创建OBS外表时,不支持指定文件名、仅支持指定文件路径,因此需要将CSV表格分别放到不同的文件路径下,且确保文件路径下仅包含所需的CSV表格。

      使用OBS控制台上传文件的操作,请参见《对象存储服务控制台指南》中的上传文件

本示例中涉及到4部分原始样例数据,分别为用户数据user_data.csv、商品数据product_data.csv、评价数据comment_data.csv和行为数据action_data.csv。具体数据和说明如下:
  • user_data.csv:
    user_id,age,gender,rank,register_time
    100001,20,0,1,2021/1/1
    100002,22,1,2,2021/1/2
    100003,21,0,3,2021/1/3
    100004,24,2,5,2021/1/4
    100005,50,2,9,2021/1/5
    100006,20,1,3,2021/1/6
    100007,18,1,1,2021/1/7
    100008,20,1,6,2021/1/8
    100009,60,0,4,2021/1/9
    100010,20,1,1,2021/1/10
    100011,35,0,5,2021/1/11
    100012,20,1,1,2021/1/12
    100013,7,0,1,2021/1/13
    100014,64,0,8,2021/1/14
    100015,20,1,1,2021/1/15
    100016,33,1,7,2021/1/16
    100017,20,0,1,2021/1/17
    100018,15,1,1,2021/1/18
    100019,20,1,9,2021/1/19
    100020,33,0,1,2021/1/20
    100021,20,0,1,2021/1/21
    100022,22,1,5,2021/1/22
    100023,20,1,1,2021/1/23
    100024,20,0,1,2021/1/24
    100025,34,0,7,2021/1/25
    100026,34,1,1,2021/1/26
    100027,20,1,8,2021/1/27
    100028,20,0,1,2021/1/28
    100029,56,0,5,2021/1/29
    100030,20,1,1,2021/1/30
    100031,22,1,8,2021/1/31
    100032,20,0,1,2021/2/1
    100033,32,1,0,2021/2/2
    100034,20,1,1,2021/2/3
    100035,45,0,6,2021/2/4
    100036,20,0,1,2021/2/5
    100037,67,1,4,2021/2/6
    100038,78,0,6,2021/2/7
    100039,11,1,8,2021/2/8
    100040,8,0,0,2021/2/9

    数据说明如下:

    表1 用户数据说明

    字段名称

    字段类型

    字段说明

    字段取值

    user_id

    int

    用户ID

    脱敏

    age

    int

    年龄段

    -1表示未知

    gender

    int

    性别

    • 0表示男
    • 1表示女
    • 2表示保密

    rank

    Int

    用户等级

    有顺序的级别枚举,越高级别数字越大

    register_time

    string

    用户注册日期

    单位:天

  • product_data.csv:
    product_id,a1,a2,a3,category,brand
    200001,1,1,1,300001,400001
    200002,2,2,2,300002,400001
    200003,3,3,3,300003,400001
    200004,1,2,3,300004,400001
    200005,3,2,1,300005,400002
    200006,1,1,1,300006,400002
    200007,2,2,2,300007,400002
    200008,3,3,3,300008,400002
    200009,1,2,3,300009,400003
    200010,3,2,1,300010,400003
    200011,1,1,1,300001,400003
    200012,2,2,2,300002,400003
    200013,3,3,3,300003,400004
    200014,1,2,3,300004,400004
    200015,3,2,1,300005,400004
    200016,1,1,1,300006,400004
    200017,2,2,2,300007,400005
    200018,3,3,3,300008,400005
    200019,1,2,3,300009,400005
    200020,3,2,1,300010,400005
    200021,1,1,1,300001,400006
    200022,2,2,2,300002,400006
    200023,3,3,3,300003,400006
    200024,1,2,3,300004,400006
    200025,3,2,1,300005,400007
    200026,1,1,1,300006,400007
    200027,2,2,2,300007,400007
    200028,3,3,3,300008,400007
    200029,1,2,3,300009,400008
    200030,3,2,1,300010,400008
    200031,1,1,1,300001,400008
    200032,2,2,2,300002,400008
    200033,3,3,3,300003,400009
    200034,1,2,3,300004,400009
    200035,3,2,1,300005,400009
    200036,1,1,1,300006,400009
    200037,2,2,2,300007,400010
    200038,3,3,3,300008,400010
    200039,1,2,3,300009,400010
    200040,3,2,1,300010,400010

    数据说明如下:

    表2 商品数据说明

    字段名称

    字段类型

    字段说明

    字段取值

    product_id

    int

    商品编号

    脱敏

    a1

    int

    属性1

    枚举,-1表示未知

    a2

    int

    属性2

    枚举,-1表示未知

    a3

    int

    属性3

    枚举,-1表示未知

    category

    int

    品类ID

    脱敏

    brand

    int

    品牌ID

    脱敏

  • comment_data.csv:
    deadline,product_id,comment_num,has_bad_comment,bad_comment_rate
    2021/3/1,200001,4,0,0
    2021/3/1,200002,1,0,0
    2021/3/1,200003,2,2,0.1
    2021/3/1,200004,3,3,0.05
    2021/3/1,200005,1,0,0
    2021/3/1,200006,2,0,0
    2021/3/1,200007,3,2,0.01
    2021/3/1,200008,4,1,0.001
    2021/3/1,200009,4,0,0
    2021/3/1,200010,1,0,0
    2021/3/1,200011,2,2,0.2
    2021/3/1,200012,3,3,0.04
    2021/3/1,200013,1,0,0
    2021/3/1,200014,2,2,0.2
    2021/3/1,200015,3,2,0.05
    2021/3/1,200016,4,1,0.003
    2021/3/1,200017,4,0,0
    2021/3/1,200018,1,0,0
    2021/3/1,200019,2,2,0.3
    2021/3/1,200020,3,3,0.03
    2021/3/1,200021,1,0,0
    2021/3/1,200022,2,5,1
    2021/3/1,200023,3,2,0.07
    2021/3/1,200024,4,1,0.006
    2021/3/1,200025,4,0,0
    2021/3/1,200026,1,0,0
    2021/3/1,200027,2,2,0.4
    2021/3/1,200028,3,3,0.03
    2021/3/1,200029,1,0,0
    2021/3/1,200030,2,5,1
    2021/3/1,200031,3,2,0.02
    2021/3/1,200032,4,1,0.003
    2021/3/1,200033,4,0,0
    2021/3/1,200034,1,0,0
    2021/3/1,200035,2,2,0.5
    2021/3/1,200036,3,3,0.06
    2021/3/1,200037,1,0,0
    2021/3/1,200038,2,1,0.01
    2021/3/1,200039,3,2,0.01
    2021/3/1,200040,4,1,0.009

    数据说明如下:

    表3 评价数据说明

    字段名称

    字段类型

    字段说明

    字段取值

    deadline

    string

    截止时间

    单位:天

    product_id

    int

    商品编号

    脱敏

    comment_num

    int

    累计评论数分段

    • 0表示无评论
    • 1表示有1条评论
    • 2表示有2-10条评论
    • 3表示有11-50条评论
    • 4表示大于50条评论

    has_bad_comment

    int

    是否有差评

    0表示无,1表示有

    bad_comment_rate

    float

    差评率

    差评数占总评论数的比重

  • action_data.csv:
    user_id,product_id,time,model_id,type
    100001,200001,2021/1/1,1,view
    100001,200001,2021/1/1,1,add
    100001,200001,2021/1/1,1,delete
    100001,200002,2021/1/2,1,view
    100001,200002,2021/1/2,1,add
    100001,200002,2021/1/2,1,buy
    100001,200002,2021/1/2,1,like
    100002,200003,2021/1/1,1,view
    100002,200003,2021/1/1,1,add
    100002,200003,2021/1/1,1,delete
    100002,200004,2021/1/2,1,view
    100002,200004,2021/1/2,1,add
    100002,200004,2021/1/2,1,buy
    100002,200004,2021/1/2,1,like
    100003,200001,2021/1/1,1,view
    100003,200001,2021/1/1,1,add
    100003,200001,2021/1/1,1,delete
    100004,200002,2021/1/2,1,view
    100005,200002,2021/1/2,1,add
    100006,200002,2021/1/2,1,buy
    100007,200002,2021/1/2,1,like
    100001,200003,2021/1/1,1,view
    100002,200003,2021/1/1,1,add
    100003,200003,2021/1/1,1,delete
    100004,200004,2021/1/2,1,view
    100005,200004,2021/1/2,1,add
    100006,200004,2021/1/2,1,buy
    100007,200004,2021/1/2,1,like
    100001,200005,2021/1/3,1,view
    100001,200005,2021/1/3,1,add
    100001,200005,2021/1/3,1,delete
    100001,200006,2021/1/3,1,view
    100001,200006,2021/1/4,1,add
    100001,200006,2021/1/4,1,buy
    100001,200006,2021/1/4,1,like
    100010,200005,2021/1/3,1,view
    100010,200005,2021/1/3,1,add
    100010,200005,2021/1/3,1,delete
    100010,200006,2021/1/3,1,view
    100010,200006,2021/1/4,1,add
    100010,200006,2021/1/4,1,buy
    100010,200006,2021/1/4,1,like
    100001,200007,2021/1/2,1,buy
    100001,200007,2021/1/2,1,like
    100002,200007,2021/1/1,1,view
    100002,200007,2021/1/1,1,add
    100002,200007,2021/1/1,1,delete
    100002,200007,2021/1/2,1,view
    100002,200007,2021/1/2,1,add
    100002,200008,2021/1/2,1,like
    100002,200008,2021/1/2,1,like
    100003,200008,2021/1/1,1,view
    100003,200008,2021/1/1,1,add
    100003,200008,2021/1/1,1,delete
    100004,200008,2021/1/2,1,view
    100005,200009,2021/1/2,1,like
    100006,200009,2021/1/2,1,buy
    100007,200010,2021/1/2,1,like
    100001,200010,2021/1/1,1,view
    100002,200010,2021/1/1,1,add
    100003,200010,2021/1/1,1,delete
    100004,200010,2021/1/2,1,view
    100005,200010,2021/1/2,1,like
    100006,200010,2021/1/2,1,buy
    100007,200010,2021/1/2,1,like
    100001,200010,2021/1/3,1,view
    100001,200010,2021/1/3,1,add
    100001,200010,2021/1/3,1,delete
    100001,200011,2021/1/3,1,view
    100001,200011,2021/1/4,1,like
    100001,200011,2021/1/4,1,buy
    100001,200011,2021/1/4,1,like
    100010,200012,2021/1/3,1,view
    100011,200012,2021/1/3,1,like
    100011,200012,2021/1/3,1,delete
    100011,200013,2021/1/3,1,view
    100011,200013,2021/1/4,1,like
    100011,200014,2021/1/4,1,buy
    100011,200014,2021/1/4,1,like
    100007,200022,2021/1/2,1,like
    100001,200022,2021/1/1,1,view
    100002,200023,2021/1/1,1,add
    100003,200023,2021/1/1,1,delete
    100004,200023,2021/1/2,1,like
    100005,200024,2021/1/2,1,add
    100006,200024,2021/1/2,1,buy
    100007,200025,2021/1/2,1,like
    100001,200025,2021/1/3,1,view
    100001,200026,2021/1/3,1,like
    100001,200026,2021/1/3,1,delete
    100001,200027,2021/1/3,1,view
    100001,200027,2021/1/4,1,like
    100001,200027,2021/1/4,1,buy
    100001,200028,2021/1/4,1,like
    100010,200029,2021/1/3,1,view
    100011,200030,2021/1/3,1,like
    100011,200031,2021/1/3,1,delete
    100011,200032,2021/1/3,1,view
    100011,200033,2021/1/4,1,like
    100011,200034,2021/1/4,1,buy
    100011,200035,2021/1/4,1,like

    数据说明如下:

    表4 行为数据说明

    字段名称

    字段类型

    字段说明

    字段取值

    user_id

    int

    用户编号

    脱敏

    product_id

    int

    商品编号

    脱敏

    time

    string

    行为时间

    -

    model_id

    string

    模块编号

    脱敏

    type

    string

    • 浏览view(指浏览商品详情页)
    • 加入购物车add
    • 购物车删除delete
    • 下单buy
    • 关注like

    -

数据湖准备

在本示例中,选择数据湖探索(DLI)服务作为数据底座。为确保DataArts Studio与DLI网络互通,在创建DLI队列时区域和企业项目应与DataArts Studio实例保持一致。

说明:
  • 当前由于DLI的“default”队列默认Spark组件版本较低,可能会出现无法支持建表语句执行的报错,这种情况下建议您选择自建队列运行业务。如需“default”队列支持建表语句执行,可联系DLI服务客服或技术支持人员协助解决。
  • DLI的“default”队列为共享队列,仅用于用户体验,用户间可能会出现抢占资源的情况,不能保证每次都可以得到资源执行相关操作。当遇到执行时间较长或无法执行的情况,建议您在业务低峰期再次重试,或选择自建队列运行业务。

开通DLI服务后,您需要在管理中心创建DLI连接,然后通过数据开发组件新建数据库,再执行SQL来创建OBS外表。操作步骤如下:

  1. 参考访问DataArts Studio实例控制台登录DataArts Studio管理控制台。
  2. DataArts Studio控制台首页,选择对应工作空间的“管理中心”模块,进入管理中心页面。
  3. “数据连接”页面,单击“创建数据连接”按钮。

    图1 数据连接

  4. 创建一个到DLI的连接,数据连接类型选择“数据湖探索(DLI)”,数据连接名称设置为“dli”

    完成设置后,单击“测试”,测试成功后单击“确定”,完成DLI数据连接的创建。

    图2 创建数据连接

  5. DLI连接创建完成后,跳转到数据开发页面。

    图3 跳转到数据开发页面

  6. 参见图4,在DLI连接上右键单击,创建一个数据库用于存放数据表,数据库名称为“BI”

    图4 创建数据库

  7. 创建一个DLI SQL脚本,以通过DLI SQL语句来创建数据表。

    图5 新建脚本

  8. 在新建脚本弹出的SQL编辑器中输入如下SQL语句,并单击“运行”来创建数据表。其中,user、product、comment、action为OBS外表,使用指定OBS路径中的CSV文件来填充数据,用于存放原始数据;top_like_product和top_bad_comment_product为DLI表,用于存放分析结果。

    create table user(
      user_id int,
      age int,
      gender int,
      rank int,
      register_time string
    ) USING csv OPTIONS (path "obs://fast-demo/user_data");
    create table product(
      product_id int,
      a1 int,
      a2 int,
      a3 int,
      category int,
      brand int
    ) USING csv OPTIONS (path "obs://fast-demo/product_data");
    create table comment(
      deadline string,
      product_id int,
      comment_num int,
      has_bad_comment int,
      bad_comment_rate float
    ) USING csv OPTIONS (path "obs://fast-demo/comment_data");
    create table action(
      user_id int,
      product_id int,
      time string,
      model_id string,
      type string
    ) USING csv OPTIONS (path "obs://fast-demo/action_data");
    create table top_like_product(brand int, like_count int);
    create table top_bad_comment_product(product_id int, comment_num int, bad_comment_rate float);
    图6 创建数据表

    关键参数说明:
    • 数据连接:步骤4中创建的DLI数据连接。
    • 数据库:步骤6中创建的数据库。
    • 资源队列:可使用提供的默认资源队列“default”
      说明:
      • 当前由于DLI的“default”队列默认Spark组件版本较低,可能会出现无法支持建表语句执行的报错,这种情况下建议您选择自建队列运行业务。如需“default”队列支持建表语句执行,可联系DLI服务客服或技术支持人员协助解决。
      • DLI的“default”队列为共享队列,仅用于用户体验,用户间可能会出现抢占资源的情况,不能保证每次都可以得到资源执行相关操作。当遇到执行时间较长或无法执行的情况,建议您在业务低峰期再次重试,或选择自建队列运行业务。

  9. 脚本运行成功后,可以通过如下脚本检查数据表是否创建成功。

    SHOW TABLES;
    说明:

    确认数据表创建成功后,该脚本后续无需使用,可直接关闭。

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容