【实验】阿里云大数据助理工程师认证(ACA)- ACA认证配套实验-06-MaxCompute 数据传输(上)

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【实验】阿里云大数据助理工程师认证(ACA)- ACA认证配套实验-06-MaxCompute 数据传输

一、实验概述


大数据计算服务(MaxCompute,原名 ODPS)是一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案。MaxCompute 向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。


本实验结合实际数据和案例,深入浅出的演示了如何使用MaxCompute的内置数据传输功能,详细介绍tunnel数据传输命令及通过tunnel JAVA SDK 定制开发数据传输服务功能。


二、实验目标


本实验通过控制台Data IDE和客户端两种方式进行实验,掌握不同的数据传输操作命令,以及相关注意事项。


完成此实验后,可以掌握的能力有:


;  1. tunnel 数据传输命令的基本操作;
  2. tunnel JAVA SDK 定制开发数据传输服务;


三、学习建议


1. 掌握MaxCompute的内置的数据传输功能以及相关命令的基础操作;
  2. 提前安装 ODPS客户端(下载客户端软件)


第 1 章:实验准备


1.1 申请MaxCompute资源


在弹出的左侧栏中,点击 创建资源 按钮,开始创建实验资源。

资源创建过程需要1-3分钟。完成实验资源的创建后,用户可以通过 实验资源 查看实验中所需的资源信息,例如:阿里云账号等。


1.2 准备测试账号


该实验需要和其他同学配合完成,请找到一个可以和你互相配合的同学,下文中会提到A用户、B用户,其中A用户即为你本人使用的阿里云的账号,B用户为和你配合的同学的阿里云账号;


实验中两个账户均使用的是阿里云主账号(或者具有项目admin权限的用户),可在两台电脑中登录,亦或使用同一台电脑里两个不同的浏览器打开,或一个使用浏览器打开,另一个使用odpscmd客户端;


为方便区别相关的账号操作,下述实验过程中A账号的操作记录均采用的命令行的方式进行操作截图,账号B的操作记录均使用页面浏览器的操作截图;


实验中的配置文件、文件路径、账号、项目名称、授权表等,均需根据具体的项目进行修改。


1.3 资源环境准备


1)请点击页面左侧的实验资源,在左侧栏中,查看本次实验资源信息。如图案例:


20200711132725780.png

2)点击“实验资源”,查看所需具体资源,如图案例:

3)在弹出的左侧栏中,点击 创建资源 按钮,开始创建实验资源。


  注意:由于实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建

4)创建资源,如图案例:(创建资源需要几分钟时间,请耐心等候……)资源创建成功,如图案例:(注意资源中的项目名称、子用户名称、子用户密码、AK ID、AK Secret信息)


1.4 进入实验环境


1、登录控制台


1)点击“前往控制台”

注意:此实验界面为使用者提供了进入实验的用户名称,如 u-bcofvgpr 以及登录密码,请先记录下来,密码需要鼠标点击直接拷贝下来,以及使用其他工具的 AK ID 以及 AK Secret 秘钥对 ,项目名称等信息。将AK ID 和 AK Secret配置在安装的客户端的配置文件中。

2)输入用户名

3)点击下一步,输入密码:(刚才实验环境创建时所提供)

4)进入控制台界面

5) 点击 “大数据(数加)”进入大数据开发控制台

6) 点击”大数据开发套件”进入工作区界面

7)点击“进入工作区”,进入工作环境(首次进入显示每个菜单的帮助信息)

8) 点击“跳过”或逐个菜单看看,最终显示

9)点击“新建脚本”设置实验临时文件

20200711132906327.png



10)设置文件名称、类型(选择ODPS SQL)、描述信息(建议非必须)、文件保存目录信息,点击“提交”进入SQL操作环境

2020071113292510.png


2、配置客户端


1)如果为提前安装客户端,请参考下面网址进行安装:

https://help.aliyun.com/document_detail/27971.html?spm=5176.doc27834.6.730.xbOX5m


20200711132945240.png



3)解压安装

4)配置客户端文件,在XXX(个人目录)\odpscmd_public\conf\,打开文件 odps_config.ini,修改配置信息;即将上述实验资源中提供的AK ID 以及 AK Secret 和项目名称分别填写在上述配置文件中,其他信息不变,如图:

5) 检查测试即通过命令行,进入\ODPS_DEMO\odpscmd_public\bin\,执行 odpscmd,进入交互界面,确认安装是否配置成功。案例如图:

