Object Storage + Sub Account の連携
    • PDF

    Object Storage + Sub Account の連携

    • PDF

    Article Summary

    VPC環境で利用できます。

    NAVERクラウドプラットフォームの Cloud Hadoop、Object Storage、Sub Accountを連携して使用する方法をご紹介します。

    Bigdata Service

    • Cloud Hadoop: Hadoop、HBase、Spark、Hive、Prestoなどのオープンソースフレームワークを手軽に構築できます。
      Cloud Hadoopに関する詳細は、Cloud Hadoop の概要ガイドをご参照ください。

    • Object Storage: 安全な保存が必要な場合や大容量データを保存する場合に活用できます。
      提供される APIを用いてサーバデータのバックアップや復旧用途としても活用できます。
      Object Storageに関する詳細は、Object Storage の概要をご参照ください。

    • Sub Account: ユーザーをサブアカウントとして登録し、特定のサービスに対する権限を付与することができます。
      登録された内部ユーザーは、権限を付与されたサービスに対してメインアカウントと同様にサービスを利用できます。
      Sub Accountに関する詳細は、Sub Accountご利用ガイドをご参照ください。

    Hadoop + Object Storage + Sub Account の連携と使用

    Sub Account の作成とポリシーの追加

    ユーザーをサブアカウントとして登録し、特定のサービスに対する権限を付与することができます。登録された内部ユーザーは、権限を付与されたサービスに対してメインアカウントと同様にサービスを利用できます。

    Sub Accountに関する詳細は、Sub Accountご利用ガイドをご参照ください。

    Sub Accountの作成およびポリシーを追加する方法は、次の通りです。

    1. NAVERクラウドプラットフォームコンソールで Sub Accountサービスを作成します。

      • Object Storageにアクセスするには API Keyを使用します。Sub Accounts作成時にアクセスタイプ項目の APIアクセスを選択します。
        cloudhadoop-subaccoun-policy1_ko
    2. Sub Accountsメニューで作成した Sub Accountsのログイン IDをクリックし、[ポリシー] タブで使用ポリシーを追加します。

      • Object Storageの NCP_OBJECT_STORAGE_MANAGERポリシーを追加します。
      • ACGの変更管理のための NCP_VPC_SERVER_MANAGERポリシーを追加します。
      • Cloud Hadoopの NCP_VPC_CLOUD_HADOOP_MANAGERポリシーを追加します。
        cloudhadoop-subaccoun-policy2_ko
    3. [Access Key] タブで Object Storageにアクセスするための API認証キーを [追加] した後、確認します。
      cloudhadoop-subaccoun-policy3_ko

    4. Sub Account > Dashboardサブアカウントのログインページへのアクセスキーを設定します。
      cloudhadoop-subaccoun-key_policy_ko

    5. サブアカウントのログインページの URLにアクセスした後、以下のようにサブアカウントにログインします。

      • サブアカウント IDは、サブアカウントの作成時に設定したログイン IDです。
      • パスワードは、サブアカウントの作成時に設定したログインパスワードです。
        cloudhadoop-subaccoun-policy4_ko
    • このアカウントに設定されたポリシーによって許可されたサービスのみ使用できます。
      hadoop-chadoop-use-ex3_07_ko

    Object Storage バケットの作成

    Object Storageでデータを保存する ncp-bigdataバケットを作成します。作成したバケットは Bucket Managementで確認できます。

    Cloud Hadoop クラスタの作成

    Cloud Hadoopクラスタを作成します。
    Cloud Hadoopクラスタ作成に関する詳細は、Cloud Hadoop を開始するガイドをご参照ください。

    Object Storage にサンプルデータをアップロード

    1. ユースケースのために作成した仮想のデータセットをダウンロードします。

      • ダウンロードしたファイルの圧縮を展開します。
    2. Object Storage > Bucket Managementで ncp-bigdataバケットをクリックし、圧縮を展開したファイルをアップロードします。
      cloudhadoop-objectstorage-buket1_ko

    データの照会

    Ambari、Hue、Zeppelinなど、Web UIでサンプルデータを照会できます。
    Web UIにアクセスする方法は、サービス別 UIアクセスおよびパスワードの設定ガイドをご参照ください。

    1. Cloud Hadoopクラスタの作成が完了すると、Ambari、Hue、Zeppelinにアクセスするためのポートを ACGに追加します。
    2. Hueにアクセス(8081ポート)して Hiveクエリで martデータベースを作成します。
    CREATE DATABASE mart;
    

    hadoop-use-ex-hivequery_ko

    1. 以下のように orders2テーブルを作成します。
    CREATE EXTERNAL TABLE `orders2` (
            `order_id` BIGINT,
            `order_number` BIGINT,
            `days_since_prior_order` DOUBLE
    
    )
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS INPUTFORMAT
    'org.apache.hadoop.mapred.TextInputFormat'
    OUTPUTFORMAT
    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    location 's3a://ncp-bigdata/';
    

    hadoop-use-ex-hivetable_ko

    1. orders2テーブルのデータを照会します。
    SELECT * FROM orders2;
    

    hadoop-use-ex3_4-2_ko

    1. Zeppelin(9996ポート)にアクセスします。

    2. [Notebook] > Create new noteをクリックし、Zeppelin Notebookを新しく作成します。
      hadoop-use-ex3_4-3_ko

    3. Default Interpreterを jdbcに指定し、[Create] ボタンをクリックします。
      hadoop-use-ex3_4-3-interpreter_ko

    4. Hive Metastoreに登録された orders2テーブルを照会します。

    %jdbc(hive)
    SELECT order_number, AVG(days_since_prior_order)
    FROM mart.orders2
    WHERE 1=1
    AND order_number IS NOT NULL
    GROUP BY order_number
    ORDER BY order_number
    
    • 例としてアップロードされた CSVファイルを対象に単純分析を行います。
    • 注文回数が増えるほど再注文までにかかる期間が短くなることを前提に確認します。

    <orders2テーブル>

    • order_id: 注文番号
    • order_number: 注文回数
    • days_since_prior_order: 最後の注文からの期間

    orders2テーブルで days_since_prior_orderは最後の注文からどれくらい経過したのか最大30日まで表示したカラムであり、order_numberはユーザーの注文回数です。

    1. Cloud Hadoopを使用して Hueで作成した Hiveテーブル(orders2)を Zeppelinで照会し、以下のようにチャートで可視化します。
      hadoop-use-ex3_4-4_ko

    チャートを見ると、注文回数の多い顧客は次の再注文までにかかる日数が短いと解釈できます。

    参考
    • Object Storageを使用すると、HDFSに比べて性能は劣りますが、クラスタ終了後にも必要に応じて再度作成して同じデータを照会できるというメリットがあります。
    • Hive Metastoreを別途分離していないため、新規作成時に Hive DDLを実行する必要があり、Zeppelin Notebookも新規にインポート(import)します。

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

    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.