BigQuery로 데이터 내보내기

이 페이지에서는 소매 제품 및 사용자 이벤트 데이터를 BigQuery에 업로드하는 방법을 설명합니다. 데이터가 BigQuery에 로드되면 데이터를 사용해 Vertex AI로 판매 예측을 수행하고 사전 빌드된 Looker 대시보드에서 데이터를 볼 수 있습니다.

상거래 데이터가 제품 및 사용자 이벤트 데이터에 AI Commerce Search 형식으로 이미 BigQuery에 있는 경우 이 페이지를 건너뛰고 핵심성과지표를 보여주는 대시보드 가져오기 및 소매업 데이터에서 판매 예측 생성으로 이동하세요. 형식에 대한 자세한 내용은 제품 스키마 및 사용자 이벤트 정보를 참조하세요.

시작하기 전에

상거래 데이터를 BigQuery로 내보내려면 먼저 초기 설정의 절차를 완료해야 합니다.

여기에는 다음이 포함됩니다.

BigQuery에서 데이터 세트 만들기

제품 및 사용자 이벤트 데이터를 저장할 BigQuery에 데이터 세트를 하나 또는 두 개 만들어야 합니다.

하나의 데이터 세트를 사용하여 두 가지 유형의 데이터를 보관하거나 각 데이터 유형에 하나씩 두 개의 데이터 세트를 만들 수 있습니다.

AI Commerce Search를 구현한 동일한 프로젝트에서 데이터 세트를 만들어야 합니다.

  1. 이전에 프로젝트에서 BigQuery를 사용한 적이 없는 경우 BigQuery API를 사용 설정하고 데이터 세트와 테이블을 만들 수 있는 IAM 역할이 있는지 확인합니다.

    BigQuery 문서의 시작하기 전에 및 IAM으로 액세스 제어 를 참조하세요.

  2. 미국 멀티 리전 에서 BigQuery의 데이터 세트를 만듭니다. 예를 들어 이름을 retail_data로 지정합니다.

  3. 선택사항: 사용자 이벤트 데이터를 제품 데이터와 별도의 데이터 세트에 배치하려면 두 번째 데이터 세트를 만듭니다. 예를 들어 이름을 retail_user_event_data로 지정합니다.

BigQuery 데이터 세트 만들기에 대한 자세한 내용은 BigQuery 문서를 참조하세요.

이 데이터 세트는 내보내는 데이터 테이블을 보관하는 데 사용됩니다. 다음 절차에서는 내보내는 방법을 설명합니다.

AI Commerce Search 카탈로그를 BigQuery 테이블로 내보내기

export 메서드를 사용하여 소매업 카탈로그를 BigQuery 테이블로 내보냅니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: BigQuery 데이터 세트를 만든 AI Commerce Search API 프로젝트의 ID입니다.
  • BRANCH_ID: 카탈로그 브랜치의 ID입니다. 기본 브랜치에서 데이터를 가져오려면 default_branch를 사용하세요. 자세한 내용은 카탈로그 브랜치를 참조하세요.
  • DATASET_ID: BigQuery에서 데이터 세트 만들기에서 만든 데이터 세트의 이름입니다. 예를 들어 retail_data 또는 retail_product_data를 사용합니다. 데이터 세트는 같은 프로젝트에 있어야 합니다. 여기에서 프로젝트 ID를 datasetId 필드에 추가하지 마세요.
  • TABLE_ID_PREFIX: 테이블 ID의 프리픽스입니다. 이 프리픽스는 빈 문자열일 수 없습니다. 서픽스 _retail_products_BRANCH_ID가 추가되어 테이블 이름을 완성합니다. 예를 들어 프리픽스가 test면 테이블 이름은 _test_retail_products_BRANCH_ID입니다.

JSON 요청 본문:

