LoginSignup
2
0

More than 3 years have passed since last update.

ABEJA Platformにファイルをアップロードして、Jupyter Notebookで参照する

Last updated at Posted at 2019-05-23

はじめに

本記事は、以下の手順をまとめた記事の前編です。

(前編)
1. コンソールを用いて、ローカル環境からABEJA Platformにファイルをアップロードする
2. ABEJA Platoformのノーブック上からデータレイクのファイルを参照する
(後編)
3. ABEJA Platformのジョブ機能を用いて、scikit-learnを使った機械学習モデルを学習する
4. モデルをWeb APIとしてデプロイする

後編はこちらの記事を参照して下さい。
https://qiita.com/yushin_n/items/1f027dcdf3ea968f0903

ローカル環境からABEJA Platformにファイルをアップロードする

ファイルの用意

サンプルとして、Scikit-learnのIrisデータセットをロードします。


import numpy as np
import os
import pandas as pd
from sklearn import datasets

# load iris datasets
iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target

CSV形式で保存します。


# save as csv
os.makedirs('./data', exist_ok=True)
file_path = './data/iris.csv'
df.to_csv(file_path, index=False)

データレイクチャンネルへのファイルのアップロード

コンソールのデータレイク --> チャンネルから「+チャンネル作成」をクリックして、チャンネルを作成します。
Screen Shot 2019-05-17 at 19.42.45.png

「アップロード」をクリックして、先ほど作成したCSVファイルをアップロードします。
Screen Shot 2019-05-17 at 19.40.30.png

ABEJA Platoformのノートブック上からデータレイクのファイルを参照する

ノートブックの立ち上げ

コンソールのジョブ定義から、「+ジョブ定義を作成」をクリックして、ジョブ定義(ワークスペースのようなもの)を作成します。
Screen Shot 2019-05-17 at 20.11.05.png

ノートブックをクリックします。
Screen Shot 2019-05-17 at 20.14.07.png

「+ノートブック作成」をクリックして、インスタンスの種類を選びます。今回はcpu-1を選択します。
Screen Shot 2019-05-17 at 20.14.45.png

「ノートブックを開く」をクリックして、Jupyter Notebookの画面から、ノートブックを立ち上げます。
Screen Shot 2019-05-17 at 20.18.00.png

DataLakeのファイルの参照

今回は、データレイクのチャンネルにあるファイルの中から、最も新しい日付のファイルをロードすることにします。まず、コンソールのチャンネルから、チャンネルIDをコピーして入力します。


import numpy as np
import os
import pandas as pd

from abeja.datalake import Client as DatalakeClient

# set datalake channel_id
channel_id = 'XXXXXXXXXXXXX'


def load_latest_file_from_datalake(channel_id):
    datalake_client = DatalakeClient()
    channel = datalake_client.get_channel(channel_id)

    # load latest file path
    for f in channel.list_files(sort='-uploaded_at'):
        latest_file_path = f.download_url
        latest_file_datetime = f.uploaded_at
        print('load file uploaded at {} (UTC time).'.format(latest_file_datetime))
        break

    return latest_file_path

file_path = load_latest_file_from_datalake(channel_id)
data = pd.read_csv(file_path, sep=',')
data.tail()

データレイクの中の最新のデータをロードすることができました。

Screen Shot 2019-05-17 at 20.30.32.png

ノートブックのcpuイメージには、CPU 環境で使用できる機械学習およびディープラーニングの代表的なライブラリ/フレームワークが含まれている(ライブラリ一覧)ため、すぐにデータの分析や機械学習モデルの開発を行うことが可能です。

参考

ABEJA Platform SDKを使用して、データレイクのチャンネルを作成してファイルをアップロードしたり、データレイクから複数のファイルを取得したりすることも可能です。手順については、公式ドキュメントを参照して下さい :dog:
https://sdk-spec.abeja.io/datalake/sample_tutorial.html

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0