ADO.NET Provider for HDFS

Build 24.0.9062

ユーザー定義ビュー

CData ADO.NET Provider for HDFS はユーザー定義ビューの使用をサポートします。これは事前設定されたクエリによって内容が決定されるユーザー定義の仮想テーブルです。ユーザー定義ビューは、ツール からドライバーを使用する場合など、ドライバーに発行されるクエリを直接制御できない場合に役立ちます。

ユーザー定義ビューを使用して、常に適用されるプレディケートを定義することができます。ビューへのクエリで追加のプレディケートを指定すると、それらはビューの一部としてすでに定義されているクエリと結合されます。

ユーザー定義ビューを作成する方法は2つあります。

  • 必要なビューを定義したJSON 形式のコンフィギュレーションファイルを作成。
  • DDL ステートメント。

コンフィギュレーションファイルでビューの定義

ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。本製品 は、このファイルで指定されたビューを自動的に検出します。

また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみが本製品 によって検知されます。

このユーザー定義ビューのコンフィギュレーションファイルは、各ルートエレメントがビューの名前を定義し、query と呼ばれる子エレメントを含むようにフォーマットされています。この子エレメントにはビューのカスタムSQL クエリが含まれています。

次に例を示します。

{
	"MyView": {
		"query": "SELECT * FROM Files WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"

DDL ステートメントを使用したビューの定義

本製品 は、CREATE LOCAL VIEW、ALTER LOCAL VIEW、DROP LOCAL VIEW などのDDL ステートメントを介してスキーマを作成したり、変更したりすることもできます。

ビューの作成

DDL ステートメントを使用して新しいビューを作成するには、以下のようにビュー名とクエリを指定します。

CREATE LOCAL VIEW [MyViewName] AS SELECT * FROM Customers LIMIT 20;

JSON ファイルが存在しない場合は、上記のコードで作成されます。ビューはJSON コンフィギュレーションファイルで作成され、検出可能になります。JSON ファイルの場所はUserDefinedViews 接続プロパティで指定されます。

ビューの変更

既存のビューを変更するには、代わりに使用したい新しいクエリと一緒に既存のビュー名を指定します。

ALTER LOCAL VIEW [MyViewName] AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';

ビューはJSON コンフィギュレーションファイルで更新されます。

ビューの削除

既存のビューを削除するには、代わりに使用したい新しいクエリと一緒に既存のスキーマ名を指定します。

DROP LOCAL VIEW [MyViewName]

これにより、ビューがJSON コンフィギュレーションファイルから削除されます。クエリはできなくなります。

ユーザー定義ビューのスキーマ

ビューの名前がデータモデル内の実際のエンティティと衝突するのを避けるため、ユーザー定義ビューはデフォルトでUserViews スキーマで公開されます。UserViews で使用されるスキーマの名前を変更するには、UserViewsSchemaName プロパティを再設定します。

ユーザー定義ビューの使用

例えば、UserViews.RCustomers という名前のユーザー定義ビューを持つSQL ステートメントは、Raleigh の顧客のみをリストします。
SELECT * FROM Customers WHERE City = 'Raleigh';
ドライバーへのクエリは次のようになります。
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';
ソースへの効果的なクエリは次のようになります。
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';
これは、ビュークエリとビュー定義を効果的に組み合わせた、ユーザー定義ビューへのクエリの非常にシンプルな例です。これらのクエリをはるかに複雑なパターンで構成することが可能です。すべてのSQL 操作は両方のクエリでサポートされ、必要に応じて組み合わされます。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062