文档首页 > > 快速入门> 步骤1:准备工作

步骤1:准备工作

分享
更新时间:2020/05/30 GMT+08:00

使用DAYU前的准备

如果您是第一次使用DAYU,请参考准备工作,完成注册华为云账号、购买DAYU实例、创建工作空间、创建IAM用户并授予DAYU权限、添加工作空间成员和角色等一系列操作。然后找到对应的工作空间,即可开始数据开发与运营。

本入门示例,为了演示DAYU数据运营的全流程,在添加工作空间成员和角色时,需要添加2位成员,添加一位成员并将其设置为开发者角色,另外再添加一位成员,将其设置为管理员角色。

使用开发者角色即可开始数据开发和运营,但是DAYU的很多流程需要审核人审批,开发者不具备添加审核人的权限,只有管理员才具备添加审核人的权限。

示例场景说明

本入门指南以某市出租车出行数据为例,统计某出租车供应商2017年度的总收入。我们将创建一个源数据表用于存储原始数据,创建一个汇总表用于存储统计结果。

本示例提供了以下CSV格式的出租车出行样例数据,您可以创建一个CSV文件(UTF-8无bom格式),将以下样例数据拷贝到CSV文件中,然后保存CSV文件。

2,02/14/2017 04:08:11 PM,02/14/2017 04:21:53 PM,1,0.91,1,N,237,163,2,9.5,1,0.5,0,0,0.3,11.3
2,02/14/2017 04:08:11 PM,02/14/2017 04:19:29 PM,2,1.03,1,N,237,229,1,8.5,1,0.5,2.06,0,0.3,12.36
1,02/14/2017 04:08:12 PM,02/14/2017 04:19:44 PM,1,1.6,1,N,186,163,2,9,1,0.5,0,0,0.3,10.8
1,02/14/2017 04:08:12 PM,02/14/2017 04:19:15 PM,1,1.2,1,N,48,48,2,8.5,1,0.5,0,0,0.3,10.3
2,02/14/2017 04:08:12 PM,02/14/2017 04:13:38 PM,5,0.61,1,N,161,162,1,5.5,1,0.5,2.19,0,0.3,9.49
2,02/14/2017 04:08:12 PM,02/14/2017 05:35:11 PM,1,19.31,2,N,152,132,1,52,4.5,0.5,12.57,5.54,0.3,75.41
1,02/14/2017 04:08:13 PM,02/14/2017 04:20:53 PM,1,1.9,1,N,236,143,1,10.5,1,0.5,1.85,0,0.3,14.15
2,02/14/2017 04:08:13 PM,02/14/2017 04:15:54 PM,1,0.61,1,N,48,164,1,6.5,1,0.5,1.66,0,0.3,9.96
2,02/14/2017 04:08:13 PM,02/14/2017 04:41:40 PM,1,6.04,1,N,244,262,1,25,1,0.5,6.7,0,0.3,33.5
2,02/14/2017 04:08:13 PM,02/14/2017 04:17:31 PM,1,1.39,1,N,170,234,1,8,1,0.5,1,0,0.3,10.8
2,02/14/2017 04:08:14 PM,02/14/2017 04:54:11 PM,2,10.12,1,N,140,189,1,37.5,1,0.5,7,0,0.3,46.3
2,02/14/2017 04:08:14 PM,02/14/2017 04:13:56 PM,1,0.71,1,N,179,7,2,5.5,1,0.5,0,0,0.3,7.3
2,02/14/2017 04:08:14 PM,02/14/2017 05:04:24 PM,1,18.1,2,N,263,132,1,52,4.5,0.5,15.71,5.54,0.3,78.55
2,02/14/2017 04:08:14 PM,02/14/2017 04:08:47 PM,1,0.02,1,N,231,231,2,2.5,1,0.5,0,0,0.3,4.3
2,02/14/2017 04:08:15 PM,02/14/2017 04:18:13 PM,1,1.34,1,N,100,162,1,8,1,0.5,1.2,0,0.3,11
1,02/14/2017 04:08:16 PM,02/14/2017 04:19:01 PM,1,1.8,1,N,239,151,1,9,1,0.5,2.15,0,0.3,12.95
2,02/14/2017 04:08:16 PM,02/14/2017 04:15:57 PM,1,1.06,1,N,68,170,1,6.5,1,0.5,1,0,0.3,9.3
2,02/14/2017 04:08:16 PM,02/14/2017 04:20:08 PM,2,1.5,1,N,161,142,1,9,1,0.5,2.16,0,0.3,12.96
2,02/14/2017 04:08:16 PM,02/14/2017 04:11:56 PM,1,0.62,1,N,87,88,2,4.5,1,0.5,0,0,0.3,6.3
2,02/14/2017 04:08:16 PM,02/14/2017 04:13:20 PM,1,0.88,1,N,262,236,2,5.5,1,0.5,0,0,0.3,7.3

