3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

第3章 Denodoにおけるビュー設定

Last updated at Posted at 2023-03-16

目次

1.はじめに
2.今回の実施内容
3.作業実施するうえでの予備知識
4.今回作成する派生ビューのイメージ
5.サンプルデータのダウンロード
6.データソース登録
7.基本ビュー作成
8.派生ビュー作成
9.クエリ実行
10.最後に

参考URL

1 はじめに

本記事は、データ仮想化製品Denodoについて紹介する連載記事になっております。

データ仮想化技術やDenodoの概要については、第1章 データ仮想化とDenodo概要をご参照ください。
また、データ仮想化環境の構築については、第2章 データ仮想化環境の構築をご参照ください。

本記事の内容は、データ仮想化環境(Denodo Express)の構築が完了していないと実施できません。
構築が完了してから、以下の手順に進んでください。

前回と前々回の記事

2 今回の実施内容

今回はDenodo内に派生ビューというものを作成していきます。
その派生ビューに対してVQL(SQLライクに記述できるDenodo独自の言語、詳細はリンクを参照)を実行し、データ抽出を行います。

派生ビューを作成するにあたって、まず基本ビューを作成します。
この基本ビューをもとに派生ビューを作成します。
さらにこの派生ビューにカラムを付け加え、オリジナルのビューを作成していきます。

今回の最終的な目標としては、基本ビュー作成後に派生ビュー内のデータを抽出できれば完了になります。

3 作業実施するうえでの予備知識

Denodo内に派生ビューを作成するにあたって、まずデータソースと基本ビューを作成する必要があります。
このためデータソース基本ビュー派生ビューの概要から説明します。

データソース

Denodoがデータベースやファイル(XMLやJSON、Excelなど)からデータを取得するために設定する必要があるものです。
Denodo内部では、データソースが1つのデータリポジトリとして表現されます。
[参考URL]

基本ビュー

データベースやファイルのデータ(カラムやフィールド内のデータ)がそのままビューの形式で表現されたものです。
後述する派生ビューは、この基本ビューを組み合わせて作成されます。
[参考URL]

派生ビュー

基本ビューや他の派生ビューを組み合わせて作成されるビューです。
ビューに出力させるカラムをオリジナルで設定できます。
例えば、様々な購買情報のデータが格納されている基本ビューから、客層と購入された商品だけのカラムを表示させるビューを派生ビューとして作成することができます。
[参考URL]

4 今回作成する派生ビューのイメージ

今回作成する派生ビューのイメージは、以下の画像にある通りです。
オープンデータを取り込み東京と札幌の気象データを基本ビューとして作成し、その基本ビューを結合した派生ビューを作成します。
派生ビューには「東京と札幌の最高気温の差」というカスタムカラムを追加し、表示できるようにします。
派生ビューのイメージ図.PNG

このカスタムカラムをフィルタして「2地点の気象データから最高気温の差を特定の値でフィルタしてデータを抽出」することを目標とします。

5 サンプルデータのダウンロード

サンプルデータとして、今回は気象庁が公開している気象データを使用します。
以下のサイトから、過去の気象データをダウンロードすることができます。
気象庁 | 過去の気象データ・ダウンロード

以下のダウンロード手順に沿って、東京と札幌の気象データをダウンロードしてください。

5-1 東京の気象データをダウンロード

気象庁のサイトにアクセスします。
アクセスすると過去の気象データがダウンロードできるサイトが表示されます。
01_気象庁のサイト.PNG

都道府県選択で東京を選択します。
01_気象庁のサイトで東京を選択.PNG

東京都内の地点が複数表示されますが、この中から東京を選択します。
02_東京の地点を選択.PNG

次にダウンロードするデータの項目を設定します。
項目を選ぶボタンを選択する
②データの種類:日別値を選択する
③項目:気温の日最高気温日最低気温に✓を入れる
04_項目を選択.PNG

データの項目選択後、取得するデータの期間を設定します。
期間を選ぶボタンを選択する
②期間:連続した期間で表示するを選択し、1か月間の期間(2023年2月1日~2023年3月1日)を指定する
05_期間を選択.PNG

