SAP HANAのデータロード方法

作成者:花木 敏久投稿日:2013年11月7日

  • このエントリーをはてなブックマークに追加

こんにちは。SAPジャパンの花木です。

今回は、ベンチマークテストやデータベース構築の際に必ず必要となるデータロードについて説明します。 ちなみにSAP HANAでは、“ロード”という時、ストレージ上に永続的に保存されたテーブルをメモリー上に読み込んでオンメモリーテーブルとして使用できる状態にする動作のことを指します。一般のデータベース製品でいうところの“ロード”、つまり外部ファイルからテーブルへのデータの入れ込みは、SAP HANAではインポートと言います。

インポートの方法

Winter Ice Storm By Latourell Falls; Columbia River Gorge, Oregon, Usa

SAP HANAのインポートには、SAP HANA Studioのimport機能を使用する方法と、SQLコマンドのimport文を使用する方法があります。SAP HANA Studioのimport機能の特長として、

  • GUIベースであるため直感的でわかりやすい
  • 引用符の有無、区切り文字、ヘッダーの有無などを操作中に指定できるため状況に対応しやすい。
  • テーブルの作成をインポート内で行うことができる。(ヘッダーが入力ファイル内にあれば、そこからカラム名を取得する。)
  • 入力ファイルの項目とテーブルのカラム間のマッチングを並び順/名前で行える。
  • 入力ファイルがサーバー、クライアントのどちらにあってもインポートできる。

などが挙げられます。SQLコマンドのimport文を使用する方法は、

  • キャラクターベースのコマンドであるため事前にスクリプトを作成しておく必要がある。
  • バッチサイズ、コミットの頻度など性能に関するパラメータ設定ができる。
  • サーバー側にデータが存在する必要がある。

と言った点が挙げられます。

個人的な見解ですが、SAP HANA Studioのimport機能はアドホックに発生する少量のデータ登録の際に便利だと思われます。また、 import文は、定期的に行う大量データの登録に適していると言えるでしょう。

SAP HANA Studioのimport機能

SAP HANA Studioのimport機能の使用方法をビデオでご覧ください。

2分18秒まではチョークボードによる説明、4分27秒までは入力ファイルの準備、となっていますので、具体的な操作方法を見たい場合はそれ以降から見てください。

このビデオでは、カンマ区切り、ヘッダー付きの入力ファイルをインポートしますが、新規テーブルの作成をインポートの中で行うパターンと、既存のテーブルにインポートを行うパターン(9分8秒〜)を実演しています。

SQLコマンドのimport文を使用する方法

ビデオの前に、import文の簡単な使用例を以下に示します。Data.csvを入力としてMYTABLEテーブルにデータをインポートする例です。レコード区切りは改行コード(\n)、フィールド区切りはカンマ(,)です。

IMPORT FROM CSV FILE ‘/data/data.csv’ INTO “MYTABLE”
WITH RECORD DELIMITED BY ‘\n’
FIELD DELIMITED BY ‘,’;

またimport文は、パラメータを実行文の中ではなく別ファイルに定義することができます。この別ファイルをコントロールファイルと呼びます。コントロールファイルの例を以下に示します。この例では、エラーログをdata.errに出力し、フィールドが二重引用符(“)で括られているケースとなります。

IMPORT DATA INTO TABLE “MYTABLE” FROM ‘/data/data.csv’
RECORD DELIMITED BY ‘\n’
FIELD DELIMITED BY ‘,’
OPTIONALLY ENCLOSED BY ‘”‘
ERROR LOG ‘/data/data.err’

上記コントロールファイルの内容でimportを実行するには、以下のようにします。

IMPORT FROM CONTROL FILE ‘/data/data.ctl’;

以上を踏まえて、ビデオをご覧ください。2本ありますが、1本目ではリモートのWindowsクライアント上からSAP HANA Studioでimport文を実行し、2本目ではSAP HANAサーバーにリモートログインしてSQLコマンドインタプリタであるhdbsqlでimport文を実行しています。

例によって、最初はチョークボードによる説明ですので、5分45秒あたりから、具体的な説明になります。

こちらは4分30秒あたりから具体的な説明になります。Puttyによるログイン後のコマンドベースの作業の場面は文字が小さくて見にくいため、フルスクリーンで解像度を上げて御覧ください。(高解像度になるまで時間がかかります。)

以上、SAP HANAのデータロードについて説明しました。次回は、SAP HANAの重要な機能の一つである、インフォメーションビューの使い方について説明します。

ご質問はチャットWebからも受け付けております。お気軽にお問い合わせください。

●お問い合わせ先
チャットで質問する
Web問い合わせフォーム
電話: 0120-554-881(受付時間:平日 9:00~18:00)

  • このエントリーをはてなブックマークに追加

連記事

SAPからのご案内

SAPジャパンブログ通信

ブログ記事の最新情報をメール配信しています。

以下のフォームより情報を入力し登録すると、メール配信が開始されます。

登録はこちら