以上出租车出行数据的数据格式如下所示:

表1 行程数据表字段

序号

字段名称

字段描述

1

VendorID

供应商编号

取值如下:

1=A Company

2=B Company

2

tpep_pickup_datetime

上车时间

3

tpep_dropoff_datetime

下车时间

4

passenger_count

乘客人数

5

trip_distance

行驶距离

6

ratecodeid

费率代码

取值如下:

1=Standard rate

2=JFK

3=Newark

4=Nassau or Westchester

5=Negotiated fare

6=Group ride

7

store_fwd_flag

存储转发标识

8

PULocationID

上车地点

9

DOLocationID

下车地点

10

payment_type

付款方式代码

取值如下:

1=Credit card

2=Cash

3=No charge

4=Dispute

5=Unknown

6=Voided trip

11

fare_amount

车费

12

extra

加收

13

mta_tax

MTA税

14

tip_amount

手续费

15

tolls_amount

通行费

16

improvement_surcharge

改善附加费

17

total_amount

总车费

准备数据源(源端)

在实际业务中,源端数据源大多为云下的MySQL、PostgreSQL、SQLServer、Oracle等类型,您需要作如下准备:

  • 云上DAYU批量数据迁移集群绑定EIP地址(即弹性公网IP)。
  • 源端数据源所在的主机可以访问Internet。
  • 获取源端数据源的公网连接地址、数据库端口、数据库账户(具有读写权限)及密码。
  • 源端数据源所在的主机,防火墙规则出方向允许数据库端口流出,入方向允许DAYU批量数据迁移集群绑定的EIP访问。

如果源端数据源为云上服务,则您需要确保该云服务与DAYU实例在相同的区域、可用区、虚拟私有云和子网,并且安全组规则允许该云服务与DAYU实例网络互通。

为方便演示,本示例提供了CSV格式的样例数据,如示例场景说明所示,用于模拟原始数据的数据源。为了方便将源数据集成到云上,我们需要先将样例数据存储为CSV文件,将CSV文件上传至OBS服务中,然后再使用DAYU批量数据迁移将数据迁移到其他云服务中。

  1. 创建一个CSV文件(UTF-8无bom格式),文件名称为“2017_Yellow_Taxi_Trip_Data.csv”,将示例场景说明中的样例数据拷贝粘贴到CSV文件中,然后保存CSV文件。

    以下是Windows下生成.csv文件的办法之一:

    1. 使用文本编辑工具(例如Notepad++)新建一个文档,将示例场景说明中的样例数据拷贝进文档中。注意拷贝后检查下数据的行数及数据分行的正确性。
    2. 选择格式 > 以UTF-8无BOM格式编码
    3. 选择文件 > 另存为
    4. 在弹出的对话框中输入文件名后,单击保存

      出于标识的目的,输入文件名的时候,建议将文件后缀设为.csv。

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

    1. 登录控制台,在左上角单击“服务列表”按钮,选择存储 > 对象存储服务 OBS,进入OBS控制台。
    2. 在页面右上角单击“创建桶”,然后根据页面提示配置参数,创建一个名称为“dayu-demo-obs”的OBS桶。

      其中,区域请选择和DAYU实例相同的区域。

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

    3. 上传数据到名称为“dayu-demo-obs”的OBS桶中。

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

准备数据湖(目的端)

