協助透過SQL管理衍生資料集的建構
透過SQL管理衍生資料集時,以下說明的功能非常有用。
變更要為設定檔啟用的現有資料集
ALTER TABLE SQL建構可用來讓現有的資料集為設定檔啟用。 需要同時在結構描述和對應的資料集中新增啟用設定檔的標籤。
ALTER TABLE your_decile_table ADD label 'PROFILE';
ALTER TABLE
命令時,主控台會傳回ALTER SUCCESS
。將主要身分新增至現有資料集
將資料集中的現有欄標示為主要身分集,否則會導致錯誤。 若要使用SQL設定主要身分,請使用下面顯示的查詢格式。
ALTER TABLE <your_table_name> ADD CONSTRAINT primary identity NAMESPACE
例如:
ALTER TABLE test1_dataset ADD CONSTRAINT PRIMARY KEY(id2) NAMESPACE 'IDFA';
在提供的範例中,id2
是test1_dataset
中的現有資料行。
停用設定檔的資料集
如果您要針對設定檔用途停用表格,則必須使用DROP指令。 以下是使用DROP
的範例SQL陳述式。
ALTER TABLE table_name DROP LABEL 'PROFILE';
例如:
ALTER TABLE decile_table DROP label 'PROFILE';
此SQL陳述式提供使用API呼叫的有效替代方法。 如需詳細資訊,請參閱檔案,瞭解如何使用資料集API停用資料集以搭配Real-Time CDP使用。
允許更新資料集並為其插入功能
UPSERT指令可讓您插入新記錄或更新表格中的現有資料。 具體來說,如果表格中已存在指定的值,它可讓您更新現有的列,或者如果指定的值尚未存在,則可插入新列。
以下是使用正確格式的範例陳述式。
ALTER TABLE table_name ADD LABEL 'UPSERT';
例如:
ALTER TABLE table_with_a_decile ADD label 'UPSERT';
此SQL陳述式提供使用API呼叫的有效替代方法。 如需詳細資訊,請參閱檔案,瞭解如何使用資料集API啟用資料集以搭配Real-Time CDP和UPSERT使用。
停用資料集的更新和插入功能
這個命令會停用更新資料集並將資料列插入資料集中的功能。
以下是使用正確格式的範例陳述式。
ALTER TABLE table_name DROP LABEL 'UPSERT';
例如:
ALTER TABLE table_with_a_decile DROP label 'UPSERT';
顯示與每個表格關聯的其他表格資訊
為啟用設定檔的資料集保留其他中繼資料。 使用SHOW TABLES
命令來顯示額外的labels
欄,該欄提供與資料表關聯的任何標籤的資訊。
此命令的輸出範例如下所示:
name | dataSetId | dataSet | description | labels
---------------------+--------------------------+----------------+-------------+----------
luma_midvalues | 5bac030c29bb8d12fa992e58 | Luma midValues | | false
luma_postvalues | 5c86b896b3c162151785b43c | Luma midValues | | false
table_with_a_decile | 5c86b896b3c162151785b43c | Luma midValues | | 'UPSERT', 'PROFILE'
(3 rows)
使用SQL建立欄位群組
現在可以透過使用SQL來建立欄位群組。 這是在Experience Platform UI中使用結構描述編輯器,或向結構描述登入進行API呼叫的替代方式。
下面顯示建立欄位群組的範例陳述式。
CREATE FIELDGROUP <field_group_name> [IF NOT EXISTS] (field_name <data_type> primary identity namespace <namespace>, [field_name_2 >data_type>]) [ WITH(LABEL='PROFILE') ];
label
旗標,或欄位群組已存在,則透過SQL建立欄位群組將會失敗。請確定查詢包含
IF NOT EXISTS
子句,以避免查詢失敗,因為欄位群組已經存在。真實世界的範例看起來可能類似於下面所示的範例。
CREATE FIELDGROUP field_group_for_test123 (decile1Month map<text, integer>, decile3Month map<text, integer>, decile6Month map<text, integer>, decile9Month map<text, integer>, decile12Month map<text, integer>, decilelietime map<text, integer>) WITH (LABEL-'PROFILE');
成功執行此陳述式會傳回建立的欄位群組ID。 例如 c731a1eafdfdecae1683c6dca197c66ed2c2b49ecd3a9525
.
如需其他方法的詳細資訊,請參閱檔案,瞭解如何在結構描述編輯器🔗中建立新欄位群組結構描述登入API。
放置欄位群組
有時可能需要從結構描述登入中移除欄位群組。 這是透過使用欄位群組識別碼執行DROP FIELDGROUP
命令來完成。
DROP FIELDGROUP [IF EXISTS] <your_field_group_id>;
例如:
DROP FIELDGROUP field_group_for_test123;
IF EXISTS
子句,以避免查詢失敗。顯示表格的所有欄位群組名稱和ID
SHOW FIELDGROUPS
命令會傳回包含資料表名稱、fieldgroupId和擁有者的資料表。
此命令的輸出範例如下所示:
name | fieldgroupId | owner |
---------------------------------+-------------------------------------------------+-----------------
AEP Mobile Lifecycle Details | _experience.aep-mobile-lifecycle-details | Luma midValues |
AEP Web SDK ExperienceEvent | _experience.aep-web-sdk-experienceevent | Luma midValues |
AJO Classification Fields | _experience.journeyOrchestration.classification | Luma midValues |
AJO Entity Fields | _experience.customerJourneyManagement.entities | Luma midValues |
(4 rows)