ネイティブ関数の関数マッピング - Teradata Database - Teradata Vantage NewSQL Engine - ネイティブ関数の関数マッピングの機能の概要

Teradata Vantage NewSQLエンジンのリリース サマリー

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/hqm1512077988481.ditamap
dita:ditavalPath
ja-JP/hqm1512077988481.ditaval
dita:id
B035-1098
Product Category
Software
Teradata Vantage

関数マッピングを使用すると、外部サーバーでテーブル演算子を実行するだけでなく、データベースまたはユーザー内でテーブル演算子を実行するための単純な名前を指定できます。関数マッピングは、入力テーブル、出力テーブル、および処理中に使用するその他のパラメータを定義します。以前は、ユーザーはkmeans@coprocessorのようなテーブル演算子の場所を指定する必要がありました。例:

  SELECT * FROM kmeans@coprocessor (
    ON computers_train1 AS InputTable 
    ON kmeanssample_centroid AS CentroidsTable
       USING OutputTable(kmeanssample_output)
       ClusterAssignmentTable(kmeanssample_clusteredoutput)
    ) AS dt ORDER BY clusterid ; 

CREATE FUNCTION MAPPING SQL文を使用して関数マッピングを定義した後、ユーザー クエリーは単純にkmeansのような関数マッピング名を指定できます。例:

   SELECT * FROM 
    KMeans(
           ON computers_train1 AS InputTable
           ON kmeanssample_centroid AS CentroidsTable
           OUT TABLE OutputTable(kmeanssample_output)
           OUT TABLE ClusterAssignmentTable(kmeanssample_clusteredoutput)
           ) AS dt ORDER BY clusterid ;

利点

  • データベース内のテーブル演算子をマッピングするには、SERVER句を指定せずにCREATE FUNCTION MAPPING文を使用します。
  • @coprocessor構文を非表示にすることで、ユーザー エクスペリエンスの簡素化を実現し、セキュリティも強化できます。ユーザーはクエリーで@coprocessorを指定する必要はありません。
  • わかりやすい名前を付けることで使い勝手が向上します。
  • 関数マッピング定義はテーブル仕様を簡素化します。
  • 実働環境のクエリーに影響を与えることなく、関数引数などのクエリー操作に対する変更を可能にします。
  • 複数のANY IN TABLE句を指定できます。

考慮事項

データベース内に格納されているテーブル演算子の場合、データベースまたはユーザーを指定しないと、優先順位に従って場所のデフォルトは次のいずれかになります。
  • セッションの現在のデフォルト データベースまたはユーザー
  • SYSLIB

SQLの変更

CREATE FUNCTION MAPPINGとREPLACE FUNCTION MAPPINGの場合:
  • SERVER句はオプションになりました。つまり、データベースまたはユーザー内のテーブル演算子には指定されません。
  • 複数のANY IN TABLE句を指定できるようになりました。

追加情報

外部テーブルの作成の詳細については、<Teradata Vantage™ SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。

テーブル演算子の処理の詳細については、<Teradata Vantage™ SQLデータ操作言語、B035-1146>の「テーブル演算子」を参照してください。