Technical Articles
Free Trialではじめる SAP HANA Cloud: テーブル作成とデータロード、データの可視化
本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説いたします。
本内容は「DBエンジニア」向けで、基本的なDB操作についてご紹介いたします。
1. HANAインスタンスを作成する
2. テーブルとビュー(SQL View)を作成する
1.のHANAインスタンスの作成については、こちらのBlogをご確認ください。
本Blogでは、「2. テーブルとビュー(SQL View)を作成する」について説明いたします。
操作の手順は下記の通りです。
(1) DBユーザー(スキーマ)の作成
(2) テーブルの作成
(3) ビュー(SQL View)の作成
サンプルのデータを用意したので、まずはこちらのサイトからスクリプトやCSVファイルをダウンロードして自分のPCに展開してください。
※ Githubはログインせずに利用可能です。
DBユーザー(スキーマ)を作成する
Database Explorer (DBADMINユーザーでログイン)を開いて、ダウンロードした「1.create_user.sql」ファイルの内容をSQL Console (ワークシート)にコピー & ペーストします。
※ Database Explorer へのアクセス方法を忘れてしまった方はこちらのBlogを再度ご確認ください。
今回は「ORDER_ENTRY」という名前のDBユーザー(スキーマ)を作成します。ユーザーが作成されると同じ名前のスキーマも作成されます。
ユーザーのパスワードは任意の文字(英数字、大文字、小文字含む複雑なパスワード)に変更してください。
デフォルトではユーザーが初回ログイン時にパスワード変更を求められるのですが、今回はそのステップを省略するために「NO FORCE_FIRST_PASSWORD_CHANGE」を指定しています。
また、「ユーザーグループ」の指定が必要になりますが、ここでは「Default」を指定します。
権限については最低限の権限を指定します。
詳細な説明は割愛しますが、見慣れない「HANA_SYSRDL#CG_ADMIN_ROLE」についてだけ補足すると、前回のBlogの手順で作成した「SAP HANA Cloud, Data Lake(HDL)」用の権限になります。
-- ユーザー(スキーマ)作成
-- ※ <password> は、任意のパスワードで書き換えてください。
CREATE USER ORDER_ENTRY PASSWORD <password> NO FORCE_FIRST_PASSWORD_CHANGE SET USERGROUP DEFAULT;
-- 権限設定
GRANT CATALOG READ TO ORDER_ENTRY;
GRANT CREATE SCHEMA TO ORDER_ENTRY;
GRANT HANA_SYSRDL#CG_ADMIN_ROLE TO ORDER_ENTRY;
ここまでの画面では、「DBADMIN」ユーザーで操作をしているので、今、作成した「ORDER_ENTRY」ユーザーでの操作に切り替えます。
まず、今、操作していたDatabase Explorerのブラウザ/タブを閉じます。
そして、SAP HANA Cockpit の画面に戻ります。
画面上部の「Choose Authentification」をクリックして、先ほど作成した「ORDER_ENTRY」ユーザーでログインします。
再び、SAP HANA Cockpit にログインしましたが、画面左上部にログイン名が「ORDER_ENTRY」になっていることが確認できます。
画面右上の「SQL Console」をクリックしてDatabase Explorer の画面を開きます。
オープンしたDatabase Explorer では、「ORDER_ENTRY」が現在のユーザー(デフォルトのスキーマ) になっていることが確認できます。
テーブルを作成する
SQL Console 上でSQL文を入力してテーブル作成することもできますが、今回はCSVファイルを用意しているので、CSVファイルを読み込みながらテーブルを作成する手順をご紹介します。
テーブルを作成する前に「ORDER_ENTRY」のスキーマのオブジェクトが表示されるように、左下の「DBADMIN」を「ORDER_ENTRY」に変更します。
「Tables」を選択し、右クリックしてメニューから「Import Data」を選択してWizard 形式で操作を進めます。
まず、最初は「CUSTOMERS(顧客マスター)」テーブルを作成します。
CSVファイルをロードする際は「Import Data」を選択します。
次の画面でロードするファイルの配置場所とファイル名を選択する画面が表示されます。今回は、自分のPC上にあるCSVファイルを選択するので、「Local」を選択し、対象のCSVファイルを選択します。
まず始めは「Customers.csv (顧客データ)」 を選択します。
次の画面ではスキーマ名とテーブル名(CUSTOMERS)を入力します。画面の通り選択/入力してください。
画面の通り、データ型と、必要に応じて桁数/文字数を入力します。
今回は「CUSTOMERID」 を主キー(プライマリーキー)に設定します。
次の画面では、エラーが発生した時のデータをセーブするかどうかの選択をします。
デフォルトのまま進みます。
今までの設定内容を確認し、問題がなければ、右上の「Import Into Database」ボタンをクリックしてテーブル作成とデータロードを開始します。
データロードが成功したら、左下に表示されたテーブルをクリックするとテーブルの定義情報を表示して確認することができます。
また、テーブルを選択しても右クリックして表示されたメニューから「Open Data」を選択するとロードされたデータを確認することができます。
それでは、同じ手順で「PRODUCTS (製品マスター)」テーブルと「ORDERS(オーダー)」テーブルも作成します。
対象のCSVファイルはそれぞれ、「Products.csv」と「Orders.csv」になります。
スキーマ名、テーブル名、データ型等は下記の画像を確認してください。
注意: ORDERS テーブルの主キーの設定とBIGINT 型を指定する列は要注意です!!
PRODUCTS (製品マスター) テーブル
ORDERS(オーダー) テーブル
※ ORDERS テーブルの主キーの設定とBIGINT 型を指定する列(UNITSALES列とNETSALES列)箇所は要注意です!!
ビュー(SQL View)を作成する
次にビュー (SQL View)を作成してデータを可視化します。
SQL Consoleにビュー作成のSQL文(「3.create_view.sql」ファイルの内容) をコピー & ペーストします。今、作成した3つのテーブルを結合したビューになります。
-- ビューの作成
CREATE VIEW ORDER_ENTRY.V_ORDERS AS
SELECT
d1."CUSTOMERID",
d1."CITYID",
d1."COUNTRYID",
d1."REGIONID",
d1."CUSTOMER",
d1."CITYNAME",
d1."COUNTRYNAME",
d1."REGIONNAME",
d2."PRODUCTID",
d2."CATEGORYID",
d2."LINEID",
d2."PRODUCTNAME",
d2."CATEGORYNAME",
d2."LINENAME",
f1."UNITSALES",
f1."NETSALES"
FROM "ORDER_ENTRY"."ORDERS" f1
INNER JOIN "ORDER_ENTRY"."CUSTOMERS" d1 ON d1."CUSTOMERID" = f1."CUSTOMERID"
INNER JOIN "ORDER_ENTRY"."PRODUCTS" d2 ON d2."PRODUCTID" = f1."PRODUCTID"
;
次にメニュー左下の「Views」を選択し、今、作成した「V_ORDERS」ビューを右クリックして「Open Data」を選択します。
表示された画面でビューのデータが参照できますし、左上部の「Analysis」タブを選択するとデータの内容を簡単にビジュアライズすることが可能です。
図のように各列を縦軸、横軸を示すボックスにドラッグ & ドロップすると棒グラフが表示されます。
グラフには幾つかの種類があるので、パイチャートなど色々なグラフを試してみてください。
ただし、このツールはあくまでも簡易的なビジュアライズ画面なのでBI用途で使用するものではないので過度な期待はしないようにお願いいたします。
また、画面右上の「SQL」ボタンをクリックすると内部的に発行しているSQL文を確認できるので、そのSQL文をコビーして、加工・編集してSQL ワークシート上でSQL文を直接発行することも可能です。
全体を通して
いかがでしたでしょうか ?
「意外と簡単」、「普通のDBと操作感は変わらない」と思っていただけたら幸いです。
注意点としては、テーブル作成のGUI画面は現時点では用意されていないので、今回ご紹介したようなCSVファイルをベースに「Import」機能を使用するか、硬派にSQL文を実行するかの方法になります。
今回は利用しませんでしたが、ダウンロードしたファイル「2.create_tables.sql」とこちらのマニュアルを参考にしてください。
また、DB Explorer では、あまり大きなサイズのデータをアップロードできません。こちらのマニュアルに記載がありますが、最大で1GBのCSVファイルサイズになります。
今回を機に、より詳しい操作を確認したい方は、ブラウザベースの開発ツール「SAP Business Application Studio」を利用したSAP HANA Cloud のBlogもご確認ください。
ありがとうございました。