- 印刷する
- PDF
Notebooks を使用する
- 印刷する
- PDF
VPC環境で利用できます。
Cloud Hadoopノートブックは、データ分析に必要なクエリとコードを実行できるように、「サーバレス」型の Jupyter Notebookを提供します。
Notebooksコンソールでノートブックノードを作成したり、削除することができます。
作成されたノートブックノードの JupyterLabと Jupyter Notebookのウェブページにアクセスし、データ分析を行えます。
ノートブックで使用したクエリとコードは、Cloud Hadoopクラスタのカーネルを介して実行されます。また、Object Storageにノートブックファイルとして保存され、柔軟に再使用できます。
ノートブック画面
ノートブックサービスを利用するための基本的な説明は、次の通りです。
領域 | 説明 |
---|---|
① ノートブック作成 | 新しいノートブックを作成 |
② 削除 | 使用中のノートブックを削除 |
③ JupyterLabで開く | JupyterLab Web UIにアクセス |
④ Jupyterで開く | Jupyter Web UIにアクセス |
⑤ ノートブックリスト | 作成されたノートブックリストと詳細情報を確認 |
事前タスク
- Object Storage作成
Cloud Hadoopクラスタを作成する前に、データを保存して検索するための Object Storageバケットを予め作成します。- Object Storage作成に関する詳細は、Object Storageご利用ガイドをご参照ください。
- Cloud Hadoopクラスタ作成
ノートブックノードと連携する Cloud Hadoopクラスタを予め作成します。- Cloud Hadoopクラスタ作成に関する詳細は、Cloud Hadoopを開始するガイドをご参照ください。
- ノードタイプを選択
予想使用量を考慮して、ノードタイプを予め選択します。
ノートブック作成
ノートブックを作成する方法は、次の通りです。
1つの Cloud Hadoopクラスタに複数のノートブックノードを作成できます。また、各ノートブックノードは Cloud Hadoopクラスタと連携できます。
- NAVERクラウドプラットフォームコンソールにアクセスします。
- Platformメニューの VPCをクリックして VPC環境に変更します。
- NAVERクラウドプラットフォームコンソールで、Services > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。
- Notebooksメニューをクリックします。
- [ノートブック作成] ボタンをクリックします。
- ノートブックの作成画面が表示されたら、以下のステップを順に行います。
1. ノートブック設定
ノートブックの設定情報を指定し、 [次へ] ボタンをクリックします。
- ノートブック名: ノートブックノードの名前を入力します。
- ノートブックバージョン: ノートブックのバージョンを選択します。現在ノートブックは、1.0バージョンのみ提供されています。
- ノートブックコンポーネント: バージョン別のコンポーネント情報を確認できます。
- クラスタ: ノートブックと連携する Cloud Hadoopクラスタを選択します。最新の Cloud Hadoop 1.8バージョン以降のみノートブックと連携できます。
- ACG設定: Cloud Hadoop Notebook ACGはノートブックを作成するたびに自動作成されます。ネットワーク ACLを設定する場合、ノートブックの作成時に自動で作成された ACGを選択してルールを修正できます。ACGの設定に関する詳細は、ファイアウォール設定(ACG)ガイドをご参照ください。
2. ストレージとサーバ設定
ストレージとノードサーバの設定情報を指定し、[次へ] ボタンをクリックします。
- Object Storageバケット: 事前タスクで作成した Object Storageバケットでデータの読み取りと書き込みができます。ノートブックの作成時に、事前タスクで作成した Object Storageバケットを選択します。
- ノートブックノード Subnet: ノートブックノードを配置する Subnetを選択します。
- Public Subnetにノートブックノードを作成すると、グローバル IPアドレスをもとにウェブドメインにアクセスできます。
- Private Subnetにノートブックノードを作成する場合は、ウェブドメインにアクセスするために SSL VPNを介してアクセスする必要があります。
- ノートブックノードのサーバタイプ: ノートブックノードとして使用するサーバタイプを選択します。ノートブックノードを作成した後はサーバタイプを変更できません。ノートブックノードとして使用できるサーバスペックは、クラスタノード別のサポートサーバスペックをご参照ください。
- ノートブックノード数: ノートブックノード数は1つに固定されています。
- ノートブックノードのストレージ追加有無: 別途 Block Storageを追加して使用できます。
- ノートブックノードのストレージタイプ: ストレージタイプを選択します。SSDと HDDの中から選択できます。クラスタを作成した後はストレージタイプを変更できません。
- ノートブックノードのストレージ容量: ストレージ容量を選択します。最小100GBから6TBまで選択でき、10GB単位で指定できます。
- 料金プラン: アカウントの作成時に選択した料金プランが適用されます。料金に関する詳細は、料金プランのご案内をご参照ください。
3. 認証キー設定
ノートブックノードに SSHで直接アクセスするには、認証キー(.pem)を設定する必要があります。
ノートブックの作成時に、保有中の認証キーを選択するか新しい認証キーを作成し、[次へ] ボタンをクリックします。
- 新しい認証キーを作成するには、新しい認証キー作成を選択して認証キー名を入力し、[認証キー作成と保存] ボタンをクリックします。
認証キーは、管理者パスワードを確認する際に必要です。保存した pemファイルを PCの安全な場所に保存します。
4. 最終確認
設定内容を確認し、[作成] ボタンをクリックします。
- Cloud Hadoop Notebook ACGは、ノートブックを作成するたびに自動で作成されます。ネットワーク ACLを設定する場合、自動で作成された ACGを選択してルールを修正できます。ACGの設定に関する詳細は、ファイアウォール設定(ACG)ガイドをご参照ください。
- ノートブックが作成されるまで約5~10分かかります。ノートブックの作成が完了して運用が開始されると、クラスタリストの Status列に
운영중
が表示されます。
ノートブックにアクセス
ノートブックのウェブページにアクセス
Cloud Hadoop(Notebooks)コンソールで [JupyterLabで開く] ボタン、または [Jupyterで開く] ボタンをクリックします。ノートブックノードにインストールされた Jupyter Notebookのウェブページにアクセスできます。
- Cloud Hadoop Notebook ACGに JupyterLabの許可ポート
8889
と Jupyterウェブページの許可ポート8888
を追加します。 - Public Subnetに作成されたノートブックノードの場合、グローバル IPアドレスをもとにウェブにアクセスできます。
- Private Subnetに作成されたノートブックノードの場合、ウェブにアクセスするために SSLVPNを介してアクセスする必要があります。
SSL VPNと ACGの設定方法に関する詳細は、サービス別 UIアクセスとパスワード設定ガイドをご参照ください。
ノートブックノードに SSHで直接アクセス
ノートブックの作成時に認証キー設定のステップで設定した認証キーを利用し、ノートブックノードに SSHで直接アクセスできます。詳しい方法は、SSHでクラスタノードにアクセスガイドをご参照ください。
ノートブックを使用する
ノートブックを様々な形で連携して使用できます。
事前タスク
連携する Cloud Hadoopクラスタとノートブックノード間の ACG許可が必要です。連携する Cloud Hadoopクラスタの ACGにノートブックノードの ACGを含め、以下のように ACGを設定します。
- 連携する Cloud Hadoopクラスタの Default ACGで [Inbound] タブをクリックします。アクセスソースにはノートブックノードの ACGを追加し、許可ポートには1-65535ポート全体を追加して [適用] ボタンをクリックします。
Cloud Hadoopクラスタとノートブックは、同じ VPC内で通信が可能な同じ Subnetで作成することを推奨します。
ノートブックで Object Storageデータ連携
Jupyter Notebook Web UIにアクセスし、ユーザーの Object Storage情報を入力すると Object Storageバケットと連携できます。
- Object Storageの Access key IDと Secret key情報は、NAVERクラウドプラットフォームポータルのマイページ > [認証キー管理] で確認できます。詳細は、Object Storage を開始するガイドをご参照ください。
<Python3のサンプルコード>
ノートブックのカーネル設定で 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")
ノートブックで Cloud Hadoopクラスタの Sparkと連携
Jupypter Notebook Web UIにアクセスし、PySparkを使用して Cloud Hadoopクラスタと連携できます。
<PySparkのサンプルコード>
ノートブックのカーネル設定で 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()))
ノートブックで TensorFlow MNISTを学習
Jupypter Notebook Web UIにアクセスし、Python3を使用して TensorFlow MNIST Trainingを行えます。
<Python3のサンプルコード>
ノートブックのカーネル設定で 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')
ノートブック削除
使用が完了したノートブックは削除できます。Jupypter Notebookで使用したノートブックファイル(.ipynb拡張子のファイル)は、Cloud Hadoopクラスタの Object Storageのサブバケットに保存されます。
ノートブックを削除した場合でも、使用したノートブックファイルは削除されません。