はじめに
OSバージョン: Mac OS 10.14.6 (Mojave)
久しぶりにHiveを触る必要があり、簡単に環境を用意する方法を調べてみました。
2017年の記事 Macに10分でHadoop,Hive環境を作る という方法もあるようですが、最近はコンテナが主流なので、OSにNativeには導入せず、Docker上に入れてみることにします。
今回使ったのはこちら。
QuickStarts for CDH 5.13
https://www.cloudera.com/downloads/quickstart_vms/5-13.html
環境構築にかかった時間は15分くらいです。
(サイト登録とダウンロード時間は含まず。HiveコンソールでHiveQLが叩けるようになるまで)
DockerなのでMacOSに限らず、Windowsでも環境構築できます。
事前準備
事前準備として、Docker Desktop for Macを入れておきます。
https://docs.docker.com/docker-for-mac/install/
親切な記事を書いている方もいらっしゃいます。こちらも参考に。
DockerをMacにインストールする
使用したdockerのバージョンはこちらです。
% docker --version
Docker version 19.03.5, build 633a0ea
Dockerは予め起動しておきます。
Dockerイメージのダウンロード
- 上記のサイトにアクセスし、Platformで "Docker Image" を選択して、GET IT NOWをクリックする。
- 必要事項を記入してContineをクリックする。一番上の目的は、今回は "For self-learning"を選択しました。下の方のチェックボックスはチェックせず。
- ライセンス条項を確認し、チェックボックスにチェックしてSubmitをクリックする。
- ダウンロードが自動的に開始される。開始されなかったら Click Here をクリックすればOK。
4.7GBくらいあるので、しばらく待つ。
ダウンロードしたファイルのファイル名は、cloudera-quickstart-vm-5.13.0-0-beta-docker.tar.gz。
導入と起動
導入手順の詳細は、こちらに載っています。
https://docs.cloudera.com/documentation/enterprise/5-13-x/topics/quickstart_docker_container.html
- Mac OS標準の解凍ツールでtar.gzを解凍(単純にFinder上でダブルクリック)すると、tarファイルができる。Windowsの場合は、7-zipを使うと良いとのこと。
% ls
cloudera-quickstart-vm-5.13.0-0-beta-docker.tar
2.docker importする。これには7分位かかりました。
% docker import cloudera-quickstart-vm-5.13.0-0-beta-docker.tar
3.docker imagesで、イメージIDを確認
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> d28a1384e74e 13 minutes ago 7GB
4.docker runでイメージを起動する。
"d28a1384e74e"は上記のイメージID。-dをつけてバックグラウンドで動かしました。
% docker run --hostname=quickstart.cloudera --privileged=true -t -i -p 8888 -d d28a1384e74e /usr/bin/docker-quickstart
5.docker psで起動状態とコンテナIDを確認する。
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e320a15be1d9 d28a1384e74e "/usr/bin/docker-qui…" 2 minutes ago Up 2 minutes 0.0.0.0:32768->8888/tcp nifty_almeida
起動には数分かかりました。
ログインしてHiveコンソールに入る
1.docker attachでコンソールに入る。
"e320a15be1d9"はコンテナIDで、先程docker psで調べたもの。
% docker attach e320a15be1d9
[root@quickstart /]#
ちなみに元のMacOSに戻るには、Ctrl+p, Ctrl+qを押せばよい。
[root@quickstart /]# <= Ctrl+p, Ctrl+qを押す
read escape sequence
%
2.Hiveコンソールを立ち上げる。QuickStartにはHiveも入っており、コンテナ起動時に起動もしているので、hiveと打つだけ。
[root@quickstart /]# hive
Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j.properties
WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive>
数年前は環境構築でここまでたどり着くのに色々苦労した記憶があります。。。Docker様、素晴らしいです。
ここから先は、CSVファイルを作り、hdfsにputして入れて、Externalテーブルを作って、上記のHiveコンソール上でクエリーをガシガシ打って行きます。
以上です。