クエリサービスの SQL 構文
標準の ANSI SQL を使用して、 SELECT
Adobe Experience Platform クエリサービスのステートメントおよびその他の制限付きコマンド。 このドキュメントでは、でサポートされる SQL 構文について説明します Query Service.
クエリを選択 select-queries
以下の構文は、 SELECT
でサポートされるクエリ Query Service:
[ WITH with_query [, ...] ]
SELECT [ ALL | DISTINCT [( expression [, ...] ) ] ]
[ * | expression [ [ AS ] output_name ] [, ...] ]
[ FROM from_item [, ...] ]
[ SNAPSHOT { SINCE start_snapshot_id | AS OF end_snapshot_id | BETWEEN start_snapshot_id AND end_snapshot_id } ]
[ WHERE condition ]
[ GROUP BY grouping_element [, ...] ]
[ HAVING condition [, ...] ]
[ WINDOW window_name AS ( window_definition ) [, ...] ]
[ { UNION | INTERSECT | EXCEPT | MINUS } [ ALL | DISTINCT ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start ]
以下のタブ セクションには、FROM、GROUP、および WITH キーワードで使用可能なオプションが表示されます。
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
code language-sql |
---|
|
次の項では、前述のフォーマットに従う場合に、問合せで使用できる追加条項の詳細を示します。
SNAPSHOT 句
この句は、スナップショット ID に基づいて、テーブルのデータを増分的に読み取るために使用できます。 スナップショット ID は、データが書き込まれるたびにデータレイクテーブルに適用される、Long タイプの番号で表されるチェックポイントマーカーです。 この SNAPSHOT
句は、次に使用されるテーブル関係にアタッチします。
[ SNAPSHOT { SINCE start_snapshot_id | AS OF end_snapshot_id | BETWEEN start_snapshot_id AND end_snapshot_id } ]
例
SELECT * FROM table_to_be_queried SNAPSHOT SINCE start_snapshot_id;
SELECT * FROM table_to_be_queried SNAPSHOT AS OF end_snapshot_id;
SELECT * FROM table_to_be_queried SNAPSHOT BETWEEN start_snapshot_id AND end_snapshot_id;
SELECT * FROM table_to_be_queried SNAPSHOT BETWEEN HEAD AND start_snapshot_id;
SELECT * FROM table_to_be_queried SNAPSHOT BETWEEN end_snapshot_id AND TAIL;
SELECT * FROM (SELECT id FROM table_to_be_queried BETWEEN start_snapshot_id AND end_snapshot_id) C
(SELECT * FROM table_to_be_queried SNAPSHOT SINCE start_snapshot_id) a
INNER JOIN
(SELECT * from table_to_be_joined SNAPSHOT AS OF your_chosen_snapshot_id) b
ON a.id = b.id;
次の表に、SNAPSHOT 句内の各構文オプションの意味を示します。
SINCE start_snapshot_id
AS OF end_snapshot_id
BETWEEN start_snapshot_id AND end_snapshot_id
start_snapshot_id
次を含む end_snapshot_id
.BETWEEN HEAD AND start_snapshot_id
start_snapshot_id
.BETWEEN end_snapshot_id AND TAIL
end-snapshot_id
(スナップショット ID を除く)データセットの最後まで。 これは、次の場合を意味します end_snapshot_id
はデータセット内の最後のスナップショットです。この最後のスナップショットを超えるスナップショットがないので、クエリはゼロ行を返します。SINCE start_snapshot_id INNER JOIN table_to_be_joined AS OF your_chosen_snapshot_id ON table_to_be_queried.id = table_to_be_joined.id
table_to_be_queried
から取得したデータと結合されます。 table_to_be_joined
当時のように your_chosen_snapshot_id
. 結合は、結合する 2 つのテーブルの ID 列の一致する ID に基づきます。A SNAPSHOT
句は、テーブルまたはテーブルの別名と連携しますが、サブクエリまたはビューの上では機能しません。 A SNAPSHOT
句は次の場所で機能 SELECT
テーブルに対するクエリは適用できます。
また、次を使用できます HEAD
および TAIL
スナップショット句の特別なオフセット値。 使用 HEAD
は最初のスナップショットの前のオフセットを指し、は TAIL
最後のスナップショット後のオフセットを参照します。
resolve_fallback_snapshot_on_failure
)が設定されています。- オプションのフォールバック動作フラグが設定されている場合、クエリサービスは使用可能な最も古いスナップショットを選択し、それを開始スナップショットとして設定し、使用可能な最も古いスナップショットと指定された終了スナップショットの間のデータを返します。 このデータは 包括的 最も早く使用可能なスナップショット。
WHERE 句
デフォルトでは、によって生成された一致 WHERE
a の条項 SELECT
クエリでは大文字と小文字が区別されます。 一致で大文字と小文字を区別しないようにするには、キーワード ILIKE
の代わりに LIKE
.
[ WHERE condition { LIKE | ILIKE | NOT LIKE | NOT ILIKE } pattern ]
LIKE 句と ILIKE 句のロジックを次の表に示します。
WHERE condition LIKE pattern
~~
WHERE condition NOT LIKE pattern
!~~
WHERE condition ILIKE pattern
~~*
WHERE condition NOT ILIKE pattern
!~~*
例
SELECT * FROM Customers
WHERE CustomerName ILIKE 'a%';
このクエリは、「A」または「a」で始まる名前の顧客を返します。
結合
A SELECT
結合を使用するクエリには、次の構文があります。
SELECT statement
FROM statement
[JOIN | INNER JOIN | LEFT JOIN | LEFT OUTER JOIN | RIGHT JOIN | RIGHT OUTER JOIN | FULL JOIN | FULL OUTER JOIN]
ON join condition
UNION、INTERSECT、EXCEPT
この UNION
, INTERSECT
、および EXCEPT
句は、複数のテーブルの行を結合したり、テーブルの行と似た行を除外したりするために使用します。
SELECT statement 1
[UNION | UNION ALL | UNION DISTINCT | INTERSECT | EXCEPT | MINUS]
SELECT statement 2
CREATE TABLE AS SELECT create-table-as-select
以下の構文は、 CREATE TABLE AS SELECT
(CTAS)クエリ:
CREATE TABLE table_name [ WITH (schema='target_schema_title', rowvalidation='false', label='PROFILE') ] AS (select_query)
schema
rowvalidation
true
です。label
profile
をクリックして、プロファイルに対してデータセットに有効なラベルを付けます。 つまり、データセットは、作成時に自動的にプロファイル用にマークされます。 の使用について詳しくは、派生属性拡張ドキュメントを参照してください label
.select_query
例
CREATE TABLE Chairs AS (SELECT color, count(*) AS no_of_chairs FROM Inventory i WHERE i.type=="chair" GROUP BY i.color)
CREATE TABLE Chairs WITH (schema='target schema title', label='PROFILE') AS (SELECT color, count(*) AS no_of_chairs FROM Inventory i WHERE i.type=="chair" GROUP BY i.color)
CREATE TABLE Chairs AS (SELECT color FROM Inventory SNAPSHOT SINCE 123)
SELECT
ステートメントには、次のような集計関数のエイリアスが必要です: COUNT
, SUM
, MIN
など。 また、 SELECT
ステートメントは、括弧()の付いたまたは付けなしで指定できます。 以下を指定できます。 SNAPSHOT
増分削除をターゲットテーブルに読み込むための句。INSERT INTO
この INSERT INTO
コマンドは次のように定義されます。
INSERT INTO table_name select_query
table_name
select_query
例
INSERT INTO Customers SELECT SupplierName, City, Country FROM OnlineCustomers;
INSERT INTO Customers AS (SELECT * from OnlineCustomers SNAPSHOT AS OF 345)
SELECT
カッコ()内のステートメント。 また、の結果のスキーマ SELECT
ステートメントは、 INSERT INTO
ステートメント。 以下を指定できます。 SNAPSHOT
増分削除をターゲットテーブルに読み込むための句。実際の XDM スキーマのほとんどのフィールドはルートレベルで見つからず、SQL ではドット表記の使用が許可されていません。 ネストされたフィールドを使用して現実的な結果を得るには、の各フィールドをマッピングする必要があります INSERT INTO
パス。
終了 INSERT INTO
ネストされたパスでは、次の構文を使用します。
INSERT INTO [dataset]
SELECT struct([source field1] as [target field in schema],
[source field2] as [target field in schema],
[source field3] as [target field in schema]) [tenant name]
FROM [dataset]
例
INSERT INTO Customers SELECT struct(SupplierName as Supplier, City as SupplierCity, Country as SupplierCountry) _Adobe FROM OnlineCustomers;
DROP TABLE
この DROP TABLE
コマンドは、既存のテーブルを削除し、そのテーブルに関連付けられているディレクトリをファイルシステムから削除します(外部テーブルでない場合)。 テーブルが存在しない場合、例外が発生します。
DROP TABLE [IF EXISTS] [db_name.]table_name
IF EXISTS
データベースを作成
この CREATE DATABASE
コマンドは、Azure Data Lake Storage (ADLS)データベースを作成します。
CREATE DATABASE [IF NOT EXISTS] db_name
データベースの削除
この DROP DATABASE
コマンドは、インスタンスからデータベースを削除します。
DROP DATABASE [IF EXISTS] db_name
IF EXISTS
スキーマをドロップ
この DROP SCHEMA
コマンドは、既存のスキーマを削除します。
DROP SCHEMA [IF EXISTS] db_name.schema_name [ RESTRICT | CASCADE]
IF EXISTS
RESTRICT
CASCADE
CREATE VIEW create-view
SQL ビューは、SQL 文の結果セットに基づく仮想テーブルです。 を使用したビューの作成 CREATE VIEW
ステートメントと名前を付けます。 その後、その名前を使用して、クエリの結果を返すことができます。 これにより、複雑なクエリの再利用が容易になります。
以下の構文は、 CREATE VIEW
データセットのクエリ。 このデータセットは、ADLS または高速ストアデータセットにすることができます。
CREATE VIEW view_name AS select_query
例
CREATE VIEW V1 AS SELECT color, type FROM Inventory
CREATE OR REPLACE VIEW V1 AS SELECT model, version FROM Inventory
以下の構文は、 CREATE VIEW
データベースおよびスキーマのコンテキストでビューを作成するクエリ。
例
CREATE VIEW db_name.schema_name.view_name AS select_query
CREATE OR REPLACE VIEW db_name.schema_name.view_name AS select_query
db_name
schema_name
view_name
select_query
例
CREATE VIEW <dbV1 AS SELECT color, type FROM Inventory;
CREATE OR REPLACE VIEW V1 AS SELECT model, version FROM Inventory;
ビューの表示
次のクエリは、ビューのリストを示しています。
SHOW VIEWS;
Db Name | Schema Name | Name | Id | Dataset Dependencies | Views Dependencies | TYPE
----------------------------------------------------------------------------------------------
qsaccel | profile_agg | view1 | view_id1 | dwh_dataset1 | | DWH
| | view2 | view_id2 | adls_dataset | adls_views | ADLS
(2 rows)
DROP VIEW
以下の構文は、 DROP VIEW
クエリ :
DROP VIEW [IF EXISTS] view_name
IF EXISTS
view_name
例
DROP VIEW v1
DROP VIEW IF EXISTS v1
匿名ブロック anonymous-block
匿名ブロックは、実行可能セクションと例外処理セクションの 2 つのセクションで構成されます。 匿名ブロックの場合、実行可能セクションは必須です。 ただし、例外処理セクションはオプションです。
次の例は、一緒に実行される 1 つ以上のステートメントを含むブロックを作成する方法を示しています。
$$BEGIN
statementList
[EXCEPTION exceptionHandler]
$$END
exceptionHandler:
WHEN OTHER
THEN statementList
statementList:
: (statement (';')) +
以下に、匿名ブロックを使用した例を示します。
$$BEGIN
SET @v_snapshot_from = select parent_id from (select history_meta('email_tracking_experience_event_dataset') ) tab where is_current;
SET @v_snapshot_to = select snapshot_id from (select history_meta('email_tracking_experience_event_dataset') ) tab where is_current;
SET @v_log_id = select now();
CREATE TABLE tracking_email_id_incrementally
AS SELECT _id AS id FROM email_tracking_experience_event_dataset SNAPSHOT BETWEEN @v_snapshot_from AND @v_snapshot_to;
EXCEPTION
WHEN OTHER THEN
DROP TABLE IF EXISTS tracking_email_id_incrementally;
SELECT 'ERROR';
$$END;
匿名ブロック内の条件文 conditional-anonymous-block-statements
IF-THEN-ELSE 制御構造を使用すると、条件が TRUE と評価された場合に、ステートメントのリストの条件付き実行が可能になります。 このコントロール構造は、匿名ブロック内でのみ適用できます。 この構造をスタンドアロンコマンドとして使用すると、構文エラー(「匿名ブロックの外部の無効なコマンド」)が発生します。
以下のコードスニペットは、匿名ブロック内の IF-THEN-ELSE 条件文の正しい形式を示しています。
IF booleanExpression THEN
List of statements;
ELSEIF booleanExpression THEN
List of statements;
ELSEIF booleanExpression THEN
List of statements;
ELSE
List of statements;
END IF
例
次の例は、を実行します SELECT 200;
.
$$BEGIN
SET @V = SELECT 2;
SELECT @V;
IF @V = 1 THEN
SELECT 100;
ELSEIF @V = 2 THEN
SELECT 200;
ELSEIF @V = 3 THEN
SELECT 300;
ELSE
SELECT 'DEFAULT';
END IF;
END$$;
この構造は以下で使用できます。 raise_error();
カスタムエラーメッセージを返します。 以下に示すコードブロックは、「カスタムエラーメッセージ」で匿名ブロックを終了します。
例
$$BEGIN
SET @V = SELECT 5;
SELECT @V;
IF @V = 1 THEN
SELECT 100;
ELSEIF @V = 2 THEN
SELECT 200;
ELSEIF @V = 3 THEN
SELECT 300;
ELSE
SELECT raise_error('custom error message');
END IF;
END$$;
ネストされた IF ステートメント
ネストされた IF 文は、匿名ブロック内でサポートされます。
例
$$BEGIN
SET @V = SELECT 1;
IF @V = 1 THEN
SELECT 100;
IF @V > 0 THEN
SELECT 1000;
END IF;
END IF;
END$$;
例外ブロック
例外ブロックは、匿名ブロック内でサポートされます。
例
$$BEGIN
SET @V = SELECT 2;
IF @V = 1 THEN
SELECT 100;
ELSEIF @V = 2 THEN
SELECT raise_error(concat('custom-error for v= ', '@V' ));
ELSEIF @V = 3 THEN
SELECT 300;
ELSE
SELECT 'DEFAULT';
END IF;
EXCEPTION WHEN OTHER THEN
SELECT 'THERE WAS AN ERROR';
END$$;
JSON に自動 auto-to-json
クエリサービスは、オプションのセッションレベル設定をサポートし、インタラクティブ SELECT クエリから最上位の複雑なフィールドを JSON 文字列として返します。 この auto_to_json
を設定すると、複雑なフィールドのデータを JSON として返し、標準のライブラリを使用して JSON オブジェクトに解析できます。
機能フラグの設定 auto_to_json
複雑なフィールドを含む SELECT クエリを実行する前に、true に設定します。
set auto_to_json=true;
を設定する前に、 auto_to_json
フラグ
次の表は、前のクエリ結果の例を示しています auto_to_json
の設定が適用されます。 両方のシナリオで、複雑なフィールドを持つテーブルをターゲットとする同じ SELECT クエリ(以下に示す)が使用されました。
SELECT * FROM TABLE_WITH_COMPLEX_FIELDS LIMIT 2;
結果は次のようになります。
_id | _experience | application | commerce | dataSource | device | endUserIDs | environment | identityMap | placeContext | receivedTimestamp | timestamp | userActivityRegion | web | _adcstageforpqs
-----------------------------------+----------------------------------------------------------------------------+--------------+----------------------------------------------+------------+--------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------------------+-----------------------+-----------------------+--------------------+--------------------------------------------------------------------------------------+-----------------
31892EE15DE00000-401D52664FF48A52 | ("("("(1,1)","(1,1)")","(-209479095,4085488201,-2105158467,2189808829)")") | (background) | (NULL,"(USD,NULL)",NULL,NULL,NULL,NULL,NULL) | (475341) | (32,768,1024,205202,https://ns.adobe.com/xdm/external/deviceatlas) | ("("(31892EE080007B35-E6CE00000000000,"(AAID)",t)")") | ("(en-US,f,f,t,1.6,"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7",490,1125)",xo.net,64.3.235.13) | [AAID -> "{(31892EE080007B35-E6CE00000000000,t)}"] | ("("(34.01,-84.0)",lawrenceville,US,524,30043,ga)",600) | 2022-09-02 19:47:14.0 | 2022-09-02 19:47:14.0 | (UT1) | ("(f,Search Results,"(1.0)")","(http://www.google.com/search?ie=UTF-8&q=,internal)") |
31892EE15DE00000-401B92664FF48AE8 | ("("("(1,1)","(1,1)")","(-209479095,4085488201,-2105158467,2189808829)")") | (background) | (NULL,"(USD,NULL)",NULL,NULL,NULL,NULL,NULL) | (475341) | (32,768,1024,205202,https://ns.adobe.com/xdm/external/deviceatlas) | ("("(31892EE100007BF3-215FE00000000001,"(AAID)",t)")") | ("(en-US,f,f,t,1.5,"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7",768,556)",ntt.net,219.165.108.145) | [AAID -> "{(31892EE100007BF3-215FE00000000001,t)}"] | ("("(34.989999999999995,138.42)",shizuoka,JP,392005,420-0812,22)",-240) | 2022-09-02 19:47:14.0 | 2022-09-02 19:47:14.0 | (UT1) | ("(f,Home - JJEsquire,"(1.0)")","(NULL,typed_bookmarked)") |
(2 rows)
設定後: auto_to_json
フラグ
次の表に、結果の違いを示します auto_to_json
結果のデータセットに対する設定は、です。 両方のシナリオで同じ SELECT クエリが使用されました。
_id | receivedTimestamp | timestamp | _experience | application | commerce | dataSource | device | endUserIDs | environment | identityMap | placeContext | userActivityRegion | web | _adcstageforpqs
-----------------------------------+-----------------------+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------+----------------------------------+------------------+-------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------
31892EE15DE00000-401D52664FF48A52 | 2022-09-02 19:47:14.0 | 2022-09-02 19:47:14.0 | {"analytics":{"customDimensions":{"eVars":{"eVar1":"1","eVar2":"1"},"props":{"prop1":"1","prop2":"1"}},"environment":{"browserID":-209479095,"browserIDStr":"4085488201","operatingSystemID":-2105158467,"operatingSystemIDStr":"2189808829"}}} | {"userPerspective":"background"} | {"order":{"currencyCode":"USD"}} | {"_id":"475341"} | {"colorDepth":32,"screenHeight":768,"screenWidth":1024,"typeID":"205202","typeIDService":"https://ns.adobe.com/xdm/external/deviceatlas"} | {"_experience":{"aaid":{"id":"31892EE080007B35-E6CE00000000000","namespace":{"code":"AAID"},"primary":true}}} | {"browserDetails":{"acceptLanguage":"en-US","cookiesEnabled":false,"javaEnabled":false,"javaScriptEnabled":true,"javaScriptVersion":"1.6","userAgent":"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7","viewportHeight":490,"viewportWidth":1125},"domain":"xo.net","ipV4":"64.3.235.13"} | {"AAID":[{"id":"31892EE080007B35-E6CE00000000000","primary":true}]} | {"geo":{"_schema":{"latitude":34.01,"longitude":-84.0},"city":"lawrenceville","countryCode":"US","dmaID":524,"postalCode":"30043","stateProvince":"ga"},"localTimezoneOffset":600} | {"dataCenterLocation":"UT1"} | {"webPageDetails":{"isHomePage":false,"name":"Search Results","pageViews":{"value":1.0}},"webReferrer":{"URL":"http://www.google.com/search?ie=UTF-8&q=","type":"internal"}} |
31892EE15DE00000-401B92664FF48AE8 | 2022-09-02 19:47:14.0 | 2022-09-02 19:47:14.0 | {"analytics":{"customDimensions":{"eVars":{"eVar1":"1","eVar2":"1"},"props":{"prop1":"1","prop2":"1"}},"environment":{"browserID":-209479095,"browserIDStr":"4085488201","operatingSystemID":-2105158467,"operatingSystemIDStr":"2189808829"}}} | {"userPerspective":"background"} | {"order":{"currencyCode":"USD"}} | {"_id":"475341"} | {"colorDepth":32,"screenHeight":768,"screenWidth":1024,"typeID":"205202","typeIDService":"https://ns.adobe.com/xdm/external/deviceatlas"} | {"_experience":{"aaid":{"id":"31892EE100007BF3-215FE00000000001","namespace":{"code":"AAID"},"primary":true}}} | {"browserDetails":{"acceptLanguage":"en-US","cookiesEnabled":false,"javaEnabled":false,"javaScriptEnabled":true,"javaScriptVersion":"1.5","userAgent":"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7","viewportHeight":768,"viewportWidth":556},"domain":"ntt.net","ipV4":"219.165.108.145"} | {"AAID":[{"id":"31892EE100007BF3-215FE00000000001","primary":true}]} | {"geo":{"_schema":{"latitude":34.989999999999995,"longitude":138.42},"city":"shizuoka","countryCode":"JP","dmaID":392005,"postalCode":"420-0812","stateProvince":"22"},"localTimezoneOffset":-240} | {"dataCenterLocation":"UT1"} | {"webPageDetails":{"isHomePage":false,"name":"Home - JJEsquire","pageViews":{"value":1.0}},"webReferrer":{"type":"typed_bookmarked"}} |
(2 rows)
失敗時のフォールバックスナップショットの解決 resolve-fallback-snapshot-on-failure
この resolve_fallback_snapshot_on_failure
オプションを使用すると、期限切れのスナップショット ID の問題を解決できます。 スナップショットメタデータは 2 日後に有効期限が切れます。期限切れのスナップショットは、スクリプトのロジックを無効にする可能性があります。 これは、匿名ブロックを使用する場合に問題となる可能性があります。
を resolve_fallback_snapshot_on_failure
スナップショットを以前のスナップショット ID で上書きする場合は、true に設定します。
SET resolve_fallback_snapshot_on_failure=true;
次のコード行では、メタデータから入手できる最も古い snapshot_id
で @from_snapshot_id
をオーバーライドしています。
$$ BEGIN
SET resolve_fallback_snapshot_on_failure=true;
SET @from_snapshot_id = SELECT coalesce(last_snapshot_id, 'HEAD') FROM checkpoint_log a JOIN
(SELECT MAX(process_timestamp)process_timestamp FROM checkpoint_log
WHERE process_name = 'DIM_TABLE_ABC' AND process_status = 'SUCCESSFUL' )b
on a.process_timestamp=b.process_timestamp;
SET @to_snapshot_id = SELECT snapshot_id FROM (SELECT history_meta('DIM_TABLE_ABC')) WHERE is_current = true;
SET @last_updated_timestamp= SELECT CURRENT_TIMESTAMP;
INSERT INTO DIM_TABLE_ABC_Incremental
SELECT * FROM DIM_TABLE_ABC SNAPSHOT BETWEEN @from_snapshot_id AND @to_snapshot_id WHERE NOT EXISTS (SELECT _id FROM DIM_TABLE_ABC_Incremental a WHERE _id=a._id);
Insert Into
checkpoint_log
SELECT
'DIM_TABLE_ABC' process_name,
'SUCCESSFUL' process_status,
cast( @to_snapshot_id AS string) last_snapshot_id,
cast( @last_updated_timestamp AS TIMESTAMP) process_timestamp;
EXCEPTION
WHEN OTHER THEN
SELECT 'ERROR';
END
$$;
データアセット組織
データアセットの増加に応じて、Adobe Experience Platform データレイク内のデータアセットを論理的に整理することが重要です。 クエリサービスは、サンドボックス内のデータアセットを論理的にグループ化できる SQL 構成を拡張します。 この編成方法を使用すると、スキーマを物理的に移動しなくても、スキーマ間でデータアセットを共有できます。
標準の SQL 構文を使用した次の SQL 構成がサポートされており、データを論理的に整理できます。
CREATE DATABASE dg1;
CREATE SCHEMA dg1.schema1;
CREATE table t1 ...;
CREATE view v1 ...;
ALTER TABLE t1 ADD PRIMARY KEY (c1) NOT ENFORCED;
ALTER TABLE t2 ADD FOREIGN KEY (c1) REFERENCES t1(c1) NOT ENFORCED;
を参照してください。 データアセットの論理的編成 クエリサービスのベストプラクティスについて詳しく説明するガイドです。
テーブルが存在します
この table_exists
SQL コマンドは、テーブルが現在システム内に存在するかどうかを確認するために使用します。 このコマンドはブール値を返します。 true
テーブルの場合 実行 存在する、および false
テーブルに表示される場合 ではない 存在する。
文を実行する前にテーブルが存在するかどうかを検証すると、次のようになります table_exists
の機能により、両方をカバーするように匿名ブロックを書き込むプロセスが簡素化されます CREATE
および INSERT INTO
ユースケース。
次の構文は、 table_exists
コマンド:
$$
BEGIN
#Set mytableexist to true if the table already exists.
SET @mytableexist = SELECT table_exists('target_table_name');
#Create the table if it does not already exist (this is a one time operation).
CREATE TABLE IF NOT EXISTS target_table_name AS
SELECT *
FROM profile_dim_date limit 10;
#Insert data only if the table already exists. Check if @mytableexist = 'true'
INSERT INTO target_table_name (
select *
from profile_dim_date
WHERE @mytableexist = 'true' limit 20
) ;
EXCEPTION
WHEN other THEN SELECT 'ERROR';
END $$;
インライン inline
この inline
関数は、構造体の配列の要素を分離し、その値をテーブルに生成する。 以下にのみ配置できます SELECT
リストまたは LATERAL VIEW
.
この inline
関数 できません 他のジェネレータ機能がある選択リストに配置します。
デフォルトでは、生成される列の名前は「col1」、「col2」などです。 式が NULL
その後、行は生成されません。
RENAME
コマンド。例
> SELECT inline(array(struct(1, 'a'), struct(2, 'b'))), 'Spark SQL';
この例の戻り値は次のとおりです。
1 a Spark SQL
2 b Spark SQL
この 2 つ目の例では、の概念と適用をさらに示しています inline
関数。 この例のデータモデルを次の画像に示します。
例
select inline(productListItems) from source_dataset limit 10;
から取得された値 source_dataset
を使用して、ターゲットテーブルにデータを入力します。
Spark SQL コマンド
次のサブセクションでは、クエリサービスでサポートされる Spark SQL コマンドについて説明します。
SET
この SET
コマンドは、プロパティを設定し、既存のプロパティの値を返すか、既存のプロパティをすべて一覧表示します。 既存プロパティのキーに値が指定された場合、古い値が上書きされます。
SET property_key = property_value
property_key
property_value
設定の値を返すには、を使用します SET [property key]
指定しない property_value
.
PostgreSQL コマンド
以下のサブセクションでは、について説明します PostgreSQL クエリサービスでサポートされているコマンド。
分析テーブル analyze-table
この ANALYZE TABLE
コマンドは、指定されたテーブルに対して分布分析および統計計算を実行します。 の使用 ANALYZE TABLE
データセットがに保存されているかどうかによって異なります 高速化ストア または データレイク. 使用方法について詳しくは、それぞれの節を参照してください。
高速化ストアの統計を計算 compute-statistics-accelerated-store
この ANALYZE TABLE
コマンドは、高速化ストアに関するテーブルの統計を計算します。 統計は、高速化ストア上の特定のテーブルに対して実行された CTAS または ITAS クエリに基づいて計算されます。
例
ANALYZE TABLE <original_table_name>
を使用した後で使用できる統計計算のリストを以下に示します ANALYZE TABLE
コマンド:-
field
data-type
count
distinct-count
missing
max
min
mean
stdev
データレイクの統計を計算 compute-statistics-data-lake
で列レベルの統計を計算できるようになりました Azure Data Lake Storage (ADLS)データセットと COMPUTE STATISTICS
SQL コマンド。 データセット全体、データセットのサブセット、すべての列、列のサブセットのいずれかに関する列の統計を計算。
COMPUTE STATISTICS
を拡張します ANALYZE TABLE
コマンド。 ただし、 COMPUTE STATISTICS
, FILTERCONTEXT
、および FOR COLUMNS
コマンドは、高速化ストアテーブルではサポートされていません。 の拡張機能 ANALYZE TABLE
コマンドは現在、ADLS テーブルでのみサポートされています。
例
ANALYZE TABLE tableName FILTERCONTEXT (timestamp >= to_timestamp('2023-04-01 00:00:00') and timestamp <= to_timestamp('2023-04-05 00:00:00')) COMPUTE STATISTICS FOR COLUMNS (commerce, id, timestamp);
この FILTER CONTEXT
コマンドは、指定されたフィルター条件に基づいてデータセットのサブセットに関する統計を計算します。 この FOR COLUMNS
コマンドは、分析の特定の列をターゲットにします。
Statistics ID
また、生成された統計はセッションごとに有効で、異なる PSQL セッション間でアクセスすることはできません。制限事項:
- 統計の生成は、配列またはマップのデータタイプではサポートされていません
- 計算された統計は次のとおりです ではない セッションをまたいで保持される。
skip_stats_for_complex_datatypes
SET skip_stats_for_complex_datatypes = false
コンソール出力は、次のように表示されます。
| Statistics ID |
| ---------------------- |
| adc_geometric_stats_1 |
(1 row)
その後、を参照して、計算された統計に対して直接クエリを実行できます。 Statistics ID
. を使用する Statistics ID
または、以下のステートメント例に示すようなエイリアス名を使用して、出力を完全に表示できます。 この機能について詳しくは、 エイリアス名のドキュメント.
-- This statement gets the statistics generated for `alias adc_geometric_stats_1`.
SELECT * FROM adc_geometric_stats_1;
の使用 SHOW STATISTICS
コマンドを使用して、セッションで生成されたすべての一時統計のメタデータを表示します。 このコマンドを使用すると、統計分析の範囲を絞り込むことができます。
SHOW STATISTICS;
SHOW STATISTICS の出力例を次に示します。
statsId | tableName | columnSet | filterContext | timestamp
----------------------+---------------+-----------+-----------------------------+--------------------
adc_geometric_stats_1 | adc_geometric | (age) | | 25/06/2023 09:22:26
demo_table_stats_1 | demo_table | (*) | ((age > 25)) | 25/06/2023 12:50:26
age_stats | castedtitanic | (age) | ((age > 25) AND (age < 40)) | 25/06/2023 09:22:26
を参照してください。 データセット統計ドキュメント を参照してください。
大さじ tablesample
Adobe Experience Platform クエリサービスは、近似クエリ処理機能の一部としてサンプルデータセットを提供します。
データセットのサンプルは、データセットに対する集計操作に対して正確な回答が必要ない場合に最適に使用されます。 近似クエリを発行して近似回答を返すことで、大規模なデータセットに対するより効率的な探索的クエリを実行するには、を使用します TABLESAMPLE
機能
サンプルデータセットは、既存の均一なランダムサンプルを使用して作成されます Azure Data Lake Storage (ADLS)データセット:元のレコードのパーセンテージのみを使用します。 データセットサンプル機能は、を拡張します ANALYZE TABLE
を使用したコマンド TABLESAMPLE
および SAMPLERATE
SQL コマンド。
次の例では、1 行目にテーブルの 5% のサンプルを計算する方法が示されています。 2 行目では、テーブル内のデータのフィルター済みビューから 5% のサンプルを計算する方法を示しています。
例
ANALYZE TABLE tableName TABLESAMPLE SAMPLERATE 5;
ANALYZE TABLE tableName FILTERCONTEXT (timestamp >= to_timestamp('2023-01-01')) TABLESAMPLE SAMPLERATE 5:
を参照してください。 データセットサンプルに関するドキュメント を参照してください。
BEGIN
この BEGIN
コマンド、または BEGIN WORK
または BEGIN TRANSACTION
コマンド。トランザクションブロックを開始します。 begin コマンドの後に入力された文は、明示的な COMMIT または ROLLBACK コマンドが指定されるまで、1 回のトランザクションで実行されます。 このコマンドは次と同じです START TRANSACTION
.
BEGIN
BEGIN WORK
BEGIN TRANSACTION
CLOSE
この CLOSE
コマンドは、開いているカーソルに関連付けられているリソースを解放します。 カーソルを閉じた後の操作は許可されません。不要になったカーソルは閉じる必要があります。
CLOSE name
CLOSE ALL
次の場合 CLOSE name
が使用され、 name
は、閉じる必要がある開いているカーソルの名前を表します。 次の場合 CLOSE ALL
を使用すると、開いているカーソルはすべて閉じられます。
DEALLOCATE
以前に準備した SQL 文の割り当てを解除するには、次を使用します DEALLOCATE
コマンド。 プリペアドステートメントの割り当てを明示的に解除しなかった場合、セッションが終了すると割り当てが解除されます。 準備済み文の詳細については、次を参照してください。 準備コマンド セクション。
DEALLOCATE name
DEALLOCATE ALL
次の場合 DEALLOCATE name
が使用され、 name
割り当て解除する必要がある準備済み文の名前を表します。 次の場合 DEALLOCATE ALL
を使用すると、準備済み文がすべて割り当て解除されます。
DECLARE
この DECLARE
コマンドを使用すると、ユーザーはカーソルを作成できます。このカーソルを使用して、大きなクエリから少数の行を取得できます。 カーソルが作成された後、FETCH
を使用して行がカーソルから取得されます。
DECLARE name CURSOR FOR query
name
query
SELECT
または VALUES
カーソルが返す行を指定するコマンド。EXECUTE
この EXECUTE
コマンドは、事前に準備された文を実行するために使用されます。 準備済み文はセッション中にのみ存在するので、準備済み文は PREPARE
現在のセッションの前に実行されたステートメント。 準備済み文の使用の詳細については、次を参照してください。 PREPARE
コマンド セクション。
次の場合 PREPARE
ステートメントを作成したステートメントで、いくつかのパラメーターを指定しました。互換性のあるパラメーターセットをパラメーターに渡す必要があります。 EXECUTE
ステートメント。 これらのパラメーターが渡されない場合、エラーが発生します。
EXECUTE name [ ( parameter ) ]
name
parameter
EXPLAIN
この EXPLAIN
コマンドは、指定された文の実行計画を表示します。 実行計画は、ステートメントによって参照されるテーブルのスキャン方法を示します。 複数のテーブルが参照されている場合、各入力テーブルから必要な行をまとめるために使用される結合アルゴリズムが表示されます。
EXPLAIN statement
応答の形式を定義するには、を使用します FORMAT
キーワードと EXPLAIN
コマンド。
EXPLAIN FORMAT { TEXT | JSON } statement
FORMAT
FORMAT
出力形式を指定するコマンド。 使用できるオプションは次のとおりです TEXT
または JSON
. テキスト以外の出力には、テキスト出力形式と同じ情報が含まれますが、プログラムの解析が容易です。このパラメーターのデフォルトは TEXT
です。statement
SELECT
, INSERT
, UPDATE
, DELETE
, VALUES
, EXECUTE
, DECLARE
, CREATE TABLE AS
、または CREATE MATERIALIZED VIEW AS
実行計画を確認する文。SELECT
ステートメントが次のコードで実行された場合は破棄されます: EXPLAIN
キーワード。 その他の副作用は通常通り発生します。例
以下の例は、単一のテーブルに対する単純なクエリのプランを示しています integer
列および 10000 行:
EXPLAIN SELECT * FROM foo;
QUERY PLAN
---------------------------------------------------------
Seq Scan on foo (dataSetId = "6307eb92f90c501e072f8457", dataSetName = "foo") [0,1000000242,6973776840203d3d,6e616c58206c6153,6c6c6f430a3d4d20,74696d674c746365]
(1 row)
FETCH
この FETCH
コマンドは、以前に作成したカーソルを使用して行を取得します。
FETCH num_of_rows [ IN | FROM ] cursor_name
num_of_rows
cursor_name
PREPARE prepare
この PREPARE
コマンドを使用すると、プリペアドステートメントを作成できます。 準備済み文は、類似の SQL 文をテンプレート化するために使用できるサーバー側オブジェクトです。
準備済みステートメントは、パラメーター(実行時にステートメントに置き換えられる値)を取ることができます。 プリペアドステートメントを使用する場合、パラメーターは$1、$2 などを使用して、位置によって参照されます。
オプションで、パラメーターデータタイプのリストを指定できます。 パラメーターのデータタイプがリストされていない場合、タイプはコンテキストから推論できます。
PREPARE name [ ( data_type [, ...] ) ] AS SELECT
name
data_type
ROLLBACK
この ROLLBACK
コマンドは、現在のトランザクションを元に戻し、そのトランザクションによって行われたすべての更新を破棄します。
ROLLBACK
ROLLBACK WORK
SELECT INTO
この SELECT INTO
コマンドは、新しいテーブルを作成し、クエリによって計算されたデータをテーブルに入力します。 通常の場合のように、データはクライアントに返されません SELECT
コマンド。 新しいテーブルの列には、の出力列に関連付けられた名前とデータタイプがあります。 SELECT
コマンド。
[ WITH [ RECURSIVE ] with_query [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
* | expression [ [ AS ] output_name ] [, ...]
INTO [ TEMPORARY | TEMP | UNLOGGED ] [ TABLE ] new_table
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ WINDOW window_name AS ( window_definition ) [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start [ ROW | ROWS ] ]
[ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]
[ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]
標準の SELECT クエリパラメーターの詳細については、を参照してください。 クエリ セクションの選択. このセクションには、専用のパラメーターのみがリストされます。 SELECT INTO
コマンド。
TEMPORARY
または TEMP
UNLOGGED
new_table
例
次のクエリは、新しいテーブルを作成します films_recent
テーブルの最近のエントリのみから成る films
:
SELECT * INTO films_recent FROM films WHERE date_prod >= '2002-01-01';
SHOW
この SHOW
コマンドは、ランタイム パラメーターの現在の設定を表示します。 これらの変数は、 SET
ステートメント、を編集する postgresql.conf
設定ファイル、を使用 PGOPTIONS
環境変数(libpq または libpq ベースのアプリケーションを使用する場合)、または Postgres サーバの起動時にコマンドラインフラグを使用します。
SHOW name
SHOW ALL
name
SERVER_VERSION
:このパラメーターは、サーバーのバージョン番号を示します。SERVER_ENCODING
:このパラメーターは、サーバーサイドの文字セットエンコーディングを示します。LC_COLLATE
:このパラメーターは、照合用のデータベースのロケール設定を表示します(テキストの順序)。LC_CTYPE
:このパラメーターは、文字を分類するためのデータベースのロケール設定を示します。IS_SUPERUSER
:このパラメーターは、現在の役割がスーパーユーザー権限を持っているかどうかを示します。ALL
例
次のクエリは、パラメーターの現在の設定を示しています DateStyle
.
SHOW DateStyle;
DateStyle
-----------
ISO, MDY
(1 row)
コピー
この COPY
コマンドは、以下の出力を複製します SELECT
指定した場所にクエリを実行します。 このコマンドを実行するには、ユーザーがこの場所にアクセスできる必要があります。
COPY query
TO '%scratch_space%/folder_location'
[ WITH FORMAT 'format_name']
query
format_name
format_name
は次のいずれかになります: parquet
, csv
、または json
. デフォルト値はです parquet
.adl://<ADLS_URI>/users/<USER_ID>/acp_foundation_queryService/folder_location/<QUERY_ID>
テーブルの変更 alter-table
この ALTER TABLE
コマンドを使用すると、プライマリキー制約または外部キー制約を追加またはドロップしたり、テーブルに列を追加したりできます。
制約を追加またはドロップ
次の SQL クエリは、テーブルに制約を追加または削除する例を示しています。 プライマリキーと外部キーの制約は、コンマ区切り値で複数の列に追加できます。 以下の例に示すように、2 つ以上の列名の値を渡すことによって、複合キーを作成できます。
プライマリキーまたは複合キーの定義
ALTER TABLE table_name ADD CONSTRAINT PRIMARY KEY ( column_name ) NAMESPACE namespace
ALTER TABLE table_name ADD CONSTRAINT PRIMARY KEY ( column_name1, column_name2 ) NAMESPACE namespace
1 つ以上のキーに基づいてテーブル間の関係を定義
ALTER TABLE table_name ADD CONSTRAINT FOREIGN KEY ( column_name ) REFERENCES referenced_table_name ( primary_column_name )
ALTER TABLE table_name ADD CONSTRAINT FOREIGN KEY ( column_name1, column_name2 ) REFERENCES referenced_table_name ( primary_column_name1, primary_column_name2 )
ID 列の定義
ALTER TABLE table_name ADD CONSTRAINT PRIMARY IDENTITY ( column_name ) NAMESPACE namespace
ALTER TABLE table_name ADD CONSTRAINT IDENTITY ( column_name ) NAMESPACE namespace
制約/関係/ID のドロップ
ALTER TABLE table_name DROP CONSTRAINT PRIMARY KEY ( column_name )
ALTER TABLE table_name DROP CONSTRAINT PRIMARY KEY ( column_name1, column_name2 )
ALTER TABLE table_name DROP CONSTRAINT FOREIGN KEY ( column_name )
ALTER TABLE table_name DROP CONSTRAINT FOREIGN KEY ( column_name1, column_name2 )
ALTER TABLE table_name DROP CONSTRAINT PRIMARY IDENTITY ( column_name )
ALTER TABLE table_name DROP CONSTRAINT IDENTITY ( column_name )
table_name
column_name
referenced_table_name
primary_column_name
プライマリ ID とセカンダリ ID の追加またはドロップ
プライマリ ID テーブル列とセカンダリ ID テーブル列の両方の制約を追加または削除するには、を使用します ALTER TABLE
コマンド。
次の例では、制約を追加してプライマリ ID とセカンダリ ID を追加します。
ALTER TABLE t1 ADD CONSTRAINT PRIMARY IDENTITY (id) NAMESPACE 'IDFA';
ALTER TABLE t1 ADD CONSTRAINT IDENTITY(id) NAMESPACE 'IDFA';
以下の例に示すように、制約を削除して ID を削除することもできます。
ALTER TABLE t1 DROP CONSTRAINT PRIMARY IDENTITY (c1) ;
ALTER TABLE t1 DROP CONSTRAINT IDENTITY (c1) ;
詳しくは、のドキュメントを参照してください。 アドホックデータセットでの ID の設定.
列を追加
次の SQL クエリは、テーブルに列を追加する例を示しています。
ALTER TABLE table_name ADD COLUMN column_name data_type
ALTER TABLE table_name ADD COLUMN column_name_1 data_type1, column_name_2 data_type2
サポートされるデータタイプ
以下の表に、を使用してテーブルに列を追加するために使用可能なデータタイプを示します Postgres SQL、XDM および Accelerated Database Recovery (ADR)を Azure SQL で使用します。
bigint
int8
bigint
integer
int4
integer
smallint
int2
smallint
tinyint
int1
tinyint
varchar(len)
string
varchar(len)
varchar
は、列のデータエントリのサイズが大幅に異なる場合に最適です。double
float8
double precision
FLOAT8
および FLOAT
次の有効な同義語です: DOUBLE PRECISION
. double precision
は浮動小数点データ型です。 浮動小数点値は 8 バイトで格納されます。double precision
float8
double precision
FLOAT8
は、の有効な同義語です double precision
.double precision
は浮動小数点データ型です。 浮動小数点値は 8 バイトで格納されます。date
date
date
date
データタイプは、タイムスタンプ情報を含まない 4 バイトの格納されたカレンダー日付値です。 有効な日付の範囲は、01-01-0001 ~ 12-31-9999 です。datetime
datetime
datetime
datetime
年、月、日、時間、秒、分数の修飾子が含まれます。 A datetime
宣言には、これらの時間単位のサブセットを含めることができ、この順序で結合することも、1 つの時間単位のみで構成することもできます。char(len)
string
char(len)
char(len)
キーワードは、項目が固定長の文字であることを示すために使用されます。スキーマを追加
次の SQL クエリは、データベース/スキーマにテーブルを追加する例を示しています。
ALTER TABLE table_name ADD SCHEMA database_name.schema_name
スキーマを削除
次の SQL クエリは、データベース/スキーマからテーブルを削除する例を示しています。
ALTER TABLE table_name REMOVE SCHEMA database_name.schema_name
パラメーター
table_name
column_name
data_type
プライマリキーを表示
この SHOW PRIMARY KEYS
コマンドは、指定されたデータベースのすべてのプライマリ・キー制約を一覧表示します。
SHOW PRIMARY KEYS
tableName | columnName | datatype | namespace
------------------+----------------------+----------+-----------
table_name_1 | column_name1 | text | "ECID"
table_name_2 | column_name2 | text | "AAID"
外部キーを表示
この SHOW FOREIGN KEYS
コマンドは、指定されたデータベースのすべての外部キー制約を一覧表示します。
SHOW FOREIGN KEYS
tableName | columnName | datatype | referencedTableName | referencedColumnName | namespace
------------------+---------------------+----------+---------------------+----------------------+-----------
table_name_1 | column_name1 | text | table_name_3 | column_name3 | "ECID"
table_name_2 | column_name2 | text | table_name_4 | column_name4 | "AAID"
データグループを表示
この SHOW DATAGROUPS
コマンドは、関連付けられたすべてのデータベースのテーブルを返します。 データベースごとに、スキーマ、グループタイプ、子タイプ、子名、子 ID がテーブルに表示されます。
SHOW DATAGROUPS
Database | Schema | GroupType | ChildType | ChildName | ChildId
-------------+-------------------+-----------+----------------------+----------------------------------------------------+--------------------------------------
adls_db | adls_scheema | ADLS | Data Lake Table | adls_table1 | 6149ff6e45cfa318a76ba6d3
adls_db | adls_scheema | ADLS | Accelerated Store | _table_demo1 | 22df56cf-0790-4034-bd54-d26d55ca6b21
adls_db | adls_scheema | ADLS | View | adls_view1 | c2e7ddac-d41c-40c5-a7dd-acd41c80c5e9
adls_db | adls_scheema | ADLS | View | adls_view4 | b280c564-df7e-405f-80c5-64df7ea05fc3
テーブルのデータグループを表示
この SHOW DATAGROUPS FOR 'table_name'
コマンドは、パラメーターを子として含む、関連付けられたすべてのデータベースのテーブルを返します。 データベースごとに、スキーマ、グループタイプ、子タイプ、子名、子 ID がテーブルに表示されます。
SHOW DATAGROUPS FOR 'table_name'
パラメーター
table_name
:関連付けられたデータベースを検索するテーブルの名前。
Database | Schema | GroupType | ChildType | ChildName | ChildId
-------------+-------------------+-----------+----------------------+----------------------------------------------------+--------------------------------------
dwh_db_demo | schema2 | QSACCEL | Accelerated Store | _table_demo2 | d270f704-0a65-4f0f-b3e6-cb535eb0c8ce
dwh_db_demo | schema1 | QSACCEL | Accelerated Store | _table_demo2 | d270f704-0a65-4f0f-b3e6-cb535eb0c8ce
qsaccel | profile_aggs | QSACCEL | Accelerated Store | _table_demo2 | d270f704-0a65-4f0f-b3e6-cb535eb0c8ce