Tạo bảng

Các bảng tạm thời và bảng cố định giúp bạn đơn giản hoá các truy vấn, giúp chúng dễ hiểu và dễ duy trì hơn. Bằng cách tạo kết quả trung gian mà bạn có thể sử dụng lại, đồng thời cung cấp cho bạn lựa chọn giữ lại dữ liệu tạm thời chưa được tổng hợp, bạn có thể giảm tài nguyên cần thiết để thực thi truy vấn, từ đó cải thiện hiệu suất.

Các bảng đã tạo phải tuân theo cùng một quy trình kiểm tra quyền riêng tư tĩnh, các hàm được phépcác giới hạn về kết hợp trường được thực thi trong Trung tâm dữ liệu quảng cáo. Quy trình kiểm tra tiêu chuẩn để đảm bảo quyền riêng tư sẽ áp dụng khi dữ liệu từ câu lệnh SELECT cuối cùng được xuất sang BigQuery.

Để tạo bảng, hãy làm theo cú pháp BigQuery:

CREATE [OR REPLACE] [TEMP | TEMPORARY] TABLE TABLE_NAME
 [OPTIONS(privacy_checked_export=<true | false>)] AS query_statement;

Các điều khoản sau không được hỗ trợ:

  • IF NOT EXISTS
  • PARTITION BY
  • CLUSTER BY

Bảng tạm thời

Các bảng tạm thời (hoặc tạm thời) giúp cải thiện khả năng đọc truy vấn và cho phép bạn tạo các kết quả trung gian không phải tuân theo các yêu cầu về việc tổng hợp hoặc khác biệt.

Bảng tạm thời:

  • Chỉ tồn tại ở cấp phiên và hết hạn sau khi thực thi truy vấn
  • Chỉ có thể dùng bên trong truy vấn nơi câu lệnh được tạo
  • Không phải tuân theo các yêu cầu về việc tổng hợp hoặc sự riêng tư biệt lập
  • Hỗ trợ không gian tên tmp (không bắt buộc)

Để tạo một bảng tạm thời, hãy sử dụng câu lệnh CREATE TEMP TABLE. Ví dụ này tạo một bảng tạm thời để lưu trữ kết quả của một truy vấn, sau đó sử dụng bảng tạm thời trong một truy vấn con:

-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);
-- Return creatives with a count of impressions greater than 100
SELECT
  creative_id,
  COUNT(*) AS imps
FROM
  creative_list -- Alternative: tmp.creative_list
WHERE
  imps > 100
GROUP BY
  creative_id;

Bảng cố định

Nếu cần tạo một bảng trung gian để dùng trong các truy vấn khác, bạn có thể tạo một bảng cố định. Cú pháp giống như đối với bảng tạm thời không có mệnh đề TEMP. Bảng ổn định được lọc trước, nghĩa là không áp dụng chế độ kiểm tra tổng hợp và sẽ tồn tại trong 72 giờ. Nếu đã có một bảng có tên đã chọn, thì bảng đó sẽ bị ghi đè.

Bảng cố định:

  • Hết hạn sau 72 giờ
  • Có thể dùng bên ngoài truy vấn đã tạo mã
  • Tuân theo các yêu cầu về việc tổng hợp
  • Chỉ yêu cầu không gian tên tmp khi truy cập vào bảng qua một truy vấn sau này

Để tạo bảng cố định, hãy sử dụng câu lệnh CREATE TABLE. Ví dụ này tạo một bảng cố định để lưu trữ kết quả của một truy vấn, sau đó sử dụng bảng cố định trong một truy vấn sau này:

Truy vấn 1

-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE creative_list AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

Truy vấn 2

-- Return creatives which had more than 100 impressions
SELECT
  creative_id,
  COUNT(*) AS imps
FROM
  tmp.creative_list
WHERE
  imps > 100;

Áp dụng các bước kiểm tra để đảm bảo quyền riêng tư

Ads Data Hub cũng hỗ trợ cú pháp SQL để tạo bảng kết quả trung gian phải trải qua các bước kiểm tra để đảm bảo quyền riêng tư.

Để tạo một bảng phải kiểm tra để đảm bảo quyền riêng tư, hãy thêm mệnh đề OPTIONS vào truy vấn:

OPTIONS(privacy_checked_export=true)

Sau đây là ví dụ về cách tạo bảng tạm thời ở cấp phiên hoạt động và áp dụng các bước kiểm tra để đảm bảo quyền riêng tư:

-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list OPTIONS(privacy_checked_export=true) AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

Ví dụ sau đây sẽ tạo một bảng cố định, áp dụng các bước kiểm tra để đảm bảo quyền riêng tư và xuất bảng đó sang dự án Google Cloud của bạn:

-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE `myproject.mydataset.creative_list` OPTIONS(privacy_checked_export=true) AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

Xuất nhiều bảng bằng một truy vấn duy nhất

Ads Data Hub hỗ trợ cú pháp SQL linh hoạt để xuất bảng kết quả có thể xem trong trường hợp một bảng cho mỗi truy vấn là không đủ. Các bảng này phải tuân thủ cùng một quy trình kiểm tra quyền riêng tư được thực thi trong Trung tâm dữ liệu quảng cáo.

Cú pháp để xuất bảng cùng với biểu thức SQL chính là:


CREATE TABLE <project_name.dataset_name.table_name>
  OPTIONS(privacy_checked_export=true) AS query_statement;

Ví dụ: để xuất một bảng sang đích đến BigQuery myproject.mydataset.mytable, chứa số lượng hàng cho mỗi mã chiến dịch trong bảng adh.google_ads_impressions:


CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;

Các bảng cũng có thể được tham chiếu trong cùng một truy vấn mà chúng được tạo. Ví dụ: truy vấn:


CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;
SELECT ct FROM `myproject.mydataset.mytable`;

sẽ xuất ra hai bảng:

  • Một video tại myproject.mydataset.mytable, với các cột campaign_idct
  • Một tại vị trí được chỉ định trong trường Destination table của các đối số công việc, với cột ct

Bạn cũng có thể thêm bản tóm tắt hàng đã lọc vào các bảng này. Đọc nội dung tóm tắt về hàng được lọc.