马逊s3云存储接口_Amazon Redshift数据迁移阿里云MaxCompute技术方案

6af1fd288d57af20704e33a38bc63f8b.png

1 方案概述

本文将介绍如何通过公网环境迁移Amazon Redshift数据到阿里云MaxCompute服务当中。 本方案的总体迁移流程如下: f24380c514005ca3d24e79c06b5006f3.png 第一, 将Amazon Redshift 中的数据导出到Amazon S3存储上; 第二, 借助阿里云在线迁移服务(Data Online Migration)从AWS S3将数据迁移到阿里云OSS上; 第三, 将数据从阿里云OSS加载到同Region的MaxCompute项目中,并进行校验数据完整性。

2 前提条件

准备Redshift的集群环境及数据环境; 使用已有的Redshift集群或创建新的Redshift集群: 4695e14f49636b5f9861ee25953f6c6b.png 在Redshift集群中准备好需要迁移的数据,本方案中在public schema中准备了TPC-H数据集进行方案介绍: a9b2de51b58f974c6b2c8c48588a6bd1.png 准备MaxCompute的项目环境; 在阿里云Region创建MaxCompute项目,这里以新加坡Region为例,创建了作为迁移目标的MaxCompute项目: 2c24e476396fd52b265914ca05cdd392.png

3 Redshift导出数据到S3

3.1 Unload简介

3.1.1 命令介绍

AWS Redshift支持Role-based access control和Key-based access control两种认证方式实现Redshift UNLOAD命令写入数据到S3。 基于IAM Role的UNLOAD命令:
unload ('select * from venue')to 's3://mybucket/tickit/unload/venue_'iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
基于access_key的UNLOAD命令:
 
unload ('select * from venue')to 's3://mybucket/tickit/venue_'access_key_id ''secret_access_key ''session_token '';
本方案选择使用IAM Role方式进行数据导出。

3.1.2 默认格式导出

unload默认导出数据的格式为 | 符合分隔的文本文件,命令如下:unload ('select * from customer')to 's3://xxx-bucket/unload_from_redshift/customer/customer_'iam_role 'arn:aws:iam::xxx:role/redshift_s3_role';
执行成功后,在S3对应的bucket目录下可以查到文件文件: 6ded42c967ffece1d396ff0df630039e.png 文件样例如下: bb8b187c5ef5428ec6b9cf21ee0528c8.png

3.1.3 Parquet格式导出

Unload同时支持以Parquet格式导出到S3,便于其他分析引擎直接进行读取消费:
unload ('select * from customer')to 's3://xxx-bucket/unload_from_redshift/customer_parquet/customer_'FORMAT AS PARQUETiam_role 'arn:aws:iam::xxxx:role/redshift_s3_role';
执行成功后,s3对应bucket目录下生成了parquet格式的文件。 dbb874555b64d9024f1599065d785fc8.png 得益于Parquet文件的数据压缩特性,可以看到Parquet文件比文本文件大小更小,本方案选择Parquet格式作为数据导出和跨云迁移的数据格式。

3.2 创建可以读写S3的IAM 角色

3.2.1 新建Redshift use case的IAM角色

进入 https://console.aws.amazon.com/iam/home?region=ap-southeast-1#/roles( 以新加坡Region为例)创建角色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值