hadoop - 如何根据 S3 中的特定模式修改文件内容

标签 hadoop apache-spark amazon-s3

我有许多 json 文件(下面给出的示例)以压缩格式存在于 S3 文件夹(比如 s3://data/)中,如 foo.json.gz、foo1.json.gz、foo2.json.gz。其中一个类别(例如 1010)被错误分配,需要将所有文件更改为 1020。我们如何进行此更改并使用修改后的内容在 S3 中重新打包这些文件?

foo.json
    {
      "flower": "lilly",
      "animal": "cat",
      "category": "1010"
    }
    {
      "flower": "rose",
      "animal": "dog",
      "category": "1000"
    }
    {
      "flower": "daisy",
      "animal": "cat",
      "category": "1010"
    }

最佳答案

最简单有效的方法是:

  1. 在与存储桶位于同一区域的 EC2 实例中获取所有这些文件,以最大限度地降低成本。(使用 aws cli)
  2. 解压缩 *.gz 文件(使用 gunzip)
  3. 实用更新 json 文件。(使用 php)
  4. 重新压缩文件。
  5. 将文件复制回 S3。(使用 aws cli)

关于hadoop - 如何根据 S3 中的特定模式修改文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38136400/

相关文章:

hadoop - 用于长时间运行和大型批处理的 Apache Ignite

ruby-on-rails - 如何在 ruby​​ on rails 中写入 tmp 文件或将图像对象流式传输到 s3

python - Amazon S3 boto - 如何删除文件夹?

hadoop - Hive 查询结果的 JSON 输出格式

apache-spark - 在 IntelliJ 中调试时无法访问 SparkUI

hadoop - 使用 spark 保存和处理大量小文件

java - 如何从 Java 中的 MIME 类型确定适当的文件扩展名

hadoop - 平衡器在 HDFS 中如何工作?

map - 在没有 Hdfs 的情况下运行 jar 文件 map reduce

mongodb - 如何扩展定制的分析引擎?