执行后进入如下界面:(测试案例项目为bigdata_train)

6) 通过创建一个数据表测试:

        ------输入语句创建表dual 
        create table dual (X string);
        ------数据表中插入一条记录并检查
         insert into table dual select count(*) from dual;

20200711133040103.png

------检查插入结果


select * from dual;


1.5 安装配置最新odpscmd 客户端


步骤1:客户端介质下载 (参考地址)


https://help.aliyun.com/document_detail/27971.html?spm=5176.doc27833.2.1.b6nngs

步骤2:解压odpscmd_public.zip 到本目录,如:解压至本地目录 E:\ ODPS_DEMO \odpscmd_public


步骤3:查看本次实验课用到的介质,可以看到如下的文件夹:

步骤4:在conf文件夹中有odps_config.ini文件。编辑此文件,填写相关信息:

project_name=<自己的项目名称>
access_id=<自己的项目生成的访问ID , www.aliyun.com网站上申请到的access_id>
access_key=<自己的项目生成的访问ID的密钥信息,即 www.aliyun.com网站上申请access_key>
end_point=http://service.odps.aliyun.com/api (tunnel JAVA SDK 需要)
tunnel_endpoint=http://dt.odps.aliyun.com (tunnel JAVA SDK 需要)
log_view_host=http://logview.odps.aliyun.com (默认)    
https_check=true  (默认)

注意: [在申请资源部分可获取实验所需的项目名称、所需的access_id(AK ID) 、access_key(AK Secre)等信息 ] 如下图开通资源后所示:步骤5:修改好配置文件后运行bin目录下的odpscmd(在Linux系统下是./bin/odpscmd,Windows下运行./bin/odpscmd.bat),现在可以运行 MaxCompute 命令,如:

注意:项目可以随时根据情况切换,上图表示环境设置成功.


将 E:\ODPS_DEMO\odpscmd_public\bin 加入环境变量 PATH,方便通过命令行调用 odpscmd

20200711133153236.png


1.5 下载配套实验材料


(1) 下载本实验所用到的介质包:

下载附件,将ODPS_DEMO.zip解压至本地目录 E:\ODPS_DEMO,解压密码为:aca21104

(2) 查看本次实验课用到的介质:

 dir E:\ODPS_DEMO\Resources\02-DataTransfer     (注意里面包含建表脚本文件和实验数据文件)

至少应该包含以下文件:


20200711134040777.png

(3) 检查系统是否安装了Java运行环境(1.6及以上版本):

(4) 检查是否安装了eclipse,建议使用 luna-sr2 版本;


