概要
- AWS の GlueをMac上で実行するための環境構築を行います
環境情報
- Mac Catalina 10.15.3
- Python2.7.16(Mac 標準)
- JDK(openjdk version "1.8.0_242")
参考
- Classmethodさん https://dev.classmethod.jp/articles/aws-glue-local/
- aws 公式 https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-programming-etl-libraries.html
手順
- AWS Glue Python ライブラリをダウンロード
- Apache Mavenダウンロード
- Apache Sparkダウンロード
1.AWS Glue Python ライブラリをダウンロード
- 任意の場所にライブラリをダウンロードします。
- 今回はデスクトップのlocal_glueディレクトリにダウンロードします
- Glue バージョン 1.0 の場合は、glue-1.0をcheckoutします
- 今回は0.9を使用するため、checkoutは行いません
mkdir ~/Desktop/local_glue/
cd ~/Desktop/local_glue/
git clone https://github.com/awslabs/aws-glue-libs.git
Apatch Mavenのダウンロード
- こちらも
~/Desktop/local_glue/
にダウンロードしておきます。 - wget入れてないので、curlコマンド
curl -OL https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-common/apache-maven-3.6.0-bin.tar.gz
tar -xzvf apache-maven-3.6.0-bin.tar.gz
3.Apache Sparkダウンロード
- こちらも
~/Desktop/local_glue/
にダウンロードしておきます。 - glueバージョン1.0の方はこちら : https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-1.0/spark-2.4.3-bin-hadoop2.8.tgz
curl -OL https://aws-glue-etl-artifacts.s3.amazonaws.com/glue-0.9/spark-2.2.1-bin-hadoop2.7.tgz
tar -xzvf spark-2.2.1-bin-hadoop2.7.tgz
4.PATHの設定
- ~/.bashrcへ以下を設定する
vi ~/.bashrc
↓ 以下を記載
## set glue local
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH=$JAVA_HOME/bin:$PATH
export M2_HOME=$HOME/Desktop/local_glue/apache-maven-3.6.0
export PATH=$M2_HOME/bin:$PATH
export SPARK_HOME=$HOME/Desktop/local_glue/spark-2.2.1-bin-hadoop2.7
source ~/.bashrc
環境構築編はここまでとさせていただきます。次回はGlue実行を記載していきます。
ハマりところ
- Anacondaをダウンロードしていたりすると、Python3系をデフォルトで使用する設定になっているかと思います
- Glueバージョン0.9ではPython2系が動きます
- そのためGlueバージョン0.9をPython3系で動かそうとすると・・・
-
no module found error
で怒られ続けました。。。(Python2を使うようにすると解決)