MaxCompute_2_MaxCompute数据迁移文档

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 乍一看标题会以为是不是作者写错了怎么会有从MaxCompute到MaxCompute迁移数据的场景呢在实际使用中已经有客户遇到了这种场景比如两个网络互通的专有云环境之间数据迁移、公共云数加DataIDE上两个云账号之间数据迁移、还有网络不通的两个MaxCompute项目数据迁移等等下面我们逐个场景介绍。

免费开通大数据服务:https://www.aliyun.com/product/odps

    乍一看标题会以为是不是作者写错了,怎么会有从MaxCompute到MaxCompute迁移数据的场景呢?在实际使用中已经有客户遇到了这种场景,比如:两个网络互通的专有云环境之间数据迁移、公共云数加DataIDE上两个云账号之间数据迁移、还有网络不通的两个MaxCompute项目数据迁移等等,下面我们逐个场景介绍。

场景一:两个网络互通的专有云MaxCompute环境之间数据迁移

    这种场景需要先从源MaxCompute中导出元数据DDL,在目标MaxCompute中初始化表,然后借助DataX工具完成数据迁移,步骤如下:

1.   安装配置ODPS客户端

https://help.aliyun.com/document_detail/27804.html

2.   安装配置Datax客户端

下载DataX工具包,下载后解压至本地某个目录,修改权限为755,进入bin目录,即可运行样例同步作业:


$ tar zxvf datax.tar.gz 
$ sudo chmod -R 755 {YOUR_DATAX_HOME} 
$ cd  {YOUR_DATAX_HOME}/bin 
$ python datax.py ../job/job.json

3.   表结构迁移

3.1 从ODPS中导出某个表的建表语句,可用来测试数据同步。

export table table_name;


DDL:create table IF NOT EXISTS ` date_timestame ` (`id` datetime comment "") partitioned by(pt string comment "");
alter table ` date_timestame ` add IF NOT EXISTS partition(dt='20161001');
alter table ` date_timestame ` add IF NOT EXISTS partition(dt='20161101');
alter table ` date_timestame ` add IF NOT EXISTS partition(dt='20161201');
alter table ` date_timestame ` add IF NOT EXISTS partition(dt='20170101');


3.2 从ODPS批量导出建表语句。

export <projectname> <local_path>;

3.3 将建表语句在目标ODPS的project下执行,即可完成表结构创建。

4.   数据迁移

    从源ODPS读取数据写入到目标ODPS,先按照“表结构迁移”在目标ODPS创建一个表,做DataX数据同步验证。

4.1 、创建作业的配置文件(json格式)

    可以通过命令查看配置模板: python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

odps2odps.json样例(填写相关参数,odpsServer/ tunnelServer要改成源/目标ODPS配置):


{
    "job": {
        "setting": {
            "speed": {
                "channel": 1
            }
        },
        "content": [
            {
                "reader": {
                    "name": "odpsreader",
                    "parameter": {
                        "accessId": "${srcAccessId}",
                        "accessKey": "${srcAccessKey}",
                        "project": "${srcProject}",
                        "table": "${srcTable}",
                        "partition": ["pt=${srcPartition}"],
                        "column": [
                            "*"
                        ],
                        "odpsServer": "http://service.odpsstg.aliyun-inc.com/stgnew",
                        "tunnelServer": "http://tunnel.odpsstg.aliyun-inc.com"
                    }
                },
                "writer": {
                    "name": "odpswriter",
                    "parameter": {
                        "accessId": "${dstAccessId}",
                        "accessKey": "${dstAccessKey}",
                        "project": "${dstProject}",
                        "table": "${dstTable}",
                        "partition": "pt",
                        "column": [
                            "*"
                        ],
                        "odpsServer": "http://service.odpsstg.aliyun-inc.com/stgnew",
                        "tunnelServer": "http://tunnel.odpsstg.aliyun-inc.com"
                    }
                }
            }
        ]
    }
}


4.2 、启动DataX

$ cd {YOUR_DATAX_DIR_BIN} $ python datax.py ./odps2odps.json

同步结束,显示日志如下:

 

4.3 、批量迁移

