JindoTable SDK模式提供archiveTable和unarchiveTable命令,可以在不依赖Jindo Namespace Service的情况下进行归档和解冻等操作。本文为您介绍archiveTable和unarchiveTable命令的使用方法。
前提条件
- 已创建集群,详情请参见创建集群。
- 待归档的数据必须是表数据(可以是分区表或非分区表),且已经位于阿里云对象存储OSS。
背景信息
JindoTable原有archive和unarchive命令可以对OSS上的表或分区进行归档或解冻等操作,但archive和unarchive命令依赖SmartData组件Jindo Namespace Service。现在新增的archiveTable和unarchiveTable命令,可以在不依赖Jindo Namespace Service的情况下进行归档和解冻等操作。
新增的archiveTable和unarchiveTable命令与原有archive和unarchive命令的主要区别为:
- 可以在未部署SmartData服务的集群上执行。例如,非EMR的用户自建集群。
- 可以通过传入过滤参数,一次应用于大量分区,多线程执行。如果本地多线程仍不能满足需求,还可以启动MapReduce任务在整个集群上执行。
原有archive和unarchive命令的详细信息,请参见JindoTable使用说明。
使用限制
EMR-3.36.0及后续版本或EMR-5.2.0及后续版本的集群,支持新增的archiveTable和unarchiveTable命令。
archiveTable命令
archiveTable命令可以对OSS上的表或分区进行归档。
unarchiveTable命令
unarchiveTable命令与archiveTable命令格式基本一致,但效果相反。unarchiveTable命令可以对OSS上的表或分区进行解冻。
unarchiveTable命令与archiveTable命令参数只有以下两处区别:
- 没有必选参数 -i/-a/-ca,而被可选参数-i/-a/-o/-cr替代。
- 多了可选参数-notWait。
参数 | 描述 | 是否必选参数 |
---|---|---|
-i/-a/-o/-cr | 转换存储类型,均适用于冷归档。
|
否 |
-notWait | 只对解冻(Restore)操作有效,如果指定该参数,则只发送解冻命令,而不等待解冻任务完成。通常用于冷归档 (Cold Archive) 文件的解冻。 | 否 |