最後に表示オプションを設定します。
①画面上部の表示オプションを選ぶボタンを選択する
②利用上注意が必要なデータの扱い:値を表示(格納)しないを選択
③観測環境などの変化の前後で、値が不均質となったデータの扱い:観測環境などの変化前の値を表示(格納)しないを選択
④ダウンロードCSVファイルのデータ仕様:すべて数値で格納(現象あり・なし情報、品質情報は数値で格納)と日付リテラルで格納を選択
⑤その他:両方とも選択しない
CSVファイルをダウンロードを選択し、東京の気象データをダウンロードする
06_表示オプションを選択.PNG

data.csvファイルがダウンロードされますが、このままではどこの地点の気象データか
わかりにくいため、data_東京.csvにリネームしてください。

5-2 札幌の気象データをダウンロード

次に札幌の気象データをダウンロードします。
①画面右側の「選択された地点」に記載されている東京を削除する
②画像上部の地点を選ぶを選択する
07_東京の地点を削除.PNG

地点選択の画面に戻り、画像上部にある他の都道府県を選ぶを選択します。
08_他の都道府県を選択.PNG

都道府県の選択画面に戻り、北海道の石狩を選択します。
09_気象庁のサイトで石狩を選択.PNG

石狩地方の地点から札幌を選択し、札幌のデータをダウンロードします
①石狩地区の地点から札幌を選択する
②画面右側の「選択された地点」に札幌が追加されたことを確認する
③画面右上のCSVファイルをダウンロードを選択する
 ※項目や期間、表示オプションに関しては、先ほど東京のデータをダウンロードした際の設定が残っているため、
  このままCSVファイルをダウンロードを選択する
10_札幌の地点を選択.PNG

CSVファイルをダウンロードを選択後data.csvファイルがダウンロードされます。
先ほどと同様にこのままではどこの地点の気象データか
わかりにくいため、data_札幌.csvにリネームしてください。

5-3 ダウンロードした気象データの体裁を調整

上記手順で東京と札幌の気象データCSVファイルがダウンロードできたかと思います。

東京の気象データ

11_東京のCSV.PNG

札幌の気象データ

12_札幌のCSV.PNG

このダウンロードしたCSVファイルの体裁を、以下の画像のように修正してください。
具体的には「1~3行目と5行目の削除」と「B4セルとC4セルに、東京と札幌の地点を追記」してください。
体裁修正後、気象データは以下のようにリネームして保存してください

  • 東京:data_東京_体裁修正済み.csv
  • 札幌:data_札幌_体裁修正済み.csv
体裁修正後:東京の気象データ

13_体裁修正済み東京のCSV.PNG

体裁修正後:札幌の気象データ

14_体裁修正済み札幌のCSV.PNG

6 データソース登録

気象データのダウンロードが完了したところで、さっそくDenodoに触れていきます。
まず最初に行うことが、データソース登録になります。

先ほど体裁を修正した気象データを任意の場所に配置します。
今回はわかりやすくCドライブ直下にフォルダー「Denodo_SampleData」を作成し、その中に気象データ2つを格納します。
01_ローカルにサンプルデータ格納.PNG

Cドライブ直下に気象データの格納が完了したら、次にDenodoのVirtual DataPort ServerVirtual DataPort Administration Toolを起動します。
Virtual DataPort Serverの起動方法については、第2章第5節の記事に記載されておりますので、そちらをご参照ください。
Virtual DataPort Serverが起動すると、以下のように通知が出力されます。
VDPサーバ起動.png

Virtual DataPort Server起動後、次はVirtual DataPort Administration Toolを起動します。
Virtual DataPort Administration Toolの右側にある「LAUNCH」を選択します。
06_AdminTool起動前.PNG

Virtual DataPort Administration Toolが起動すると以下のような画面が出てきます。
デフォルトで作成されるadminアカウントの情報を入力後、「Connect」を選択しログインします。

  • USER:admin
  • PASSWORD:admin
  • VIRTUAL DATAPORT SERVER://localhost:9999/admin
    07_AdminTool起動後.PNG

Connect」を選択後、Virtual DataPort Serverに接続されます。
下記の画面がVirtual DataPort Serverのホーム画面になります。
08_AdminToolホーム画面.PNG

Virtual DataPort Serverに接続できたら、次はVirtual DataPort Server内に仮想DBを作成します。
まず、左上にあるメニューバーから「Administration」>「Database Management」を選択します。
選択すると以下のような画面が表示され、現在登録されている仮想DBの一覧が表示されます。
09_仮想DB一覧.PNG

