最新のコンテンツが反映されていません。早急にアップデート内容をご提供できるよう努めております。最新のコンテンツ内容は韓国語ページをご参照ください。
VPC環境で利用できます。
Cloud Hadoop Notebookは、データ分析に必要なクエリとコードを実行できるように、サーバレス型の Jupyter Notebookを提供します。
Notebooksコンソールで Notebookノードを作成したり、削除することができます。
作成された Notebookノードの JupyterLabと Jupyter Notebookのウェブページにアクセスし、データ分析を行えます。
Notebookで使用したクエリとコードは、Cloud Hadoopクラスタのカーネルを介して実行されます。また、Object Storageに Notebookファイルとして保存され、柔軟に再使用できます。
Notebook画面
Notebookサービスを利用するための基本的な説明は、次の通りです。

| 領域 | 説明 |
|---|---|
| ① Notebook作成 | 新しい Notebookを作成 |
| ② 削除 | 使用中の Notebookを削除 |
| ③ JupyterLabで開く | JupyterLab Web UIにアクセス |
| ④ Jupyterで開く | Jupyter Web UIにアクセス |
| ⑤ Notebookリスト | 作成された Notebookリストと詳細情報を確認 |
事前タスク
- Object Storage作成
Cloud Hadoopクラスタを作成する前に、データを保存して検索するための Object Storageバケットを予め作成します。- Object Storage作成に関する詳細は、Object Storage ご利用ガイドをご参照ください。
- Cloud Hadoopクラスタ作成
Notebookノードと連携する Cloud Hadoopクラスタを作成されている必要があります。- Cloud Hadoopクラスタ作成に関する詳細は、Cloud Hadoop を開始するガイドをご参照ください。
- ノードタイプ選択
予想使用量を考慮して、ノードタイプを予め選択します。
Notebook作成
Notebookを作成する方法は、次の通りです。
1つの Cloud Hadoopクラスタに複数の Notebookノードを作成できます。また、各 Notebookノードは Cloud Hadoopクラスタと連携できます。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。 - Notebooksメニューをクリックします。
- [Notebook作成] ボタンをクリックします。
- Notebookの作成画面が表示されたら、以下のステップを順に行います。
1.Notebook設定
Notebookの設定情報を指定した後、 [次へ] ボタンをクリックします。
- Notebook名: Notebookノードの名前を入力します。
- Notebookバージョン: Notebookのバージョンを選択します。
- Notebookコンポーネント: バージョン別のコンポーネント情報を確認できます。
- クラスタ: Notebookと連携する Cloud Hadoopクラスタを選択します。最新の Cloud Hadoop 1.8バージョン以上のみ Notebookと連携できます。
- ACG設定: Cloud Hadoop Notebook ACGは、Notebookを作成するたびに自動で作成されます。ネットワーク ACLを設定する場合、Notebook作成時に自動で作成された ACGを選択してルールを変更できます。ACG設定に関する詳細は、ファイアウォール設定(ACG)ガイドをご参照ください。
2.ストレージ&サーバ設定
ストレージとノードサーバの設定情報を指定した後、 [次へ] ボタンをクリックします。
- Object Storageバケット: 事前タスクで作成した Object Storageバケットでデータの読み取りと書き込みができます。Notebookの作成時に、事前タスクで作成した Object Storageバケットを選択します。
- Notebookノード Subnet: Notebookノードを配置する Subnetを選択します。
- Public Subnetに Notebookノードを作成すると、パブリック IPアドレスをベースにウェブドメインにアクセスできます。
- Private Subnetに Notebookノードを作成する場合は、ウェブドメインにアクセスするために SSL VPNを介してアクセスする必要があります。
- Notebookノードサーバタイプ: Notebookノードとして使用するサーバタイプを選択します。Notebookノードを作成した後はサーバタイプを変更できません。Notebookノードとして使用できるサーバの仕様は、クラスタノード別のサポートサーバ仕様をご参照ください。
- Notebookノード数: Notebookノード数は1つに固定されています。
- Notebookノードのストレージ追加有無: 別途 Block Storageを追加して使用できます。
- Notebookノードのストレージタイプ: ストレージタイプを選択します。SSDと HDDの中から選択できます。クラスタを作成した後はストレージタイプを変更できません。
- Notebookノードのストレージ容量: ストレージ容量を選択します。最小100GBから6TBまで選択でき、10GB単位で指定できます。
- 料金プラン: アカウントの作成時に選択した料金プランが適用されます。料金に関する詳細は、料金のご案内をご参照ください。
3.認証キー設定
Notebookノードに SSHで直接アクセスするには、認証キー(.pem)を設定する必要があります。
Notebookの作成時に、保有中の認証キーを選択するか新しい認証キーを作成し、 [次へ] ボタンをクリックします。
- 新しい認証キーを作成するには、新しい認証キー作成を選択して認証キー名を入力した後、 [認証キー作成と保存] ボタンをクリックします。

