EMR上的Hive输出是一个名为000000_0的文件(如果有超过1个减速器,则可能是不同的数字)。
如何以不同方式命名此文件?我看到两个选择:
1)让Hive以不同的方式编写
2)写入后重命名S3中的文件。这可能是一个问题:从我读过的内容中,S3并没有真正的“重命名”。您必须复制它,并删除原始文件。例如,在处理大小为1TB的文件时,这可能会导致性能问题或增加使用成本?
答案 0 :(得分:2)
AWS Command Line Interface (CLI)有一个方便的mv
命令可以添加到脚本中:
aws s3 mv s3://my-bucket/000000_0 s3://my-bucket/data1
或者,您可以通过Amazon S3 COPY
API call以编程方式执行此操作。