##はじめに
ABEJA Platformは機械学習を実施する際のデータレイク・アノテーション・学習・インフラ運用などをパイプラインで管理・実施いただけるSaaS型のサービスです。
柔軟度が高く、学習によく利用できるフレームワークを利用できるため、MLエンジニアやデータサイエンティストの方が不要な作業をせずにより開発のスピードアップと集中を実施いただけることがメリットです。
今回ご紹介するもの
「 ABEJA Platformスキーマ機能 」
「 ABEJA Platformスキーマー機能 」って?
ABEJA Platformで、テーブルデータを利用したい場合、データを保存する前にデータに矛盾がないか保証を実施したいケースがあるかと思います。今回紹介するスキーマ機能は、データレイクへのデータ保存前にデータ内の整合性を検証し、問題なければ保存するといった機能となります。主に以下の手順を実施することで、簡単にValidation(検証)を実施いただけます。
- スキーマの作成
- データレイクチャンネルと紐付け
今回は、データレイクチャンネルにアップロードしたCSVをValidationできるか試してみたいと思います。
サンプルCSVは「Iris.csv」を利用しています。
それでは、早速実施していきましょう。
設定 (スキーマ作成)
- まずは、スキーマを作成します。サイドメニューから「スキーマ」を選択し**「スキーマ作成」**を選択
今回はサンプルCSVに対するValidationを実施するため、以下の項目でスキーマ作成を行います。
項目(Item) | 型(Type) |
---|---|
ID | integer |
SepalLengthCm | float |
SepalWidthCm | float |
PetalLengthCm | float |
PetalWidthCm | float |
Species | string |
- 各スキーマ設定に関する項目を入力します。
-
スキーマ名
:スキーマの名称 -
詳細
:スキーマの説明 (任意) -
スキーマ
:「ビジュアル」か「JSON」を選んでスキーマを選択可能-
ビジュアル
:「カラム名」「型」「プライマリキー」「必須」「nullを許容」を選択 -
JSON
:以下サンプルのようにカラム名、型などをJSON形式で指定
-
-
{
"Species": {
"type": "string",
"required": false
},
"SepalWidthCm": {
"type": "float",
"required": true
},
"SepalLengthCm": {
"type": "float",
"required": true
},
"PetalWidthCm": {
"type": "float",
"required": true
},
"PetalLengthCm": {
"type": "float",
"required": true
},
"ID": {
"type": "integer",
"required": true
}
}
上記の項目を参考に入力していきましょう。
問題なければ**「スキーマ作成」**を選択。これで「スキーマ」の完成となります。
設定 (データレイクチャンネルへ紐付け)
-
早速作成したスキーマ設定でCSVデータのValidation実施できるよう、データレイクチャンネルへ紐付けを行います。挙動としては、データレイクチャンネルへCSVファイルをアップロードした際に、CSVデータに矛盾がないかValidation(検証)実施するイメージとなります。
-
まずは、データレイクチャンネルを作成
- その後、データレイクチャンネルの内の「メニュー」から「スキーマ紐付ける」を選択
- 実際にアップロードを実施する予定のファイル属性やカラム等の設定を実施
- 以下、設定項目となります。
-
スキーマID
:作成したスキーマを選択 -
スキーマバージョン
:利用するスキーマのバージョンを選択 -
Content Type
:「JSON」「x-jsonlines」「CSV」から選択 (今回はCSVを選択) -
データベースを使用する
:スキーマ機能を利用してDBへの格納も利用可能です。 -
既存のレコードを上書きする
:テーブルへの追記ではなく上書きを実施する場合に選択 -
スキーマで定義されていないカラムを無視する
:必要に応じて選択 -
CSVの1行目をヘッダーとする
:CSVの1行目の項目をヘッダとして利用する場合に選択
-
- 以下、設定項目となります。
※データベースをご利用の際は、別途お問い合わせください
※こちらの機能CSVの1行目をヘッダーとする
については2019年7月現在、改修中となっております
各項目を入力し、**「紐付ける」**を選択頂くことで、設定完了です。
動作確認
-
早速、スキーマを紐付けたデータレイクチャンネルにCSVファイルをアップロードして挙動を確認してみましょう。
-
スキーマ機能を利用せずにアップロードした場合
-
正常ファイルの場合
ファイル名の左に緑のチェックが付与され、正常にValidationされたことが見てわかります。
-
異常ファイルの場合
ファイル名の左に赤のエクスクラメーションマークが付与され、Validationに失敗したことが見てわかります。
このように、きちんとCSVデータの中身の整合性を検証して、正常なデータのみデータレイクチャンネルに保管ができる環境が簡単に整いました。テーブルデータを利用頂く場合でも、GUI上で、ABEJA Platform上にスキーマ作成をしていただき、Validationを実施頂くことが可能です。
まとめ
今回はスキーマ機能の一例として、データレイクチャンネルにアップロードするCSVファイルのValidationをサンプルとして実施しました。その他活用方法として、ABEJA Platformのスキーマ機能を活用しDBへの格納や、DBへの外部接続等も利用できますので、よりテーブルデータ周りの学習・モデル作成を加速していただけます!
ぜひ、スキーマ機能を活用してもご活用ください!
最後に
ABEJA Platformは、トライアルも提供しています。気になられた方は、是非、お気軽にお問い合わせください!また、フォーラムもありますので、是非、ご活用ください。
ABEJA Platformに関するお問い合わせ
https://abejainc.com/platform/ja/contact/
ABEJA Platform Forum
https://forums.abeja.io/