IntelliJ IDEAのBigDataToolでS3とGCSのオブジェクトを操作してみる

2021.05.31

はじめに

データアナリティクス事業本部のkobayashiです。

IDEとしてJetBrainsのIntellijを愛用しています。前回AWS Toolkit for JetBrains を使ってS3のオブジェクト操作を試してみたのですが、他にも便利なプラグインはないかと探していたところJetBrainsが公式で出しているプラグインであるBig Data Tools がありこちらも使い勝手が良かったのでまとめます。

Big Data Toolsとは

Big Data ToolsはJetBrainsが公式に出しているJetBrainsのIDEで動くプラグインで、Zeppelin、 S3、GooglCloudStorage、Spark、Hadoop分散ファイルシステム(HDFS)のデータを監視・処理するためのプラグインになります。

With this plugin, you can conveniently work with Zeppelin notebooks, monitor Spark and Hadoop applications, and preview AWS S3, Google Cloud Storage, Minio, Linode, Digital Open Space, Microsoft Azure, and Hadoop Distributed File System files right from IntelliJ-based IDEs including IntelliJ IDEA Ultimate, PyCharm Professional, and DataGrip.

公式ドキュメントにそれぞれのサービスの使い方が詳しく書かれていますのでそちらをご確認ください。

Big Data Toolsのインストール

AWS Toolkit for JetBrainsと同じくインストールと言ってもプラグインを追加するだけですので何も難しくありません。

手順1) Preferences > Plugins でBig Data toolsを選択してInstallを押下してインストールする

手順2)Intellijの右部にBig Data Toolsのタブが表示されるのでそのタブを押下する

これでBig Data Toolsプラグインのウィンドウが表示されます。まだ何も接続先の登録を行っていないためConnectionには何もない状態になります。

今回はBig Data ToolsでS3とGCSのファイルを表示したいので2つのコネクションを作成します。

コネクションの作成

Amazon S3のコネクション作成

はじめにS3のコネクションを作成します。

手順1)Big Data Toolsプラグインのウィンドウ上部の+ボタンを押下すると新しく作成するコネクションを選択できるのでS3を選択する

手順2)S3の接続情報を入力するダイアログが開くので必要情報を入力する

  • Bucket : 接続したいバケット名
  • Authentication Type :
    • Access key : 適切なアカウントのアクセスキー
    • Secret key : 適切なアカウントのシークレットキー

これでS3へのコネクションが作成できるのでBig Data Toolsプラグインのウィンドウに戻るとバケット配下のオブジェクトが表示されます。

Google Cloud Storageのコネクション作成

次にGCSのコネクションを作成します。 GCSの接続には適切なロールをアタッチしたサービスアカウントとそのシークレットキーが必要ですので予め作成しておきます。

手順1)Big Data Toolsプラグインのウィンドウ上部の+ボタンを押下すると新しく作成するコネクションを選択できるのでGSを選択する

手順2)GSの接続情報を入力するダイアログが開くので必要情報を入力する

  • Bucket : 接続したいバケット名
  • Google app credentials : サービスアカウントのシークレットキーファイルのファイルパス

これでGCSへのコネクションが作成できるのでBig Data Toolsプラグインのウィンドウに戻るとバケット配下のオブジェクトが表示されます。

S3、GCSでのオブジェクト操作

コネクションを作成すれば後は以下の基本的なオブジェクト操作が行なえます。

  • コピー・ペースト・カット
  • 名前変更
  • 移動
  • 削除
  • ダウンロード・アップロード

AWS Toolkit for JetBrainsと違うのはShow Versionがない点とD&Dでファイルのアップロードが行えない点です。

データファイルの確認

Big Data Toolsの場合、その名前の通りデータファイルの取り回しで良い点があります。 対象のファイルがcsvparquetですと、ファイルの列構造が表示されるのとファイルの内容がテーブルに展開されて表示されます。 この機能はやはりBig Data Toolsという名前の通りビッグデータを取り扱うためのツールという位置付けなのだと思います。

まとめ

JetBrains社が作成したBig Data Toolsを使ってS3、GCSのファイルを操作してみました。IDE内でS3を扱うだけならAWS Toolkit for JetBrainsを使い、他のビッグデータサービスを使うならBig Data Toolsを使うように切り分けていきたいと思います。

Big Data ToolsではZeppelin NotebookやSparkなども扱えるので機会があれば試してみたいと思います。

最後まで読んで頂いてありがとうございました。