{
  "outputConfig":
  {
    "bigqueryDestination":
    {
      "datasetId": "DATASET_ID",
        "tableIdPrefix": "TABLE_ID_PREFIX",
        "tableType": "view"
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/BRANCH_ID/operations/17986570020347019923",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.retail.v2alpha.ExportProductsResponse",
    "outputResult": {
      "bigqueryResult": [
        {
          "datasetId": "DATASET_ID",
          "tableId": "TABLE_ID_PREFIX_retail_products_BRANCH_ID"
        }
      ]
    }
  }
}

BigQuery 테이블로 사용자 이벤트 내보내기

userEvents.export 메서드를 사용하여 소매업 사용자 이벤트를 BigQuery 테이블로 내보냅니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: BigQuery 데이터 세트를 만든 AI Commerce Search API 프로젝트의 ID입니다.
  • DATASET_ID: BigQuery에서 데이터 세트 만들기 에서 만든 데이터 세트의 이름입니다. 예를 들어 retail_data 또는 retail_product_data를 사용합니다.
  • TABLE_ID_PREFIX: 테이블 ID의 프리픽스입니다. 이 프리픽스는 빈 문자열일 수 없습니다. 서픽스 retail_products가 추가되어 테이블 이름을 완성합니다. 예를 들어 프리픽스가 test이면 테이블 이름은 test_retail_products입니다.

JSON 요청 본문:

{
  "outputConfig":
  {
    "bigqueryDestination":
    {
      "datasetId": "DATASET_ID",
        "tableIdPrefix": "TABLE_ID_PREFIX",
        "tableType": "view"
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/operations/17203443067109586170",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.retail.v2alpha.ExportUserEventsResponse",
    "outputResult": {
      "bigqueryResult": [
        {
          "datasetId": "DATASET_ID",
          "tableId": "TABLE_ID_PREFIX_retail_user_events"
        }
      ]
    }
  }
}

내보낸 데이터 정보

다음은 BigQuery 테이블로 내보내는 상거래 데이터에 대해 알아야 할 사항입니다.

  • 프로젝트의 BigQuery 테이블로 내보내는 데이터는 승인된 뷰가 아닌 구체화된 뷰입니다.

  • 이러한 테이블의 데이터는 변경하거나 업데이트할 수 없습니다.

  • 제품은 매시간 새로고침됩니다.

  • 사용자 이벤트는 거의 실시간으로 새로고침됩니다.

내보낸 사용자 이벤트 데이터 정보

다음은 내보낸 사용자 이벤트 데이터에 포함된 제품 정보에 대해 알아야 할 사항입니다.

제품 가격 정보

userEvents.export 메서드에서 제품 가격 정보를 반환하는 방법은 다음 사항에 따라 달라집니다.

  • 수집할 때 사용자 이벤트 데이터에 가격 정보를 포함했습니다. userEvents.export 메서드를 호출할 때 사용자 이벤트와 함께 반환되는 가격은 이벤트 시점의 제품 가격입니다.

  • 사용자 이벤트 데이터에는 가격 정보를 포함하지 않았지만 수집할 때 제품 데이터에 가격 정보를 포함했습니다. userEvents.export 메서드를 호출할 때 사용자 이벤트와 함께 반환되는 가격은 이벤트 시점의 제품 가격일 필요는 없습니다. 수집할 때 제품 데이터에서 발견된 가격입니다.

  • 사용자 이벤트 데이터에 가격 정보를 포함하지 않았으며 제품 데이터에 사용 가능한 가격 정보가 없습니다. userEvents.export 메서드를 호출하면 가격은 사용자 이벤트와 함께 반환되지 않습니다.

기타 제품 정보

userEvents.export 메서드를 호출할 때 모든 제품 정보(가격 제외)가 사용자 이벤트 정보에 조인됩니다. 제품 값은 사용자 이벤트 시간에서 userEvents.export 호출 시간으로 변경될 수 있습니다. 따라서 사용자 이벤트 테이블에 반환된 가격 이외의 제품 값은 사용자 이벤트 당시의 제품 값과 다를 수 있습니다.

선택사항: 새 테이블이 BigQuery에 있는지 확인

제품 데이터와 사용자 이벤트 데이터를 BigQuery로 내보낸 후 새 테이블이 있는지 확인합니다.

  1. BigQuery에서 BigQuery에서 데이터 세트 만들기에서 만든 데이터 세트로 이동합니다.

  2. 데이터 세트를 열고 내보낸 테이블 2개가 표시되는지 확인합니다. 예를 들어 이름이 _retail_products_BRANCH_ID 및 retail_user_events로 끝나는 테이블을 찾습니다.

BigQuery 테이블 작업에 대한 자세한 내용은 데이터 쿼리 및 보기를 참조하세요.

AI Commerce Search에서 고객 데이터를 처리하는 방법에 대한 자세한 내용은 데이터 거버넌스 페이지를 검토하세요.