为了使用DAYU平台实现数据治理和数据运营的目的,我们首先需要将源数据集成到可作为数据湖的云服务中。使用DAYU数据集成,您可以将数据迁移到多种云服务中,您可以根据业务场景和数据源类型选择合适的云服务作为数据湖。

  1. 选择数据湖。关于如何选择,请参见选择数据湖

    在本示例中,我们选择数据湖探索(DLI)服务作为数据湖。

  2. 创建数据库。

    在使用DAYU数据集成将数据迁移上云之前,我们需要在目的端(DLI服务)创建目标数据库。在本示例中,创建一个名称为“transport”的数据库,在DLI服务中创建数据库的操作,请参见创建数据库

    注意,DLI服务和DAYU实例必须在相同的区域和可用区。

  3. (可选)创建表。

    由于本示例的数据源源端为本地CSV文件,而非数据库,在使用DAYU数据集成将数据迁移上云之前,需要在目的端(DLI服务)先创建好目标表,用于存储原始数据。

    如果源端数据源为MySQL、PostgreSQL等数据库类型,则无需在目的端预先创建目标表,因为在使用DAYU数据集成进行数据迁移时会自动创建。

    您可以参见创建数据库和表在DLI中创建表。由于本示例表字段个数较多,在完成DLI数据库的创建后,建议使用SQL语句创建表。编写如下SQL语句,在transport数据库中,创建一个源数据表,用于存储原始数据,再创建一个脏数据表,用于存储一些无效数据、错误数据或者不符合标准和规范的数据。

    DROP TABLE IF EXISTS `taxi_trip_data_temp`;
    DROP TABLE IF EXISTS `taxi_trip_data_err`;
    
    CREATE TABLE IF NOT EXISTS taxi_trip_data_temp(
    `VendorID` STRING COMMENT '',
    `tpep_pickup_datetime` TIMESTAMP COMMENT '',
    `tpep_dropoff_datetime` TIMESTAMP COMMENT '',
    `passenger_count` SMALLINT COMMENT '',
    `trip_distance` FLOAT COMMENT '',
    `ratecodeid` STRING COMMENT '',
    `store_fwd_flag` STRING COMMENT '',
    `PULocationID` STRING COMMENT '',
    `DOLocationID` STRING COMMENT '',
    `payment_type` STRING COMMENT '',
    `fare_amount` FLOAT COMMENT '',
    `extra` FLOAT COMMENT '',
    `mta_tax` FLOAT COMMENT '',
    `tip_amount` FLOAT COMMENT '',
    `tolls_amount` FLOAT COMMENT '',
    `improvement_surcharge` FLOAT COMMENT '',
    `total_amount` FLOAT COMMENT ''
    );
    
    
    CREATE TABLE IF NOT EXISTS taxi_trip_data_err(
    `VendorID` STRING COMMENT '',
    `tpep_pickup_datetime` TIMESTAMP COMMENT '',
    `tpep_dropoff_datetime` TIMESTAMP COMMENT '',
    `passenger_count` SMALLINT COMMENT '',
    `trip_distance` FLOAT COMMENT '',
    `ratecodeid` STRING COMMENT '',
    `store_fwd_flag` STRING COMMENT '',
    `PULocationID` STRING COMMENT '',
    `DOLocationID` STRING COMMENT '',
    `payment_type` STRING COMMENT '',
    `fare_amount` FLOAT COMMENT '',
    `extra` FLOAT COMMENT '',
    `mta_tax` FLOAT COMMENT '',
    `tip_amount` FLOAT COMMENT '',
    `tolls_amount` FLOAT COMMENT '',
    `improvement_surcharge` FLOAT COMMENT '',
    `total_amount` FLOAT COMMENT ''
    );

选择数据湖

在使用DAYU前,您需要根据业务场景选择符合需求的云服务或数据仓库作为数据湖,用于存储原始数据和数据治理过程中的数据,并进行数据开发、服务和运营。DAYU集成了丰富的数据引擎,支持对接所有华为云的数据湖与数据库云服务,例如DLI、DWS等,也支持对接企业传统数据库,例如MySQL、PostgreSQL等。

DAYU平台当前支持的数据湖产品主要有以下几种,在本示例中,我们选择数据湖探索(DLI)服务。

表2 数据湖选型

云服务或数据库

产品简介

数据仓库服务(DWS)

DWS是基于Shared-nothing分布式架构,具备MPP大规模并行处理引擎,兼容标准ANSI SQL 99和SQL 2003,同时兼容PostgreSQL/Oracle数据库生态,为各行业PB级海量大数据分析提供有竞争力的解决方案。

数据湖探索(DLI)

DLI是完全兼容Apache Spark和Apache Flink生态,实现批流一体的Serverless大数据计算分析服务。DLI支持多模引擎,企业仅需使用SQL或程序就可轻松完成异构数据源的批处理、流处理、内存计算、机器学习等,挖掘和探索数据价值。

MapReduce服务(MRS HBase)

HBase是一个开源的、面向列(Column-Oriented)、适合存储海量非结构化数据或半结构化数据的、具备高可靠性、高性能、可灵活扩展伸缩的、支持实时数据读写的分布式存储系统。

使用MRS HBase可实现海量数据存储,并实现毫秒级数据查询。

MapReduce服务(MRS Hive)

Hive是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive定义了简单的类 SQL 查询语言,称为HiveQL,它允许熟悉SQL的用户查询数据。

使用MRS Hive可实现TB/PB级的数据分析,快速将线下Hadoop大数据平台(CDH、HDP等)迁移上云,业务迁移 “0”中断,业务代码 “0”改动。

MySQL

MySQL是目前最受欢迎的开源数据库之一,其性能卓越,架构成熟稳定,支持流行应用程序,适用于多领域多行业,支持各种WEB应用,成本低,中小企业首选。

SparkSQL

Spark是一个开源的,并行数据处理框架,能够帮助用户简单的开发快速、统一的大数据应用,对数据进行协处理、流式处理、交互式分析等等。

Spark提供了一个快速的计算、写入以及交互式查询的框架。相比于Hadoop,Spark拥有明显的性能优势。Spark提供类似SQL的Spark SQL语言操作结构化数据。

RDS

RDS是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。DAYU平台目前仅支持RDS中的MySQL和PostgreSQL数据库。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问