阅读702 返回首页    go 阿里云 go 技术社区[云栖]


2017杭州·云栖大会---大数据workshop:《云数据·大计算:海量日志数据分析与应用》之《数据采集:日志数据上传》篇

大数据workshop:《云数据·大计算:海量日志数据分析与应用》之《数据采集:日志数据上传》篇

实验背景介绍

了解更多2017杭州·云栖大会 TechInsight & Workshop.

本手册为云栖大会Workshop《云计算·大数据:海量日志数据分析与应用》的《数据采集:日志数据上传》篇而准备。主要为保障各位学员在workshop当天能够顺畅进行动手实操,那么本节为学员掌握阿里云数据采集的操作和使用。

实验涉及大数据产品

实验环境准备

必备条件:首先需要确保自己有阿里云云账号并已实名认证。详细点击:

开通大数据计算服务MaxCompute

若已经开通和购买了MaxCompute,请忽略次步骤直接进入创建Data IDE项目空间。

  • step1:进入阿里云官网并点击右上角登录阿里云账号。 登录
  • step2:点击进入大数据计算服务产品详情页,点击**立即开通**。 立即开通
  • step3:选择**按量付费**并点击**立即购买**。 购买

创建Data IDE项目空间

确保阿里云账号处于登录状态。

  • step1:点击进入大数据(数加)管理控制台>大数据开发套件tab页面下。
  • step2:点击**创建项目**,跳出创建项目对话框。 创建项目
  • step3:勾选**付费方式**为I/O后付费,填写**项目名称**及相关信息,点击**确定**,直至返回创建成功状态。 配置项目

项目名需要字母或下划线开头,只能包含字母下划线和数字。
【注意】项目名称全局唯一,建议大家采用自己容易区分的名称来作为本次workshop的项目空间名称。

进入大数据开发套件

确保阿里云账号处于登录状态。

  • step1:点击进入大数据开发套件**项目列表**。

项目列表

  • step2:点击已经创建的项目空间名称,进入大数据开发套件。

点击进入项目

进入大数据开发套件

新建数据源

根据workshop模拟的场景,需要分别创建FTP数据源和RDS数据源。

1.新建FTP数据源
  • step1:点击**数据集成>数据源管理**,继而点击**新增数据源**。

新增数据源

  • step2:选择数据源类型ftp,同时Protocol选择为sftp,其他配置项如下。

配置ftp数据源

FTP数据源配置信息如下:

  • 数据源名称:ftp_workshop_log
  • 数据源描述:ftp日志文件同步
  • 数据源类型:ftp
  • 网络类型:经典网络
  • Protocol:sftp
  • Host:10.80.177.33
  • Port:22
  • 用户名/密码:workshop/workshop
  • step3:点击**测试连通性**,连通性测试通过后,点击**确定**保存配置。

保存ftp数据源

2.新建RDS数据源
  • step1:点击**数据集成>数据源管理**,继而点击**新增数据源**。

新增数据源

  • step2:选择数据源类型为**RDS>mysql**并完成相关配置项。

配置RDS数据源

RDS数据源配置信息如下:

  • 数据源名称:rds_workshop_log
  • 数据源描述:rds日志数据同步
  • 数据源类型:RDS > Mysql
  • RDS实例名称:rm-bp1z69dodhh85z9qa
  • RDS实例购买者ID:1156529087455811
  • 数据库名:workshop
  • 用户名/密码:workshop/workshop#2017
  • step3:点击**测试连通性**,连通性测试通过后,点击**确定**保存配置。

保存RDS数据源

创建目标表

  • step1:点击**数据开发**,进入数据开发首页中点击**新建脚本**。

新建脚本

  • step2:配置文件名称为create_table_ddl,类型选择为ODPS SQL,点击**提交**。

配置脚本

  • step3:编写DDL创建表语句,如下分别创建FTP日志对应目标表和RDS对应目标表.

编写DDL

DDL语句如下:

--创建ftp日志对应目标表
DROP TABLE IF EXISTS ods_raw_log_d;

CREATE TABLE ods_raw_log_d (
    col STRING
)
PARTITIONED BY (
    dt STRING
);

--创建RDS对应目标表
DROP TABLE IF EXISTS ods_user_info_d;

CREATE TABLE ods_user_info_d (
    uid STRING COMMENT '用户ID',
    gender STRING COMMENT '性别',
    age_range STRING COMMENT '年龄段',
    zodiac STRING COMMENT '星座'
)
PARTITIONED BY (
    dt STRING
);
  • step3:点击**运行**,直至日志信息返回成功表示两张目标表创建成功。

