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

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
云原生大数据计算服务 MaxCompute,5000CU*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的记录为错误数据没有被装载上

目录
相关文章
|
7月前
|
大数据 Linux 网络安全
大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)
大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)
189 0
|
分布式计算 Hadoop 大数据
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
218 0
|
分布式计算 Hadoop 大数据
【大数据开发技术】实验04-HDFS文件创建与写入
【大数据开发技术】实验04-HDFS文件创建与写入
352 0
|
4月前
|
Oracle 关系型数据库 数据库
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
173 1
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
|
5月前
|
分布式计算 安全 大数据
HAS插件式Kerberos认证框架:构建安全可靠的大数据生态系统
在教育和科研领域,研究人员需要共享大量数据以促进合作。HAS框架可以提供一个安全的数据共享平台,确保数据的安全性和合规性。
|
4月前
|
SQL 开发框架 大数据
【数据挖掘】顺丰科技2022年秋招大数据挖掘与分析工程师笔试题
顺丰科技2022年秋招大数据挖掘与分析工程师笔试题解析,涵盖了多领域选择题和编程题,包括动态规划、数据库封锁协议、概率论、SQL、排序算法等知识点。
96 0
|
7月前
|
分布式计算 监控 大数据
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
112 1
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
|
7月前
|
SQL 分布式计算 算法
程序员必备的面试技巧——大数据工程师面试必备技能
程序员必备的面试技巧——大数据工程师面试必备技能
120 0
|
7月前
|
存储 弹性计算 数据库
阿里云云计算工程师ACA认证(Alibaba Cloud Certified Associate - Cloud Computing)考试大纲
介绍阿里云云计算工程师ACA认证(Alibaba Cloud Certified Associate - Cloud Computing)所需具备的知识及学习方法等。
1529 1
|
7月前
|
Java 数据库连接 数据库
Java大数据开发工程师__Spring学习笔记(待更新)
Java大数据开发工程师__Spring学习笔记(待更新)
56 1