我正在尝试使用 Hadoop Streaming 来运行两个命令,gunzip | map_to_old_format.py
例如美好的)。
由于我不知道如何即时在 Python 中进行 gunzip,因此我想创建一个 shell 脚本来为我执行此命令组合(例如gunzip_and_map_to_old.sh
)。我尝试了以下方法,但 gzip 不喜欢(gzip 抱怨“gzip:stdin:不是 gzip 格式”):
#!/bin/bash
while read data; do
echo $data | gunzip | map_to_old_format.py $2
done
关于 python gunzip,我尝试了这里f = gzip.GzipFile("", "rb", fileobj=sys.stdin)
描述的 Wrapper 方法。