Skip to Content
Technical Articles
Author's profile photo Kimikazu Kabata

Free Trialではじめる SAP HANA Cloud: テーブル作成とデータロード (v3)

本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説します。

本内容は「DBエンジニア」向けの内容になります。

今回は「テーブルを作成し、データをロードする」方法についてご紹介します。

 

操作の手順は下記の通りです。

・テーブルの作成

・CSV データのロード

 

サンプルのスクリプトやCSVデータは下記のサイトからダウンロードしてください。

使用するファイルは下記になります。

・CUSTOMERS.hdbtable

・ORDERS.hdbtable

・PRODUCTS.hdbtable

・Customers.csv

・Orders.csv

・Products.csv

 

テーブルを作成する

 

それでは、BASを使ってテーブルを作成します。まずは、今まで多くのDBエンジニアの皆様が作成していた、「xxxxxx.sql」というSQLのスクリプトにあたるファイルを作成します。

GLOBAL-DWHプロジェクト内のdbフォルダ配下のsrc フォルダを選択した後、画面上部メニューの「View」から「Find Command…」を選択します。

検索ボックスで「HANA」と入力し、表示されたリストの中から「SAP HANA Create SAP HANA Database Artifact」を選択します。

 

 

この「Artifact (アーティファクト)」は「モノ、オブジェクト」に近いニュアンスの言葉で、要は「テーブルやインデックス、シノニムなど、諸々のDBオブジェクトをこれから作ります」という意味になります。

まず、ファイルを配置するフォルダが「/home/user/projects/global-dwh/db/src」になっていることを確認してください。もし、選択されていない場合はフォルダアイコンをクリックして、当該フォルダを選択してください。

今回はテーブルを作成しますが、ファイル名の拡張子が「Artifact」毎に決まっています

リストから「.hdbtable」を選択してください。検索ボックスに「table」と入力するとリスト表示されます。

 

まずはCUSTOMERS (顧客マスター)テーブルを作成しますのでArtifact Nameには 「CUSTOMERS」と入力し、「Create」ボタンをクリックしてファイルを作成します。

 

左のツリーから「CUSTOMERS.hdbtable」を選択し、ダウンロードした「CUSTOMERS.hdbtable」ファイルを開いて内容をコピー & ペーストします。

※ ファイルの内容はAuto Saveされます。

 

-- CUSTOMERS テーブルの作成

COLUMN TABLE "CUSTOMERS" (
  "CUSTOMERID" INTEGER
, "CITYID" INTEGER
, "COUNTRYID" INTEGER
, "REGIONID" INTEGER
, "CUSTOMER" NVARCHAR(50)
, "CITYNAME" NVARCHAR(50)
, "COUNTRYNAME" NVARCHAR(50)
, "REGIONNAME" NVARCHAR(50)
, PRIMARY KEY ("CUSTOMERID")
)

 

次にこのCUSTOMERS テーブルを「Deploy」します。「Deploy」という言葉は少し難しいのですが、DBに対してテーブルを作成する操作です。

画面左下にある同名の「CUSTOMERS.hdbtable」を選択し、「Deploy」アイコンをクリックします。

 

「Deploy」が成功したら、テーブルがDBに作成されているか確認しましょう。

Database Connections から、「global-dwh-hdi」を選択し、DBに接続するためのアイコン(Open HDI container) をクリックし、別のタブ/ウインドウが開いて、Database Explorer が起動します。

ツリーから「Tables」を選択します。CUSTOMERS テーブルが「GLOBAL_DWH」スキーマ内に作成されたことが確認できると思います。

 

コピー & ペーストしたテーブルを作成する命令文がSQL文に似ていたものの、「CREATE TABLE」文の「CREATE」がなかったことに違和感を覚えたDBエンジニアの方も多いかと思います。

BASを使ったテーブル作成では、この定義ファイルに列を追加したり、削除したり、データ型の桁数を増やしてから「Deploy」するとテーブルにその変更が反映されます。

要するに「ALTER TABLE」文を発行しなくてもテーブルの属性変更ができます。

これが「HDI」の良いトコロです。

ただし、データ型の変換ができないパターンもあるので、「ALTER TABLE文でできないことは基本的にできない」と憶えておいてください。

 

それでは、同じ手順で「PRODUCTS (製品マスター)」 テーブルと「ORDERS (オーダー)」テーブルも作成しましょう。

新規作成するファイル名、及び定義文のコピー元のファイルは、それぞれ「PRODUCTS.hdbtable」と「ORDERS.hdbtable」になります。

 

-- PRODUCTS テーブルの作成

COLUMN TABLE "PRODUCTS" (
  "PRODUCTID" INTEGER
, "CATEGORYID" INTEGER
, "LINEID" INTEGER
, "PRODUCTNAME" NVARCHAR(50)
, "PRODUCTDESCRIPTION" NVARCHAR(50)
, "CATEGORYNAME" NVARCHAR(50)
, "CATEGORYDESCRIPTION" NVARCHAR(50)
, "LINENAME" NVARCHAR(50)
, "LINEDESCRIPTION" NVARCHAR(50)
, "DISCONTINUED" INTEGER
, PRIMARY KEY ("PRODUCTID")
)

 

 

-- ORDERS テーブルの作成

COLUMN TABLE "ORDERS" (
  "ORDERID" INTEGER
, "PRODUCTID" INTEGER
, "CUSTOMERID" INTEGER
, "EMPLOYEEID" INTEGER
, "ORDERPERIODID" INTEGER
, "REQUIREDPERIODID" INTEGER
, "SHIPPEDPERIODID" INTEGER
, "SHIPPERID" INTEGER
, "UNITPRICE" INTEGER
, "QUANTITY" INTEGER
, "DISCOUNT" INTEGER
, "UNITSALES" BIGINT
, "NETSALES" BIGINT
, "UNITCOST" INTEGER
, "COST" INTEGER
, PRIMARY KEY ("ORDERID", "PRODUCTID")
)

 

 

CSVデータをロードする

CSVデータを利用したデータローディングはDatabase Explorer を利用します。

まずは「CUSTOMERS 」テーブルから始めます。

Database Explorerから対象のテーブルを選択します。

テーブルを右クリックしてメニューから「Import Data」を選択します。

 

「自分のPC上にあるファイル」を意味する「Local」を選択し、事前にダウンロードしておいたファイルから、対象CSVファイル(Customers.csv)を選択し、テーブル定義情報などを確認してからデータをロードします。

 

 

 

 

 

データがロードされたか確認してみましょう。

 

 

それでは、同じ手順で「PRODUCTS (製品マスター)」 テーブルと「ORDERS (オーダー)」テーブルに対してもデータをロードしてみましょう。

CSV ファイルは、各々「Products.csv」と「Orders.csv」になります。

 

いかがでしたでしょうか ?

さて、次はいよいよ、モデリングの本題である「Calculation View (HANA View) の作成」です。

 

では、次回もお楽しみに !!

 

次回 : Calculation View (HANA View)を作成する

 

参考 : SAP Analytics CloudとSAP HANA Cloudとの連携

 

Assigned tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.