开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

如何在dataworks里面的--archives ARCHIVES使用解压缩?

如何在dataworks里面的--archives ARCHIVES使用解压缩?或者如何导航到zip文件里面去?

展开
收起
真的很搞笑 2023-11-13 11:13:00 91 0
2 条回答
写回答
取消 提交回答
  • 在DataWorks中,您可以通过以下步骤将压缩文件(例如.zip)作为资源上传并使用:

    1. 首先,登录DataWorks控制台。
    2. 在左侧导航栏中,单击工作空间列表,选择您要操作的工作空间。
    3. 进入数据集成页面后,选择“资源”>“新建资源”。
    4. 在新建资源的对话框中,选择资源类型为“Archive”,并将本地的.zip文件上传至DataWorks。
    5. 上传完成后,您可以在资源列表中找到该.zip文件。
    6. 若要在MaxCompute中使用该.zip文件中的内容,您可以创建一个新的Python节点,并在节点配置中引用该.zip资源。例如:##@resource_reference {"your_zip_file.zip"}
    7. 最后,编写相应的Python代码来解压缩.zip文件或访问其中的内容。
    2023-11-30 17:04:51
    赞同 1 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    DataWorks本身并不支持直接在--archives ARCHIVES参数中进行解压缩操作,它主要是用于将外部文件或脚本添加到Hadoop作业的ClassPath中。

    如果你想在DataWorks中访问zip文件的内容,可以先通过--archives参数将zip文件添加到作业的ClassPath中,然后编写自定义的Java或Shell脚本来完成解压缩和访问文件内容的操作。

    例如,在一个Hadoop Streaming作业中,你可以使用如下命令来添加一个名为myfiles.zip的zip文件:

    hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar \
    -D mapred.reduce.tasks=0 \
    -input input_path \
    -output output_path \
    -mapper 'cat' \
    -file mymapper.py \
    -archive hdfs://namenode:port/myfiles.zip#myfiles
    

    在这个例子中,-archive参数用于将myfiles.zip文件添加到作业的ClassPath中,并将其重命名为myfiles

    然后,在mymapper.py脚本中,你可以使用类似以下的代码来访问zip文件中的内容:

    import zipfile
    import os
    
    def read_archive(input, output):
        with zipfile.ZipFile(os.environ['myfiles'], 'r') as zip_ref:
            zip_ref.extractall('/tmp')
            for root, dirs, files in os.walk('/tmp'):
                for file in files:
                    with open(os.path.join(root, file), 'r') as f:
                        output.collect(f.read().splitlines())
    
    if __name__ == "__main__":
        read_archive()
    
    2023-11-13 14:28:50
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载