はじめに
この章ではDatabase Actions(SQL Developer Webの後継機能)を利用して、サンプルデータをADBインスタンスにデータをアップロードします。
前提条件 :
- ADBインスタンスが構成済みであること
※ADBインタンスを作成方法については、101:ADBインスタンスを作成してみよう を参照ください。 - 以下にリンクされているサンプルデータのCSVファイルをダウンロードしていること
目次
所要時間 : 約20分
1. 手元のPCからCSVデータをロードしてみよう
まず手元のPC上のデータをADBインスタンスにロードしてみましょう。サンプルデータとしてsales_channels.csvファイルを利用します。
-
ADBインスタンスを作成しようで学習したDatabase Actionsを利用したインスタンスへの接続 を参照し、Database Actionsを起動し、Adminユーザーで接続してください。ツールタブから、データベース・アクションを開くをクリックしてください。
-
Database Actionsのランディングページのデータ・ツールから データ・ロード を選択します。
-
データの処理には、データのロード を選択し、データの場所には、ローカル・ファイル を選択して 次 をクリックします。
-
ファイルの選択をクリックし、ダウンロードして解凍した sales_channels.csv を選択します。
-
sales_channels.csvがロードできる状態になりました。
ロード前にペンアイコンをクリックし、詳細設定を確認・変更できます。 -
sales_channels.csvの表定義等のデータのプレビューを確認したら 閉じる をクリックします。
-
緑色の実行ボタンをクリックし、データのロードを開始します。
-
データ・ロード・ジョブの実行を確認するポップアップが表示されるので、実行 をクリックします。
-
sales_channels.csvに緑色のチェックマークが付き、ロードが完了しました。完了をクリックします。
補足
ロード完了後、赤枠のマークをクリックすると、エラーログ等の詳細を見ることができます。
-
ロードされたsales_channels.csvが表として格納されたのかワークシートで確認していきます。SQLをクリックします。
-
ロードされたデータの内容・件数を確認するために以下のSQLをワークシートに貼り付けて実行します。
select * from sales_channels;
結果が表示されます。
これで、手元のPCからデータをADBにロードするチュートリアルが完了しました。
次は、Database Actionsで、クラウド・ストレージからのデータのロードをしてみましょう。
2. クラウド・ストレージからデータをロードしてみよう
この章では、オブジェクトストレージからADBへのデータロード方法を記載します。
大量データをロードしたい場合はパフォーマンス性能の観点から本手順を推奨しています。
サンプルデータとしてsales_channels.csvファイルを利用します。
2-1. OCIオブジェクトストレージへのアクセス情報を取得
以下の手順で、ADBインスタンスからオブジェクトストレージ上のファイルにアクセスするための、ユーザ名、Auth Token(認証トークン)を取得します。
Auth TokenはAPIでオブジェクトストレージにアクセスする時のパスワードに相当します。クレデンシャル(資格証明)を作成するときに必要な情報になります。
-
OCIサービス画面の右上にある 「ユーザ(人型アイコン)」»「ユーザ設定」 を選択します。
-
画面上部に表示されているユーザ名をクリップボードにコピーし、テキストファイルに保存しておきます。 次に、認証トークンタブのトークンの生成をクリックします。
注意
ユーザ名の前に oracleidentitycloudservice/ のような接頭辞が付加されている場合は、これを含めてユーザ名とします
-
説明にトークンの名前(例:first_token)を入力し、トークンの生成をクリックします。
-
コピー をクリックします。
生成されたトークンがクリップボードにコピーされますので、メモ帳など適切な保存場所に貼り付け保存してください。この後の手順で利用します。閉じるをクリックします。注意
このトークン(Token)は、作成時に一度きりしか表示されません。紛失しないように必ず安全な場所に保管してください。
2-2. OCIオブジェクトストレージへのデータアップロード
ダウンロードしたsales_channels.csvをオブジェクトストレージへアップロードします。
-
OCIのハンバーガーメニューの 「ストレージ」 » 「バケット」 をクリックします。
-
バケットの作成 をクリックします。
-
バケット名(例:first_bucket)を入力し、作成をクリックします。
-
作成したバケットの右側のオプションから、バケットの詳細の表示 をクリックします。
-
アップロード をクリックし、sales_channels.csvをアップロードしていきましょう。
-
ファイルを選択をクリックし、手元のPCからsales_channels.csvを選択します。
-
sales_channels.csvがアップロードされたのを確認し、アップロードをクリックします。
-
アップロードしたオブジェクトの右側のオプションから、オブジェクト詳細の表示 をクリックします。
-
ファイル名を除いたURLパス(URI) をコピーし、メモ帳など適切な保存場所に貼り付け保存してください。この後の手順で利用します。取消をクリックして戻ります。
注意
ファイル名は除いた/o/までのURLをコピーしてください。
例:https://objectstorage.us-phoenix-1.oraclecloud.com/n/myoci/b/my_bucket/o/)
2-3. OCIオブジェクトストレージからADBインスタンスへのデータ・ロード
-
Database Actionsに戻り、データ・ロードをクリックします。
-
データの処理には、データのロード を選択し、データの場所には、クラウド・ストレージ を選択して 次 をクリックします。
-
+ボタンをクリックし、クラウド・ストレージの追加を行っていきましょう。
-
下記を参考にクラウドストレージの追加 に情報を入力した後、テストをクリックします。
名前 任意の名前を入力
(例:My_Cloud_Storage)クラウド・ストア Oracleを選択 URI+バケット オブジェクト詳細からコピー済のURIを入力
(例: https://objectstorage.us-phoenix-1.oraclecloud.com/n/myoci/b/my_bucket/o/)使用する資格証明 資格証明の作成を選択 Oracle Infrastractureユーザ名 ユーザ設定からコピー済のユーザ名
(例: myUsername)認証トークン 認証トークン生成時にコピー済の認証トークンを入力
(例: LPB>Ktk(1M1SD+a]+r) -
クラウド・ストレージURIは指定された資格証明で有効ですとテストの成功を示す表示を確認し、作成をクリックします。
-
sales_channels.csvが存在するクラウド・ストレージにアクセスできているのを確認し、画面左側のsales_channels.csvを画面左側へドラッグ&ドロップします。
-
sales_channels.csvがデータ・ロード・ジョブに追加されたのを確認し、緑色の実行ボタンをクリックします。
補足
すでにSALES_CHANNNEL表は作成済みのため、デフォルトだと表名が重複しないよう自動的に別名(SALES_CHANNEL_1表)で作成されロードされます。既存のSALES_CHANNEL表に追加ロードすることも可能です。
-
データ・ロード・ジョブの実行を確認するポップアップが表示されるので、実行 をクリックします。
-
sales_channels.csvに緑色のチェックマークが付き、ロードが完了しました。完了をクリックします。
-
ロードされたsales_channels.csvが表として格納されたのかワークシートで確認していきます。SQLをクリック。
-
ロードされたデータの内容・件数を確認するために以下のSQLをワークシートに貼り付けて実行します。
select * from sales_channels_1;
結果が表示されます。
3. クラウド・ストレージのデータをフィードしてみよう
クラウド・ストレージに入ってきた新しいデータを指定した頻度でポーリングすることで、ライブ表として設定したテーブルに最新のデータを自動フィードすることができます。
従来はBucketにファイルを置いたことを定期的に監視してロードするといったスクリプトを作り込む必要がありましたが、Database Actionsのフィード機能を使えば、Bucketにファイルを置きさえすればデータベースに指定した頻度で同期されるので、IoT用途やOracle Machine Learningのデータベース内機械学習、データ分析に活用可能です。
-
Database Actionsのランディングページのデータ・ツールから データ・ロード を選択します。
-
データの処理には、データのフィード を選択し、データの場所には、クラウド・ストレージ を選択して 次 をクリックします。
-
ライブ表フィードの作成をクリックします。
-
下記を参考にライブ表フィールドの作成に情報を入力した後、作成をクリックします。
ライブ表フィード名 任意の名前を入力
(例: LIVE_TABLE_FEED)ターゲット名 任意の名前を入力
(例: LIVE_TABLE)オブジェクト・フィルタ 【任意】 正規表現の設定をする場合に入力 スキーマ 任意のスキーマを選択
(例: ADMIN)クラウド・ストレージ 任意のストレージを選択
(例: MY_CLOUD_STORAGE)ポーリング ※ チェックを入れることで、設定したクラウドストレージから最新のデータを取りに行く頻度を設定できます。
ポーリングの開始日と終了日を設定することも可能です。
(例:月曜日、水曜日、金曜日の2時間おき) -
LIVE_TABLE_FEEDというライブ表フィードが作成されました。
-
前述のObject Storageにcsvファイルをアップロードする項を参照しながら、Object Sorageにファイルを新規でアップロードしましょう。
アップロードが終了したら、LIVE_TABLE_FEEDの赤枠のオプションボタンのライブ表フィードの即時実行(1回)をクリックします。 -
新規にObject Storageにアップロードされたファイルがライブ表にフィードされたのかワークシートで確認していきます。SQLをクリック。
-
ロードされたデータの内容・件数を確認するために以下のSQLをワークシートに貼り付けて実行します。
select * from LIVE_TABLE;
結果が表示されます。
以上で、この章は終了です。
次の章にお進みください。