根据导出的表结构批量生成DataX同步脚本,我会协助完成。


场景二:公共云数加DataIDE上两个云账号之间数据迁移

   这个场景比较容易理解,比如一个公司很可能会申请多个云账号,假如每个云账号都开通了MaxCompute,很可能就会碰到两个云账号的MaxCompute之间数据迁移。公共云上都借助于DataIDE使用MaxCompute,而DataIDE上面本身提供了数据同步任务,我们通过配置数据同步任务即可很容易的完成数据迁移。执行步骤如下:

1、在其中一个MaxCompute项目空间项目管理中添加数据源,该数据源为另一个云账号的MaxCompute项目空间。

3de190ba6f0e34c86a33f73243711c6af43fcfd7

2、在DataIDE数据开发中新建“数据同步”任务,如果目标数据源中表还不存在,可以点击“快速建ODPS表”,配置字段映射等。

6d474e58ba32283508d1c5172a6acee452a29a2c

3、保存之后点击“测试运行”即可。


场景三:网络不通的两个MaxCompute环境数据迁移

   这种场景做数据同步局限性比较大,由于网络不通,数据迁移必须要在中间落盘后再写入,所以当数据量比较大时要考虑磁盘容量、带宽等问题。步骤如下:

1、首先也是要先将源MaxCompute项目空间的DDL导出并在目标项目空间创建表,操作同场景一。

export <projectname> <local_path>;

2、安装配置ODPS客户端,操作同场景一。

3、通过ODPS CLT中的tunnel命令实现数据的导出。命令参考:

e6276916c6da1fc92ded4b94f8eb3ef06ff299c2

Example:

tunnel download test_project.test_table log.txt

4、通过ODPS CLT中的tunnel命令实现数据的导入。命令参考:

cbe8a0feb44681e5c0e2e31f7abc3ce067e57c86

Example:

tunnel upload log.txt test_project.test_table


相关数据同步及分析文章:

【大数据干货】数据进入阿里云数加-大数据计算服务MaxCompute(原ODPS)的N种方式

云数据,大计算—海量日志数据分析与应用

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
6月前
|
分布式计算 关系型数据库 数据库连接
MaxCompute数据问题之数据迁移如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
|
6月前
|
机器学习/深度学习 SQL 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute如果要把A的数据迁移到B,操作步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4月前
|
分布式计算 DataWorks 调度
MaxCompute产品使用合集之如何将数据迁移到CDH Hive
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之官方的调优文档在哪里看
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
分布式计算 DataWorks 大数据
MaxCompute操作报错合集之在使用 MaxCompute 的 MMA(Multi-Modal Analytics)进行跨 Region 数据迁移时,在配置数据源时遇到错误,如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
6月前
|
SQL 分布式计算 大数据
大数据技术之集群数据迁移
大数据技术之集群数据迁移
93 0
|
6月前
|
分布式计算 资源调度 大数据
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day30】——Spark数据调优(文末附完整文档)
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day30】——Spark数据调优(文末附完整文档)
105 0
|
6月前
|
NoSQL 大数据 分布式数据库
【云计算与大数据技术】分布式数据库NoSQL中KV、列式、图、文档数据库的讲解(图文解释 超详细)
【云计算与大数据技术】分布式数据库NoSQL中KV、列式、图、文档数据库的讲解(图文解释 超详细)
205 0
|
存储 自然语言处理 搜索推荐
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的文档操作的分词
搜索引擎Elasticsearch是一种流行的大数据存储和分析工具,它可以通过API来进行数据索引、查询和分析等操作。在本文中,我们将会介绍Elasticsearch的文档操作之一:分词。
87 1
|
SQL 数据采集 分布式计算
大数据数据采集的数据迁移(同步/传输)的Sqoop之基本命令和使用的导入/导出数据
在大数据领域,数据迁移(同步/传输)也是非常重要的一环。Sqoop作为一个开源的数据迁移工具,可以帮助我们轻松地实现关系型数据库与Hadoop之间的数据迁移。本文将会对Sqoop的基本命令和使用进行详细介绍。
385 1

相关产品

  • 云原生大数据计算服务 MaxCompute