
88
5 章 データのロードとセーブ
プロジェクトをビルドする際には、必ず Protocol Buffers ライブラリのバージョンを Spark と揃
えてください。本書の執筆時点で使われているのは、バージョン 2.5 です。
5.2.7
フイルの
ビッグデータを扱う際には、ストレージの領域を節約したり、ネットワークのオーバーヘッドを
削減するために、圧縮されたデータを使わなければならないことがよくあります。
Hadoop
のほと
んどの出力フォーマットでは、データを圧縮するためのコーデックを指定できます。すでに見てき
た通り、
Spark
のネイティブの入力フォーマット群(
textFile
および
sequenceFile
)は、いくつ
かの種類の圧縮を自動的に処理してくれます。圧縮されたデータを読む場合、圧縮の種類を自動的
に推測するために使われる圧縮コーデックがいくつか用意されているのです。
これらの圧縮は、圧縮をサポートしている
Hadoop
のフォーマット群、中でもファイルシステ
ムへ書き出されるものでのみ利用可能です。概して、データベースの
Hadoop
フォーマット群に
は圧縮のサポートは実装されておらず、圧縮されたレコードがあったとしても、それはデータベー
ス側で設定されたものです。
出力の圧縮コーデックの選択は、そのデータの将来のユーザーに大きな影響を及ぼします。
Spark
のような分散システムでは、通常の場合は複数のマシンからデータが読まれることになりま
す。そのためには、各ワーカーは新しいレコードの開始地点を見つけることができなければなりま ...