Cloud Storage コネクタ

Cloud Storage コネクタは、オープンソースの Java ライブラリです。これにより、Cloud Storage 内のデータに対して Apache HadoopApache Spark のジョブを直接実行できます。Hadoop 分散ファイル システム(HDFS)を選択する場合と比べ、Cloud Storage コネクタは多くのメリットをもたらします。

Cloud Storage コネクタのメリット

  • データへの直接アクセス - 最初に HDFS に転送しなくても、Cloud Storage にデータを直接保存したり、アクセスしたりできます。
  • HDFS との互換性 - hdfs:// 接頭辞の代わりに gs:// を使用して、Cloud Storage 内のデータに簡単にアクセスできます。
  • 相互運用性 - Cloud Storage にデータを保存することにより、Spark、Hadoop、Google サービス間でシームレスな相互運用性を実現できます。
  • データ アクセシビリティ - HDFS と異なり、Hadoop クラスタをシャットダウンするときにも Cloud Storage 内のデータにアクセスできます。
  • データの高可用性 - Cloud Storage に保存されているデータの可用性は高く、グローバルに複製してもパフォーマンスが低下しません。
  • ストレージ管理のオーバーヘッドが不要 - HDFS と異なり、Cloud Storage はファイル システムのチェック、ファイル システムのアップグレードや旧バージョンへのロールバックなどの定期的なメンテナンスを必要としません。
  • クイック起動 - HDFS では、NameNode がセーフモードでなくなるまで MapReduce ジョブを起動できません。この処理は、データのサイズや状態によって、数秒から数十分かかることもあります。Cloud Storage を使用することで、タスクノードの開始と同時にジョブを開始することができ、長期的にも大幅なコスト節減につながります。

コネクタの取得

Cloud Dataproc クラスタ

Cloud Dataproc クラスタのすべてのノードにはデフォルトで、/usr/lib/hadoop/lib/ に Cloud Storage コネクタがインストールされます(イメージ バージョン 1.4 以降でのインストール先は /usr/local/share/google/dataproc/lib/ です)。Spark と PySpark の両方の環境で利用できます。

その他の Spark クラスタと Hadoop クラスタ

次の Hadoop 用 Cloud Storage コネクタをダウンロードできます。

  1. Hadoop 1.x 用の Cloud Storage コネクタ
  2. Hadoop 2.x 用の Cloud Storage コネクタ
  3. Hadoop 3.x 用の Cloud Storage コネクタ
コネクタをインストールして構成するには、Cloud Storage コネクタのインストールをご覧ください。

コネクタの使用

Cloud Storage に保存されているデータには、次に示す複数の方法でアクセスできます。

  • Spark(または PySpark)や Hadoop アプリケーションで gs:// 接頭辞を使用する。
  • Hadoop シェルで hadoop fs -ls gs://CONFIGBUCKET/dir/file を実行する。
  • GCP Console Cloud Storage ブラウザを使用する。
  • gsutil cp または gsutil rsync コマンドを使用する

リソース

Java のバージョン

Cloud Storage コネクタには Java 8 が必要です。

Apache Maven 依存関係についての情報

<dependency>
    <groupId>com.google.cloud.bigdataoss</groupId>
    <artifactId>gcs-connector</artifactId>
    <version>insert "hadoopX-X.X.X" connector version number here</version>
    <scope>provided</scope>
</dependency>

詳しくは、Cloud Storage コネクタのリリースノートJavadoc リファレンスをご覧ください。

次のステップ