Hive を使用する
    • PDF

    Hive を使用する

    • PDF

    Article Summary

    VPC環境で利用できます。

    Data Forestは、ユーザー別に独立したApache HiveServer2(以下HS2)サービス環境を構築できるようにサポートします。Hive Metastoreが必要であり、Data Forestで提供するHive Metastoreを使用します。Hiveは、データ保存システムに保存された大量のデータを分析して処理するSQLベースのデータウェアハウス(Data Warehouse)ソリューションです。

    参考
    • HIVESERVER2-LDAPアプリはLDAP方式でHS2にアクセスするユーザーを認証します。Kerberos認証はサポートしません。
    • HS2アプリには、アプリを起動したユーザーとクラスタオペレーター以外の他のユーザーはログインできません。ログインが必要であれば、HS2アプリのオーナーが他のユーザーにログイン権限を付与できます。

    HIVESERVER2-LDAPアプリの詳細情報の確認

    アプリの作成が完了すると詳細情報を確認できます。アプリの詳細情報のStatusStableであれば、アプリが正常に起動されたことを意味します。
    アプリの詳細情報を確認する方法は以下のとおりです。

    1. NAVERクラウドプラットフォームコンソールで、Services > Big Data & Analytics > Data Forest > Appメニューを順にクリックします。
    2. アプリを所有するアカウントを選択します。
    3. 詳細情報を確認するアプリをクリックします。
    4. アプリの詳細情報を確認します。
      df-hive_2-1_ja
      • Quick links
        • AppMaster:コンテナログを確認できるURL。アプリを作成するとすべてのアプリはYARNキューに提出され、YARNは各アプリの詳細情報を確認できるウェブUIを提供。
        • supervisor-hs2-auth-ldap-0:HS2を管理できるSupervisor URL
        • shell-hs2-auth-ldap-0:HS2ウェブシェルURL
        • webui-hs2-auth-ldap-0:HS2ウェブUIにアクセスできるURL
          • home:実行中のセッションや最近実行されたHiveクエリなどを確認できる
          • configuration:HS2のconfigurationをXML形式で確認できる
          • Metrics Dump:リアルタイムJMXマトリックスをJSON形式で確認できる
          • Stack Trace:有効になっているすべてのスレッドのstack traceを確認できる
          • LLAP Daemon:Hive LLAPデーモンの状態を確認できる
          • local logs:ログを確認できる。オペレーターのみアクセスできる。
      • Connection String:HS2アプリにアクセスできるURL
        • JDBC connection string(inside-of-cluster) Example:Beeline、Zeppelin、HUE、ユーザー定義プログラムでJDBCに接続する際に使用されるConnection String。このアドレスはData Forestの内部ネットワークからHS2にアクセスする際に使用。
        • JDBC connection string:Data Forestの外部ネットワークからHS2にアクセスする際に使用するアドレス。ユーザーのPCではJDBC connection string(inside-of-cluster) にはアクセスできない。内部・外部の区分が困難な場合、JDBC connection stringを使用できる。
        • JDBC connection string(inside-of-cluster):Exampleリンクを使用する前に、passwordパラメータのchangemeをユーザーアカウントのパスワードに変更して使用
        • JDBC connection string Example:Exampleリンクを使用する前に、passwordパラメータのchangemeをユーザーアカウントのパスワードに変更して使用
      • コンポーネント:デフォルト値が推奨リソースです。HIVESERVER2-LDAP-3.1.0タイプはhs2-auth-ldapコンポーネント1つで構成されます。
        • hs2-auth-ldap:ユーザーにLDAP方式の認証を処理するためのコンポーネント

    <例>
    HS2のアクセス画面は以下のとおりです。
    df_hiveserver_vpc_ko

    BeelineでHiveServer2アプリにアクセス

    beeline -u {JDBC connection string} -n {username} -p {password}コマンドでHS2にアクセスする方法は以下のとおりです。

    # Kerberos認証
    $ curl -s -L -u test01:$PASSWORD -o df.test01.keytab "https://sso.kr.df.naverncp.com/gateway/koya-auth-basic/webhdfs/v1/user/test01/df.test01.keytab?op=OPEN"
    $ ls -al
    total 20
    drwxr-s--- 4 test01 hadoop  138 Dec 16 17:57 .
    drwxr-s--- 4 test01 hadoop   74 Dec 16 17:44 ..
    -rw-r--r-- 1 test01 hadoop  231 Dec 16 17:36 .bashrc
    -rw------- 1 test01 hadoop  302 Dec 16 17:36 container_tokens
    -rw-r--r-- 1 test01 hadoop  245 Dec 16 17:57 df_beta.test01.keytab
    lrwxrwxrwx 1 test01 hadoop  101 Dec 16 17:36 gotty -> /data1/hadoop/yarn/local/usercache/test01/appcache/application_1607671243914_0024/filecache/10/gotty
    -rwx------ 1 test01 hadoop 6634 Dec 16 17:36 launch_container.sh
    drwxr-S--- 3 test01 hadoop   19 Dec 16 17:53 .pki
    drwxr-s--- 2 test01 hadoop    6 Dec 16 17:36 tmp
    $ kinit example -kt df.example.keytab 
    
    # HiveServerにアクセス
    $ beeline -u "jdbc:hive2://hs2-auth-ldap.new-hiveserver2.example.kr.df.naverncp.com:10001/;transportMode=http;httpPath=cliservice" -n test01 -p '{password}'
    

    正常にアクセスすると以下のように出力されます。

    Connected to: Apache Hive (version 3.1.0.3.1.0.0-78)
    Driver: Hive JDBC (version 3.1.0.3.1.0.0-78) 
    Transaction isolation: TRANSACTION_REPEATABLE_READ
    

    ZeppelinでHiveを使用する

    1. Zepplinにアクセスして画面右上のアカウント名をクリックし、Interpreterメニューをクリックします。
      df-hive_12_vpc_ko

    2. JDBCインタープリターを検索します。
      df-quick-start_zeppelin03_ko

    3. JDBC connection string Exampleを参考にしてhive url Properitesに以下のように設定を追加します。
      df-hive_011_vpc_ko(1)

      参考

      アカウントの作成時に設定したパスワードに特殊文字が含まれる場合、urlエンコードで置換してから入力してください。

    コンテナでシェルにアクセス

    ユーザーはHS2アプリコンテナでウェブブラウザを通じてシェル/bin/bashにアクセスできます。シェルにアクセスするとコンテナの状況を簡単に確認できます。また、シェルの中で設定ファイルを変更したり、ファイルをダウンロードしたりするといった書き込みジョブを行えます。

    1. Quick Linksリストでshell-hs2-auth-ldap-0にアクセスします。
    2. シェルにアクセスするためにログインします。
      • ユーザー名:HS2アプリを実行したユーザーのアカウント名を入力
      • パスワード:アカウントのパスワードを入力
    注意
    • HS2コンテナが起動されたデバイスの障害などによりHS2コンテナが他のノードで再起動される場合、書き込み内容は消失します。書き込み内容は永続的に保持されるものではないため、シェルは読み取り専用のみで使用してください。
    • セキュリティのために、HS2アプリを起動したアプリのオーナーアカウントとクラスタオペレーターのみシェルにアクセスできるように制限されています。例えば、ユーザー「foo」が起動したHS2アプリのシェルにユーザー「bar」はログインできません。

    Hive使用時の注意事項

    Hiveルール

    共用HS2とは違い、SHOW DATABASES;コマンドで他のユーザーのすべてのデータベースリストを表示できます。ただし、許可なしに他のユーザーのデータベースにはアクセスできません。
    HS2アプリの使用時は、共用Hiveを使用するガイドを必ず熟知してルールを守ってください。

    データベース名の制限

    Hiveのデータベース名の制限と同じルールを使用します。HS2アプリでは、ルールに反する名前でもCREATE DATABASEコマンドは失敗しません。HS2アプリでは、システム上データベースの名前ルールを強制的に適用することができません。データベースの作成時にルールに反しないようご注意ください。データベース名のルールに反する場合、HS2アプリで作成したデータベースは共用HS2では照会されません。

    参考

    共用HS2では、ルールに反する名前の場合にはエラーが発生します。そのため、データベースの作成はHS2アプリではなく共用HS2で行うことをお勧めします。


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.