LoginSignup
5

More than 5 years have passed since last update.

コンピューターずぶの素人がORACLE PGXを使ってみた②

Last updated at Posted at 2017-07-12

※注意※ SQLのタグをつけていますが、あくまでSQLライクのクエリ言語です

今回行うこと


  • デモの実践

 今回研究を行うにあたって、物は試し!ということでSlide Shareで公開されているデモを再現してみました。

参考:Oracle Labs 発! Parallel Graph Analytics(PGX) - SlideShare

 とりあえず無料で検証・開発を行えるそうなので以下のサイトでPGXシェルサーバーzipとJavaのパッケージをダウンロード(デモスライドではPGXシェルver2.3.1を使用)。Javaは最新のバージョンで大丈夫でした。

PGX Server Download
Java Download

  1. linux用です!!(正直最初はlinuxすらよくわかりませんでした、、)
  2. 今回はAWSのEC2を使用しました。 AWS EC2が何なのか分らない人のために
  3. PGXサーバーの最新バージョン(PGX2.4.1)では有向性、無向性の定義の関係上の問題?で上手く処理できなかった。 バージョン2.5.0で改善されるそうです!https://community.oracle.com/thread/4055609

私の場合は一旦ローカル環境に落としてから、SFTP転送によって、EC2で作った仮想linuxサーバーのpgxディレクトリ(/home/ec2-user/pgx)に移しました。
 

※EC2で作成した仮想サーバー内にpgxディレクトリを作成して、そこにダウンロードしたものをそれぞれ入れたということです。

SFTP転送が何なのかわからない人はこちらを見て下さい要するに安全にローカル環境からリモート環境へファイルを転送するということです。転送するにあたって設定が分からないとなる人がいると思いますが、ホスト名(IP)、ユーザ名(ec2-user, ubuntuなど)、パスワード(設定した人のみ)、ポート(設定にもよるが大抵22)を押さえておけば大丈夫です、きっと。

 その後、各ファイルを展開します。

参照
$ cd $HOME/pgx
$ unzip pgx-2.3.1-server.zip
$ tar xvzf jdk-8u131-linux-x64.tar.gz

※tarコマンドについて:tar コマンド | コマンドの使い方(Linux) | hydroculのメモ

 Javaのバージョンを確認($ java -version)したら、PGXシェルを起動するために環境変数の設定を行います。参考にしたもののファイル名を自分のものに変える程度です。

  • 環境変数設定
$ vim env_pgx
env_pgx
#!/bin/sh
export JAVA_HOME=/home/ec2-user/pgx/jdk1.8.0_131
export PATH=$PATH:/home/ec2-user/pgx/pgx-2.3.1/bin
export PATH=$JAVA_HOME/bin:$PATH

※#!/bin/shについて:シェルスクリプトの1行目に書くおまじないで使える便利オプション集:Qiita

 有効化して、うまくいっているかどうか確認します!

$ . env_pgx
$ echo $PATH

2017-07-12.png

 上のようになっていれば大丈夫です。(多分。)

 なお、このままではサーバーを再起動した場合に有効化がリセットされてしまうらしいので、有効化を維持するために以下の隠しファイルに同様の内容を追加で記述します(重複すみません)。

.bash_profile
export JAVA_HOME=/home/ec2-user/pgx/jdk1.8.0_131
export PATH=$PATH:/home/ec2-user/pgx/pgx-2.3.1/bin
export PATH=$JAVA_HOME/bin:$PATH
  • PGXシェル起動

 それでは起動してみます。

$ pgx

2017-07-12 (1).png

 上手くいけば上の図のようになります。よくわからないけどシェルに入れました!

 なお、シェルを閉じるときは

pgx> :exit

 エラーが発生した時は

pgx> :clear

補足


※今回、EC2インスタンスを動かし続けないようにcrontabというものを用いて自動停止設定をしました。

  • cron設定

日本時間 24:00 = UTC 15:00

$ sudo vi /etc/crontab
0 15 * * * root shutdown -h now
$ sudo service crond restart

cronはcrondが起動していないと実行されないみたいです、難しい、、

参照:cronの設定・実行 | WEBサービス創造記

   cronの設定方法 - Qiita
初心者向けcronの使い方 - Qiita
ぐちゃぐちゃですみませんでした!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5