認証キーは、管理者パスワードを確認する時に必要です。保存した.pemファイルを PCの安全な場所に保管してください。
4.最終確認
設定内容を確認した後、 [作成] ボタンをクリックします。
- Cloud Hadoop Notebook ACGは、Notebookを作成するたびに自動で作成されます。ネットワーク ACLを設定する場合、自動で作成された ACGを選択してルールを変更できます。ACG設定に関する詳細は、ファイアウォール設定(ACG)ガイドをご参照ください。
- Notebookが作成されるまで約5~10分かかります。Notebookの作成が完了して運用が開始されると、クラスタリストの Status列に運用中と表示されます。
Notebookにアクセス
Notebookのウェブページにアクセス
Cloud Hadoop(Notebooks)コンソールで [JupyterLabで開く] ボタン、または [Jupyterで開く] ボタンをクリックします。Notebookノードにインストールされた Jupyter Notebookのウェブページにアクセスできます。
- Cloud Hadoop Notebook ACGに JupyterLabの許可ポート
8889と Jupyterウェブページの許可ポート8888を追加します。 - Public Subnetに作成された Notebookノードの場合、パブリック IPアドレスをベースにウェブにアクセスできます。
- Private Subnetに作成された Notebookノードの場合、ウェブにアクセスするために SSLVPNを介してアクセスする必要があります。
SSL VPNと ACGの設定方法に関する詳細は、サービス別 UIアクセスとパスワード設定ガイドをご参照ください。
クラスタノードに SSHで直接アクセス
Notebookの作成時に認証キー設定のステップで設定した認証キーを利用し、Notebookノードに SSHで直接アクセスできます。詳細な方法は、SSHでクラスタノードにアクセスガイドをご参照ください。
Notebookを使用する
Notebookを様々な形で連携して使用できます。
事前タスク
連携する Cloud Hadoopクラスタと Notebookノード間の ACG許可が必要です。連携する Cloud Hadoopクラスタの ACGに Notebookノードの ACGを含め、以下のように ACGを設定します。
- 連携する Cloud Hadoopクラスタの Default ACGで [Inbound] タブをクリックします。アクセスソースには Notebookノードの ACGを追加し、許可ポートには1-65535ポート全体を追加して [適用] ボタンをクリックします。

Cloud Hadoopクラスタと Notebookは、同じ VPC内で通信が可能な同じ Subnetで作成することをお勧めします。
Notebookで Cloud Hadoopクラスタの Sparkと連携
Jupyter Notebook Web UIにアクセスし、PySparkを使用して Cloud Hadoopクラスタと連携できます。
<PySparkのサンプルコード>
Notebookのカーネル設定で PySparkを選択して実行します。
import os
import pyspark
import socket
from pyspark.sql import SQLContext, SparkSession
sc = SparkSession \
.builder \
.appName("SparkFromJupyter") \
.getOrCreate()
sqlContext = SQLContext(sparkContext=sc.sparkContext, sparkSession=sc)
print("Spark Version: " + sc.version)
print("PySpark Version: " + pyspark.__version__)
df = sqlContext.createDataFrame(
[(1, 'foo'), (2,'bar')], #records
['col1', 'col2'] #column names
)
df.show()
print(socket.gethostname(), socket.gethostbyname(socket.gethostname()))

Notebookで TensorFlow MNISTを学習
Jupyter Notebook Web UIにアクセスし、Python3を使用して TensorFlow MNIST Trainingを行えます。
<Python3のサンプルコード>
Notebookのカーネル設定で Python3を選択して実行します。
# tensorflow library import
# tensorflowのインストールが必要な場合
# !pip install tensorflow_version
import tensorflow as tf
mnist = tf.keras.datasets.mnist
# mnistデータセットをロード
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
# layerを追加してモデルを定義
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# モデルを訓練して評価
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)
# 学習済みのモデルを HDF5ファイルで保存
model.save('my_model.h5')

Notebookで Object Storageデータ連携
Jupyter Notebook Web UIにアクセスし、ユーザーの Object Storage情報を入力すると Object Storageバケットと連携できます。
- Access Key ID、Secret Keyを確認する方法は、Ncloud APIをご参照ください。 詳細は、Object Storage を開始するガイドをご参照ください。
<Python3のサンプルコード>
Notebookのカーネル設定で Python3を選択して実行します。
# 必要な boto3モジュールをインポート
import boto3
# Object Storage情報を入力
service_name = 's3'
endpoint_url = 'https://kr.object.private.ncloudstorage.com'
region_name = 'kr-standard'
access_key = 'ユーザーの access key'
secret_key = 'ユーザーの secret key'
# Boto3を活用して Object Storageと連携
if __name__ == "__main__":
s3 = boto3.client(service_name, endpoint_url=endpoint_url, aws_access_key_id=access_key, aws_secret_access_key= secret_key)
s3.upload_file("my_model.h5", "best", "model/my_model.h5")
Notebook削除
使用が完了した Notebookは削除できます。Jupyter Notebookで使用した Notebookファイル(.ipynb拡張子のファイル)は、Cloud Hadoopクラスタの Object Storageのサブバケットに保存されます。
Notebookを削除した場合でも、使用した Notebookファイルは削除されません。