左上にある「New」を選択し、今回の作業用に新しく仮想DBを作成します。
仮想DBの設定値は、以下のように設定します。

  • Name:[任意の名前を記入します](ここではkisyo_dataとします)
  • Description:空欄
  • Identifiers charset:Unicode - Case sensitive
  • Automatic cost based optimization:Default (Off)
  • Automatic simplification of queries:Default (On)
  • Use summaries for queries acceleration:Default (On)
  • Authentication type:Internal user
  • ODBC authentication:✓を入れない
    設定値の記入が完了したら、右下の「Ok」を選択してください。
    Ok」を選択すると「kisyo_data」という名前の仮想DBが作成されます。
仮想DB作成画面

10_仮想DB作成画面.PNG

「Ok」ボタン押下後

11_仮想DB作成完了.PNG

次にこの仮想DBの中に、データソースを登録していきます。
以下の手順で東京と札幌の気象データのデータソースを登録します。

まず、東京の気象データのデータソースから登録していきます。
左側のDatabasesの中にあるkisyo_dataを選択します。
この状態で、左上のメニューバーから「File」>「New...」>「Data source」>「Delimited file」を選択します。
選択すると以下のような画面が表示されます。
12_データソース登録_東京.PNG

様々な記入欄や選択欄がありますが、以下の項目のみ記入及び選択します。(記載以外の項目はデフォルトのままにします。)
①Name:[任意の名前を記入します](ここではkisyo_data_tokyoとします)
②Data route:Local
③Column delimiter:,(カンマ)
④Header:✓を入れる
⑤Data routeの右側にあるConfigureを選択
13_データソース登録画面_東京.PNG

Configureを選択するとEdit Local Connectionという画面がポップアップされます。
この画面で以下のように項目を設定します。
①File path:C:/Denodo_SampleData/data_東京_体裁修正済み.csv(任意の場所に保存した東京の気象データのファイルパス)
②File name pattern:空欄
③Autodetect encoding Charset encoding:✓を入れる
④Input Filter:Noneを選択する
14_CSVファイル指定_東京.PNG

上記4つを記入し終えたら、右下のTest connectionを選択します。
Test connectionを選択すると、Virtual DataPort Serverがローカルにある東京の気象データに接続できるかテストを実施します。
以下の画面が表示されれば、接続テストはクリアです。
以下の画面が出ない場合は接続ができておりませんので、前画面のFile path等を再度ご確認ください
15_東京のデータの接続チェック.PNG

接続テストが完了したらEdit Local Connection画面の右下にある「Ok」を選択します。
その後、データソースの画面に戻り、左上の「Save」を選択し保存します。
16_データソース登録_東京.PNG

保存すると仮想DB内にkisyo_data_tokyoというデータソースが登録されます。
17_データソース登録_東京_表示.PNG

これで東京の気象データのデータソース登録は完了です。
残り札幌の気象データのデータソース登録も実施します。
手順は上記と同様です。
File pathのみ異なりますので、ご注意ください。
私の環境下では、以下のように設定しました。

  • File path:C:\Denodo_SampleData\data_札幌_体裁修正済み.csv(任意の場所に保存した札幌の気象データのファイルパス)

東京と札幌のデータソース登録が完了すると、以下のようにkisyo_dataデータベース内に2つのデータソースが登録されます。
18_データソース登録_東京_札幌_表示.PNG

これでデータソース登録は完了です。

7 基本ビュー作成

データソースが作成できたところで、次は基本ビューを作成していきます。
まずは東京の気象データの基本ビューから作成します。
①kisyo_dataデータベースから、kisyo_data_tokyoデータソースを選択
②右上にあるCreate base viewを選択
19_東京のベースビュー作成.PNG

Create base viewを選択すると基本ビューの登録画面が出てきます。
基本ビューの名前やカラムの型を以下のように設定します。
①View name:kisyo_data_tokyo_base_viewを入力する
②Field Typeを変更する
・"年月日"のField Type:text
・"東京の最高気温(℃)"のField Type:float
・"東京の最低気温(℃)"のField Type:float
③左上のフロッピーディスクのマークを選択し保存する
20_東京のベースビューを保存.PNG

上記と同じ手順で、札幌の気象データの基本ビューも作成していきます。
作成するとkisyo_dataデータベースの中に、基本ビューが2つ作成されます。
21_ベースビュー作成完了.PNG

これで基本ビュー作成が完了です。

8 派生ビュー作成