运行DDL

  • step4:可以使用desc语法来确认创建表是否成功。

DESC

  • step5:点击**保存**,保存编写的SQL建表语句。

保存DDL

新建工作流任务

  • step1:点击**新建**并选择**新建任务**。
    新建任务

  • step2:选择**工作流任务**,调度类型选择为**周期调度**,其他配置项如下。

配置任务

  • step3:点击创建。

  • step4:进入工作流配置面板,并向面板中拖入一个虚节点(命名为workshop_start)和两个数据同步节点(分别命名为ftp_数据同步和rds_数据同步):
    新建虚拟节点

新建FTP同步

新建RDS同步

  • step5:拖拽连线将workshop_start虚节点设置为两个数据同步节点的上游节点,如下所示:

同步连线

  • step6:点击**保存**(或直接快捷键ctrl+s)。

配置数据同步任务

1)配置ftp_数据同步节点
  • step1:双击**ftp_数据同步**节点,进入节点配置界面。选择来源:并选择数据来源事先配置好的ftp数据源,为ftp_workshop_log,文件路径为/home/workshop/user_log.txt。可以对非压缩文件进行数据预览。

配置同步

同步预览

数据来源配置项具体说明如下:

  • 数据来源:ftp_workshop_ftp
  • 文件路径:/home/workshop/user_log.txt
  • 列分隔符:|
  • step2:选择**目标**。点击**下一步**。

数据流向选择数据源为odps_first,表名为ods_raw_log_d。分区信息和清理规则都采取系统默认,即清理规则为写入前清理已有数据,分区按照${bdp.system.bizdate}。

  • step3:配置字段映射。连接要同步的字段。如下:字段映射

  • step4:在下一步操作中配置**通道控制**,作业速率上限为10MB/s,进入下一步。

通道控制

可在预览保存页面中,预览上述的配置情况,也可以进行修改,确认无误后,点击**保存**。

  • step5:点击**返回**工作流面板。

返回工作流

2)配置rds_数据同步节点
  • step1:双击**rds_数据同步**节点进入配置界面。选择来源:选择数据来源为rds_workshop_log,表名为ods_user_info_d;切分键为使用默认生成列即可。点击数据预览,可以看到表中数据样例。

RDS选择来源

  • step2:进入下一步,选择目标数据源和表名。

RDS选择目标

  • step3:进入下一步,配置字段映射。默认会同名映射,字段映射关系采用默认即可,如下所示:

RDS字段映射

  • step4:进入下一步,配置作业速率上限。

RDS通道控制

  • step5:在预览保存页面中确认配置信息,无误后点击**保存**配置。

RDS预览保存

配置调度、提交工作流任务

  • step1:点击**调度配置**,配置调度参数

调度配置

  • step2:点击**提交**,提交已经配置的工作流任务。

提交工作流任务

  • step3:在**变更节点列表**弹出框中点击**确定提交**。

确定提交任务

提交成功后工作流任务处于只读状态,如下:只读状态

测试运行工作流任务

  • step1:点击**测试运行**。

测试运行

  • step2:在**周期任务运行提醒**弹出框点击**确定**。

周期任务运行提醒

  • step3:在**测试运行**弹出框中,实例名称和业务日期都保持默认,点击**运行**。

测试运行按钮

  • step4:在**工作流任务测试运行**弹出框中,点击**前往运维中心**。

在运维中心可以查看任务视图,如下图表示该工作流任务(名称为workshop_start)正在运行。

运维中心测试

直至所有节点都运行返回成功状态即可(需要点击运维视窗中的刷新按钮查看实时状态)。如下所示:

数据同步测试成功

  • step5:右键**查看节点运行日志**,可以看到成功同步数据条数。

查看同步日志

日志界面

确认数据是否成功导入MaxCompute

  • step1:返回到create_table_ddl脚本文件中。
  • step2:编写并执行sql语句查看导入ods_raw_log_d记录数。

数据预览

  • step3:同样编写并执行sql语句查看导入ods_user_info_d记录数。

附录:SQL语句如下,其中分区键需要更新为业务日期,如测试运行任务的日期为20171011,那么业务日期为20171010.

---查看是否成功写入MaxCompute

select count(*) from ods_raw_log_d where dt=业务日期;

select count(*) from ods_user_info_d where dt=业务日期;

最后更新:2017-09-27 09:33:30

  上一篇:go  Go语言与数据库开发:01-06
  下一篇:go  GTID跳过单个、多个事务的方法