Googleのストレージに複数のテキストファイルで構成されたgzipファイルの圧縮ファイルがあります。私は各サブファイルにアクセスし、正規表現のようないくつかの操作を行う必要があります。 私はこのように私のローカルコンピュータで同じことをすることができます。Google Cloud DataflowのCompressedSourceのすべてのエントリにアクセスするにはどうすればよいですか?そして、各サブファイルのByte []を取得します。
pubic static void untarFile(String filepath) throw IOException {
try {
FileInputStream fin = new FileInputStream(filepath);
BufferedInputStream in = new BufferedInputStream(fin);
GzipCompressorInputStream gzIn = new GzipCompressorInputStream(in);
TarArchiveInputStream tarInput = new TarArchiveInputStream(gzIn);
TarArchiveEntry entry = null;
while ((entry = (TarArchiveEntry) tarInput.getNextTarEntry()) != null) {
byte[] fileContent = new byte (int)entry.getSize() ];
tarInput.read(fileContent, 0, fileContent.length);
}
}
}
したがって、私はfileContentに対してバイト[]である他の操作を行うことができます。だから私はCompressedSource Googleの雲のデータフローとそのtest codeを参照してください。私は唯一のファイルからすべてのバイトby []サブファイルの、私はグーグルでこれを行うための任意のソリューションがあるのだろうかと思いますクラウドデータフロー。