【实验】阿里云大数据助理工程师认证(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的记录为错误数据没有被装载上

目录
相关文章
|
8天前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
29 1
|
2月前
|
Oracle 关系型数据库 数据库
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
110 1
阿里云数据库 ACP 问题之阿里云数据库ACP认证与ACA认证有什么区别
|
2月前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
2月前
|
人工智能 分布式计算 架构师
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
|
2月前
|
机器学习/深度学习 搜索推荐 算法
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决
飞天大数据平台产品问题之AIRec在阿里巴巴飞天大数据平台中的功能如何解决
|
2月前
|
存储 机器学习/深度学习 数据采集
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
|
2月前
|
SQL 存储 分布式计算
MaxCompute 入门:大数据处理的第一步
【8月更文第31天】在当今数字化转型的时代,企业和组织每天都在产生大量的数据。有效地管理和分析这些数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个用于处理海量数据的大规模分布式计算服务。它提供了强大的存储能力以及丰富的数据处理功能,让开发者能够快速构建数据仓库、实时报表系统、数据挖掘等应用。本文将介绍 MaxCompute 的基本概念、架构,并演示如何开始使用这一大数据处理平台。
374 0
|
3月前
|
分布式计算 安全 大数据
HAS插件式Kerberos认证框架:构建安全可靠的大数据生态系统
在教育和科研领域,研究人员需要共享大量数据以促进合作。HAS框架可以提供一个安全的数据共享平台,确保数据的安全性和合规性。
|
2月前
|
SQL 分布式计算 大数据
"大数据计算难题揭秘:MaxCompute中hash join内存超限,究竟该如何破解?"
【8月更文挑战第20天】在大数据处理领域,阿里云的MaxCompute以高效稳定著称,但复杂的hash join操作常导致内存超限。本文通过一个实例解析此问题:数据分析师小王需对两个共计300GB的大表进行join,却遭遇内存不足。经分析发现,单个mapper任务内存默认为2GB,不足以支持大型hash表的构建。为此,提出三种解决方案:1) 提升mapper任务内存;2) 利用map join优化小表连接;3) 实施分而治之策略,将大表分割后逐一处理再合并结果。这些方法有助于提升大数据处理效率及稳定性。
60 0
|
2月前
|
SQL 分布式计算 大数据
"揭秘MaxCompute大数据秘术:如何用切片技术在数据海洋中精准打捞?"
【8月更文挑战第20天】在大数据领域,MaxCompute(曾名ODPS)作为阿里集团自主研发的服务,提供强大、可靠且易用的大数据处理平台。数据切片是其提升处理效率的关键技术之一,它通过将数据集分割为小块来优化处理流程。使用MaxCompute进行切片可显著提高查询性能、支持并行处理、简化数据管理并增强灵活性。例如,可通过SQL按时间或其他维度对数据进行切片。此外,MaxCompute还支持高级切片技术如分区表和分桶表等,进一步加速数据处理速度。掌握这些技术有助于高效应对大数据挑战。
86 0