- 印刷する
- PDF
Object Storage + Sub Account の連携
- 印刷する
- PDF
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の作成およびポリシーを追加する方法は、次の通りです。
NAVERクラウドプラットフォームコンソールで Sub Accountサービスを作成します。
- Object Storageにアクセスするには API Keyを使用します。Sub Accounts作成時にアクセスタイプ項目の APIアクセスを選択します。
- Object Storageにアクセスするには API Keyを使用します。Sub Accounts作成時にアクセスタイプ項目の APIアクセスを選択します。
Sub Accountsメニューで作成した Sub Accountsのログイン IDをクリックし、[ポリシー] タブで使用ポリシーを追加します。
- Object Storageの NCP_OBJECT_STORAGE_MANAGERポリシーを追加します。
- ACGの変更管理のための NCP_VPC_SERVER_MANAGERポリシーを追加します。
- Cloud Hadoopの NCP_VPC_CLOUD_HADOOP_MANAGERポリシーを追加します。
[Access Key] タブで Object Storageにアクセスするための API認証キーを [追加] した後、確認します。
Sub Account > Dashboardでサブアカウントのログインページへのアクセスキーを設定します。
サブアカウントのログインページの URLにアクセスした後、以下のようにサブアカウントにログインします。
- サブアカウント IDは、サブアカウントの作成時に設定したログイン IDです。
- パスワードは、サブアカウントの作成時に設定したログインパスワードです。
- このアカウントに設定されたポリシーによって許可されたサービスのみ使用できます。
Object Storage バケットの作成
Object Storageでデータを保存する ncp-bigdataバケットを作成します。作成したバケットは Bucket Managementで確認できます。
- バケット作成に関する詳細は、Object Storageご利用ガイドをご参照ください。
Cloud Hadoop クラスタの作成
Cloud Hadoopクラスタを作成します。
Cloud Hadoopクラスタ作成に関する詳細は、Cloud Hadoop を開始するガイドをご参照ください。
Object Storage にサンプルデータをアップロード
ユースケースのために作成した仮想のデータセットをダウンロードします。
- ダウンロードしたファイルの圧縮を展開します。
Object Storage > Bucket Managementで ncp-bigdataバケットをクリックし、圧縮を展開したファイルをアップロードします。
データの照会
Ambari、Hue、Zeppelinなど、Web UIでサンプルデータを照会できます。
Web UIにアクセスする方法は、サービス別 UIアクセスおよびパスワードの設定ガイドをご参照ください。
- Cloud Hadoopクラスタの作成が完了すると、Ambari、Hue、Zeppelinにアクセスするためのポートを ACGに追加します。
- ACGの設定方法は、ACGルールの設定をご参照ください。
- Hueにアクセス(8081ポート)して Hiveクエリで martデータベースを作成します。
CREATE DATABASE mart;
- 以下のように 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/';
- orders2テーブルのデータを照会します。
SELECT * FROM orders2;
Zeppelin(9996ポート)にアクセスします。
[Notebook] > Create new noteをクリックし、Zeppelin Notebookを新しく作成します。
Default Interpreterを jdbcに指定し、[Create] ボタンをクリックします。
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はユーザーの注文回数です。
- Cloud Hadoopを使用して Hueで作成した Hiveテーブル(orders2)を Zeppelinで照会し、以下のようにチャートで可視化します。
チャートを見ると、注文回数の多い顧客は次の再注文までにかかる日数が短いと解釈できます。
- Object Storageを使用すると、HDFSに比べて性能は劣りますが、クラスタ終了後にも必要に応じて再度作成して同じデータを照会できるというメリットがあります。
- Hive Metastoreを別途分離していないため、新規作成時に
Hive DDL
を実行する必要があり、Zeppelin Notebookも新規にインポート(import)します。