说明:目前高版本的Eclipse Neon有可能会导致插件加载失败,请使用Eclipse Luna版本。(下载地址:http://www.eclipse.org/downloads/packages/release/luna/sr2

(5) 使用实验账号,登录阿里云官网,检查账号下的可用资源:


应至少包括 大数据计算 服务;


如无项目,请新建一个项目用于本次实验,本实验中使用项目名称为 IDE;


检查可用 AccessKeyID 和 AccessKeySecret,并记录一对用于后续实验;


第 2 章:tunnel 数据传输命令基本操作


2.1 tunnel upload 目标为单表


注意本节实验首先保证表t_tunnel 必须已经创建完成,如果没有,请参考如下语句创建:

 drop table if exists t_tunnel; 
 create table t_tunnel (id int, name string);

(1) 使用 upload 子命令,上传文件 people.csv 到表 t_tunnel 中:


tunnel upload E:\ODPS_DEMO\resources\02-DataTransfer\people.csv t_tunnel;


20200711134147805.png

(2) 检查上传结果:


read t_tunnel;


(3) 再上传一遍,验证一下tunnel 上传数据的方式是 append 还是 overwrite:


tunnel upload E:\ODPS_DEMO\resources\02-DataTransfer\people.csv t_tunnel;
read t_tunnel;

上述结果表明tunnel upload操作为append操作不是overwrite操作


2.2 tunnel upload 目标为分区表


本节实验首先保证表t_tunnel_p存在,若不存在,请参考下面语句处理(或直接重新创建表t_tunnel_p):

                     drop table if exists t_tunnel_p;
                     create table t_tunnel_p (id int, name string) partitioned by (gender string);

(1) 创建表 t_tunnel_p 的分区 gender='male’中:


alter table t_tunnel_p add if not exists partition (gender='male');


(2) 使用 upload 子命令,上传文件 men.csv 以及 women.csv 到表 t_tunnel_p 的已存在的分区 gender='male’中

tunnel upload E:\ODPS_DEMO\resources\02-DataTransfer\women.csv t_tunnel_p/gender='male';
tunnel upload E:\ODPS_DEMO\resources\02-DataTransfer\men.csv t_tunnel_p/gender='male';

(3) 检查表 t_tunnel_p 中的内容,体会一下分区内容和标称值的逻辑关系:


read t_tunnel_p;


向同一个分区装载不同文件时,两个文件的内容append到一起了


2.3 tunnel upload 源文件为目录


本节实验首先保证表t_tunnel存在,否则参照下面操作新建表t_tunnel ;


drop table if exists t_tunnel;
create table t_tunnel (id int, name string);


(1) 将目录E:\ODPS_DEMO\resources\02-DataTransfer\famous_people\ 下的所有文件都上传到 t_tunnel 中去:

truncate table t_tunnel;
tunnel upload E:\ODPS_DEMO\resources\02-DataTransfer\famous_people\  t_tunnel;

(2) 检查上传结果:


read t_tunnel;


2.4 tunnel upload 容忍错误记录

注意表t_tunnel已经存在,否则,可单独创建:

drop table if exists t_tunnel;
create table t_tunnel (id int, name string);

(1) 将文件E:\ODPS_DEMO\resources\02-DataTransfer\people_bad.csv上传至t_tunnel:

truncate table t_tunnel;
tunnel upload E:\ODPS_DEMO\resources\02-DataTransfer\people_bad.csv t_tunnel;
read t_tunnel;


默认情况下,不允许有错误数据,如果有则抛出错误,数据装载失败

(2) 指定容忍错误的参数 -dbr 为 true:

truncate table t_tunnel;
tunnel upload E:\ODPS_DEMO\resources\02-DataTransfer\people_bad.csv t_tunnel -dbr true;
read t_tunnel;

指定容易错误的参数 -dbr 为ture 后,错误的数据不会被装载,正确的数据会被装载,如上图,记录ID为10的记录为错误数据没有被装载上

目录
相关文章
|
9月前
|
弹性计算 关系型数据库 MySQL
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
330 0
|
6月前
|
Oracle 关系型数据库 数据库
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
228 1
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
|
9月前
|
监控 关系型数据库 MySQL
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
数据传输DTS腾讯云上的mysql同步到阿里云上的mysql可以操作吗?
391 0
|
9月前
|
NoSQL 关系型数据库 数据库
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
【2月更文挑战第29天】数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
120 5
|
9月前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之数据传输完成后发现了脏数据字段如何解决
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
9月前
|
关系型数据库 MySQL 数据库
使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
【2月更文挑战第29天】使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
368 2
|
9月前
|
存储 弹性计算 监控
【数据传输服务用户测评】阿里云DTS和MongoShake的性能对比
本文聚焦DTS MongoDB->MongoDB 和 MongoShake 数据同步的性能,分别针对副本集/分片集群架构、单表/多表、全量/增量同步进行性能的对比。
86363 9
|
9月前
|
存储 弹性计算 数据库
阿里云云计算工程师ACA认证(Alibaba Cloud Certified Associate - Cloud Computing)考试大纲
介绍阿里云云计算工程师ACA认证(Alibaba Cloud Certified Associate - Cloud Computing)所需具备的知识及学习方法等。
1688 1
|
弹性计算 网络协议 Linux
阿里云转发路由器TR和云数据传输CDT的功能和性能评测
本次评测的目的是测试阿里云的转发路由器TR和云数据传输CDT的功能和性能,以及它们在实现跨地域跨VPC的网络互通方面的优势和局限。
|
传感器 监控 物联网
阿里云IoT HaaS 510:快速实现物联网数据传输的利器
众所周知,物联网(IoT)是近年来日益热门的技术领域之一,它的广泛应用为人们的生活和工作带来了无限可能。在物联网应用中,数据的采集和传输是至关重要的一环。DTU是一种应用于物联网数据传输的终端设备,它可以将各类传感器、数据采集单元等通过串口RS232/485传输到DTU,再由DTU转发到4G网络上传至云端。阿里云IoT HaaS 510是一款开板式DTU产品,能够帮助企业快速搭建物联网平台,并实现数据的采集和传输,那么本文就来简单分享一下。
513 1
阿里云IoT HaaS 510:快速实现物联网数据传输的利器