Hadoop Streaming を使用して などの 2 つのコマンドを実行しようとしていますgunzip | map_to_old_format.py
が、gzip で "|.gz not found" というエラーが発生するか、これらの行に沿って何かが発生します (Hadoop を介して実行した場合のみ.. コマンド ラインで実行すると動作します)。大丈夫)。
Python でその場で gunzip する方法がわからないので、このコマンドを組み合わせて実行するシェル スクリプトを 1 つ作成したいと思います (例: gunzip_and_map_to_old.sh
)。私はこれを次のように試しましたが、gzip は気に入りませんでした (gzip は「gzip: stdin: not in gzip format」と文句を言います):
#!/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 メソッドと同様に試しました。