开发者社区 问答 正文

E-MapReduceOSS 参考使用说明是什么?



OSS URI


在使用 E-MapReduce 时,用户将会使用两种 OSS URI,分别是:


  • native URI: oss://[accessKeyId:accessKeySecret@]bucket[.endpoint]/object/path
    用户在作业中指定输入输出数据源时使用这种 URI,可以类比 hdfs://。用户操作 OSS 数据时,可以将 accessKeyId,accessKeySecret 以及 endpoint 配置到 Configuration 中,也可以在 URI 中直接指定 accessKeyId,accessKeySecret 以及 endpoint。

  • ref URI: ossref://bucket/object/path
    只在 E-MapReduce 作业配置时有效,用来指定作业运行需要的资源。例如以下作业配置示例:

    我们把 oss 与 ossref 这样的前缀称为 scheme。在使用过程中,需要特别注意 URI 中 scheme 的不同。


注意事项


在支持向 OSS 写数据时,E-MapReduce 使用 OSS 的 multipart 分片上传方式。这里需要提醒的是,当作业异常中断后,OSS 中会残留作业已经生产的部分数据,需要您手动删掉。这里的行为和作业输出到 HDFS 是一致的,作业异常中断后,HDFS 也会残留数据,也需要手动删掉。但有一个区别,OSS 对使用 multipart 上传的文件,它是先放在碎片管理中,所以您不仅要删除 OSS 文件管理中的输出目录残留文件,还需要在 OSS 的碎片管理中清理一次,否则会产生数据存储费用。

展开
收起
nicenelly 2017-10-27 15:57:28 1695 分享 版权
阿里云 AI 助理回答

在阿里云的E-MapReduce服务中,OSS(Object Storage Service)URI扮演着关键角色,用于指定数据存储位置,确保作业能够正确地读取输入数据和写入输出结果。您提到的两种OSS URI格式各有其特定用途:

  1. Native URI: 形如 oss://[accessKeyId:accessKeySecret@]bucket[.endpoint]/object/path 的格式,主要用于作业中直接指定输入输出数据源。这种格式允许用户通过URI直接嵌入访问OSS所需的凭证信息(accessKeyId和accessKeySecret)以及指定的endpoint,类似于HDFS的路径表示方式。如果这些凭证信息未在URI中给出,那么需要预先配置到E-MapReduce作业的Configuration中。

  2. Ref URI: 以 ossref://bucket/object/path 形式出现,专门用于在配置E-MapReduce作业时引用必要的资源文件,比如作业执行需要的配置文件或依赖库等。与native URI相比,ref URI不包含访问密钥信息,通常这些资源的访问权限已经在系统层面配置好,或者使用的是对所有作业公开可访问的资源。

注意事项中强调了几个重要点: - Multipart Upload: E-MapReduce向OSS写数据时采用的分片上传策略,可以提高大文件上传的稳定性和效率。但当作业异常中断时,已上传的分片会留在OSS中,形成残留数据。 - 手动清理: 如果作业意外终止,用户需手动删除OSS中的残留文件,这包括直接在文件管理界面可见的文件以及隐藏在碎片管理中的未完成上传分片。如果不清理,这些残留的分片会占用存储空间并产生费用。 - 与HDFS对比: 虽然HDFS在作业中断后也会有类似的数据残留问题,但OSS的清理步骤更为复杂,因为涉及到分片管理的特殊性。

因此,在使用E-MapReduce处理数据时,合理规划作业流程、监控作业状态,并及时进行清理操作是十分重要的,以避免不必要的成本支出和保证数据的一致性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答