ここから本題の派生ビューを作成していきます。
①Databasesの中にあるkisyo_dataデータベースを選択する
②左上のメニューバーから「File」を選択する
③「New...」>「Join」を選択する
29_派生ビュー設定画面.PNG
スクリーンショット (2).png

Joinを選択すると、以下のような派生ビュー設定画面が表示されます。
Associated viewsの下にある枠に、東京と札幌の基本ビューをドラッグアンドドロップします。
30_基本ビュー選択.PNG

東京と札幌の基本ビュー両方にあるカラム「年月日」を紐づける設定をします。
札幌の基本ビューの年月日をドラッグし、東京の基本ビューにある年月日にドロップします。
ドラッグアンドドロップすると、以下のように矢印で結ばれます。
31_ベースビュー紐づけ.PNG

次に重複しているカラムを削除します。
①上のタブから「Output」を選択する
②札幌の基本ビュー(kisyo_data_sapporo_base_view)にある年月日に✓を入れる
③右下のRemove selectedを選択しカラムを削除する
32_派生ビュー修正.PNG

次に、以下に記載されている順番にカラムを入れ替えます。

  • kisyo_data_tokyo_base_viewの"年月日"
  • kisyo_data_tokyo_base_viewの"東京の最高気温(℃)"
  • kisyo_data_tokyo_base_viewの"東京の最低気温(℃)"
  • kisyo_data_sapporo_base_viewの"札幌の最高気温(℃)"
  • kisyo_data_sapporo_base_viewの"札幌の最低気温(℃)"

kisyo_data_sapporo_base_viewの"札幌の最高気温(℃)"と"札幌の最低気温(℃)"の右にある□に✓を入れ、右端にある▲▼で順番を入れ替えます。
以下は、カラムを入れ替えた後の図になります。
派生ビュー_カラム入れ替え.PNG

カラム入れ替え後、派生ビューにカラムを追加します。
右下のNew fieldを選択します。
選択すると、New fieldという設定画面がポップアップされます。
この画面で、以下の項目を入力してください。

  • Field name:東京と札幌の最高気温差(℃)
  • Field expressin:SUBTRACT(kisyo_data_tokyo_base_view."東京の最高気温(℃)", kisyo_data_sapporo_base_view."札幌の最高気温(℃)")
    入力が完了したら、右下の「Ok」を選択してください。

ここまで設定したら、最後に左上のフロッピーディスクのマークを選択し、派生ビューを保存します。
これで派生ビュー作成が完了です。

9 クエリ実行

手順8で作成した派生ビューにクエリ実行し、派生ビューの中身が表示されるか確認します。
①左側のDatabasesの中から、kisyo_data.kisyo_data_sapporo_base_view_i_kisyo_data.kisyo_data_toyko_base_viewという派生ビューを選択する
②派生ビュー選択後、右上のExecution panelを選択する
③画面下部に表示されるExecuteというタブの右端にあるExecuteを選択する
(Executeタブ枠内のCurrent sentenceに記述されている「select *」というビューの中身を表示するクエリが実行される)
33_クエリ実行前.PNG

Executeを選択するとVQLクエリ(select *)が実行され、クエリ結果が表示されます。
34_クエリ実行後.PNG

また、フィルター検索も実施してみます。
右上のExecution panelを選択し、Executeタブを出します。
その後、Quick Queryを選択します。
Conditionsの横にある+を選択し、以下の画像に記載されているように条件を追加します。

  • "東京と札幌の最高気温差(℃)、>=、12.0"の3つを入力
    フィルター条件.PNG

条件を入力後、右上のExecuteを選択すると東京と札幌の最高気温差が12度以上のデータだけ表示されるようになります。
フィルター検索の結果.PNG

東京と札幌の最高気温差が12度以上のデータを表示することができたら、今回の最終目標であった「2地点の気象データから最高気温の差を特定の値でフィルタしてデータを抽出」が完了となります。

10 最後に

ここまで長い手順でしたが、お疲れでした。
今回作業したように、Denodoではまず基本ビューを作成し、そこからオリジナルの派生ビューを作成し、クエリ実行することでデータ活用・抽出ができます。
これはDenodoの基本中の基本であるため、今回の作業が完了できれば基本は押さえられたことになります。

次回の記事からは少し応用的な内容になっていきます。
次回の内容は「キャッシュ設定」を予定しています。

次回の記事もご期待ください。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?