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

本文涉及的产品
数据传输服务DTS,同步至DuckDB 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月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据存储计算服务:MaxCompute
阿里云MaxCompute是快速、全托管的TB/PB级数据仓库解决方案,提供海量数据存储与计算服务。支持多种计算模型,适用于大规模离线数据分析,具备高安全性、低成本、易用性强等特点,助力企业高效处理大数据。
332 0
|
5月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
426 1
|
7月前
|
缓存 分布式计算 BI
阿里云数据传输服务使用场景
阿里云数据传输服务(DTS)的核心优势在于其支持多种数据传输方式(迁移、同步、订阅),能够满足企业在数据库迁移、灾备、实时数仓构建、业务解耦等场景下的需求。无论是优化用户体验、降低使用成本,还是实现跨账号任务授权,DTS均提供了完整的解决方案
|
6月前
|
算法 Java 大数据
Java 大视界 --Java 大数据在智能医疗远程手术机器人控制与数据传输中的技术支持(215)
本文深入探讨 Java 大数据在智能医疗远程手术机器人控制与数据传输中的关键技术应用,涵盖数据采集、分布式计算、延迟补偿算法、数据压缩与加密传输等内容,并结合多个跨国手术案例,展示 Java 大数据如何赋能远程医疗,实现高精度、低延迟、安全可靠的手术支持,为医疗行业的数字化转型提供坚实技术支撑。
|
8月前
|
存储 缓存 分布式计算
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
217 2
|
8月前
|
人工智能 分布式计算 大数据
构建AI时代的大数据基础设施-MaxCompute多模态数据处理最佳实践
本文介绍了大数据与AI一体化架构的演进及其实现方法,重点探讨了Data+AI开发全生命周期的关键步骤。文章分析了大模型开发中的典型挑战,如数据管理混乱、开发效率低下和运维管理困难,并提出了解决方案。同时,详细描述了MaxCompute在构建AI时代数据基础设施中的作用,包括其强大的计算能力、调度能力和易用性特点。此外,还展示了MaxCompute在多模态数据处理中的应用实践以及具体客户案例,最后提供了体验MaxFrame解决方案的方式。
960 2
|
11月前
|
存储 分布式计算 运维
课时6:阿里云MaxCompute:轻松玩转大数据
阿里云MaxCompute是全新的大数据计算服务,提供快速、完全托管的PB级数据仓库解决方案。它拥有高效的压缩存储技术、强大的计算能力和丰富的用户接口,支持SQL查询、机器学习等高级分析。MaxCompute兼容多种计算模型,开箱即用,具备金融级安全性和灵活的数据授权功能,帮助企业节省成本并提升效率。
357 0
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
人工智能 分布式计算 架构师
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
|
SQL 存储 分布式计算
MaxCompute 入门:大数据处理的第一步
【8月更文第31天】在当今数字化转型的时代,企业和组织每天都在产生大量的数据。有效地管理和分析这些数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个用于处理海量数据的大规模分布式计算服务。它提供了强大的存储能力以及丰富的数据处理功能,让开发者能够快速构建数据仓库、实时报表系统、数据挖掘等应用。本文将介绍 MaxCompute 的基本概念、架构,并演示如何开始使用这一大数据处理平台。
2014 0