Meta와의 통합

이 페이지에서는 Cortex Framework Data Foundation의 마케팅 워크로드 데이터 소스로 Meta(Facebook 및 Instagram 광고)의 데이터를 가져오는 데 필요한 구성을 설명합니다.

Meta는 여러 인기 온라인 플랫폼을 소유한 기술 회사입니다. Cortex Framework는 Instagram 및 Facebook의 광고 데이터를 통합하여 분석하고, 다른 데이터 소스와 결합하고, AI를 사용하여 더 깊은 통계를 얻고 마케팅 전략을 최적화합니다.

다음 다이어그램은 Cortex Framework Data Foundation의 마케팅 워크로드를 통해 Meta 마케팅 데이터를 사용할 수 있는 방법을 설명합니다.

메타 데이터 소스

그림 1. Meta 마케팅 데이터 소스입니다.

구성 파일

config.json 파일은 다양한 워크로드에서 데이터를 전송하기 위해 데이터 소스에 연결하는 데 필요한 설정을 구성합니다. 이 파일에는 Meta의 다음 매개변수가 포함되어 있습니다.

   "marketing": {
        "deployMeta": true,
        "Meta": {
            "deployCDC": true,
            "datasets": {
                "cdc": "",
                "raw": "",
                "reporting": "REPORTING_Meta"
            }
        }
    }

다음 표에서는 각 마케팅 매개변수의 값을 설명합니다.

매개변수 의미 기본값 설명
marketing.deployMeta Deploy Meta true Meta 데이터 소스의 배포를 실행합니다.
marketing.Meta.deployCDC Meta용 CDC 스크립트 배포 true Cloud Composer에서 DAG로 실행할 Meta CDC 처리 스크립트를 생성합니다.
marketing.Meta.datasets.cdc Meta용 CDC 데이터 세트 Meta의 CDC 데이터 세트입니다.
marketing.Meta.datasets.raw Meta의 원시 데이터 세트 Meta의 원시 데이터 세트입니다.
marketing.Meta.datasets.reporting Meta 보고 데이터 세트 "REPORTING_Meta" Meta의 보고 데이터 세트입니다.

데이터 모델

이 섹션에서는 엔티티 관계 다이어그램 (ERD)을 사용하여 Meta의 데이터 모델을 설명합니다.

Meta의 엔티티 관계 다이어그램

그림 2. Meta: 엔티티 관계 다이어그램

기본 뷰

이는 ERD의 파란색 객체이며 복잡한 데이터 구조를 압축 해제하기 위한 최소한의 변환이 적용된 CDC 테이블의 뷰입니다. src/marketing/src/Meta/src/reporting/ddls의 스크립트를 참고하세요.

보고 보기

ERD의 녹색 객체이며 집계 측정항목이 포함된 보고 뷰입니다. src/marketing/src/Meta/src/reporting/ddls의 스크립트를 참고하세요.

API 연결

Meta용 Cortex Framework의 수집 템플릿은 Meta Marketing API를 사용하여 보고 속성 및 측정항목을 가져옵니다. 현재 템플릿은 버전 v25.0을 사용합니다.

Meta에서는 Marketing API를 쿼리할 때 동적 비율 제한을 적용합니다. 속도 제한에 도달하면 소스에서 원시 데이터로의 수집 DAG가 성공적으로 완료되지 않을 수 있습니다. 이러한 경우 로그에 관련 오류 메시지가 표시되며 DAG의 다음 실행에서 누락된 데이터가 소급하여 로드됩니다.

Meta Marketing API에는 기본 및 표준의 두 가지 액세스 등급이 있습니다. 표준 등급은 훨씬 높은 한도를 제공하며, 소스에서 원시 데이터로의 수집을 광범위하게 사용할 계획이라면 표준 등급을 사용하는 것이 좋습니다. 이러한 한도 및 더 높은 액세스 등급을 획득하는 방법에 대한 자세한 내용은 Meta 문서를 참고하세요.

표준 등급 액세스 권한이 있는 경우 로드 시간을 단축하기 위해 src/Meta/src/raw/pipelines/config.ini에서 next_request_delay_sec 설정 값을 낮출 수 있습니다.

API 액세스 및 액세스 토큰

Meta에서 Cortex 프레임워크로 데이터를 가져오려면 Meta 비즈니스 관리자개발자 콘솔에서 다음 단계를 따라야 합니다.

  1. 사용할 앱을 식별합니다. 비즈니스 계정에 연결된 새 앱을 만들 수 있습니다. 앱이 Business 유형인지 확인합니다.
  2. 앱 권한 설정 앱으로 토큰을 만들려면 먼저 관리자로 앱에 할당되어야 합니다. 앱 역할 문서를 참고하세요. 앱에 관련 애셋 (계정)을 할당해야 합니다.
  3. 액세스 토큰을 만듭니다. 액세스 토큰은 Meta Marketing API에 액세스하는 데 필요하며 항상 앱 및 사용자와 연결됩니다. 시스템 사용자로 토큰을 만들거나 자체 로그인으로 토큰을 만들 수 있습니다.

    1. 관리 시스템 사용자를 만듭니다.
    2. 토큰 생성 토큰은 페이지를 나간 후에는 다시 검색할 수 없으므로 생성되는 즉시 기록해 두세요.
    3. 지원되는 객체에 액세스하려면 토큰에 ads_readbusiness_management 권한을 부여하세요.
  4. Cloud Composer 문서에 따라 Cloud Composer에서 Secret Manager를 사용 설정합니다. 그런 다음 cortex_meta_access_token라는 보안 비밀을 만들고 이전 단계에서 생성한 토큰을 콘텐츠로 저장합니다.

데이터 업데이트 빈도 및 지연

일반적으로 Cortex Framework 데이터 소스의 데이터 업데이트 빈도는 업스트림 연결에서 허용하는 사항과 DAG 실행 빈도에 따라 제한됩니다. 업스트림 빈도, 리소스 제약, 비즈니스 요구사항에 맞게 DAG 실행 빈도를 조정합니다.

Meta Marketing API를 사용하면 전환을 제외한 대부분의 데이터를 거의 실시간으로 사용할 수 있습니다. 단, 이벤트 후 최대 28일 동안 조정될 수 있습니다.

Cloud Composer 연결 권한

Cloud Composer에서 다음 연결을 만듭니다. 자세한 내용은 Airflow 연결 관리 문서를 참고하세요.

연결 이름 목적
meta_raw_dataflow Meta Marketing API > BigQuery 원시 데이터 세트
meta_cdc_bq 원시 데이터 세트 > CDC 데이터 세트 전송
meta_reporting_bq CDC 데이터 세트 > 보고 데이터 세트 전송

Cloud Composer 서비스 계정 권한

Cloud Composer에서 사용되는 서비스 계정 (meta_raw_dataflow 연결에 구성됨)에 Dataflow 권한을 부여합니다. Dataflow 문서의 안내를 참고하세요. 서비스 계정에는 Secret Manager Secret Accessor 권한도 필요합니다. 자세한 내용은 액세스 제어 문서를 참고하세요.

요청 매개변수

디렉터리 src/Meta/config/request_parameters에는 Meta Marketing API에서 추출된 각 항목의 API 요청 사양 파일이 포함되어 있습니다. 각 요청 파일에는 Meta Marketing API에서 가져올 필드 목록이 포함되어 있으며, 각 행에 하나의 필드가 있습니다. 자세한 내용은 Meta Marketing API 참조를 참고하세요.

처리 설정

src/Meta/config/ingestion_settings.yaml 파일의 설정을 통해 Source to RawRaw to CDC 데이터 파이프라인을 제어합니다. 이 섹션에서는 각 데이터 파이프라인의 매개변수를 설명합니다.

소스에서 원시 테이블로

이 섹션에는 API에서 어떤 항목을 어떻게 가져올지 제어하는 항목이 있습니다. 각 항목은 하나의 Meta Marketing API 항목에 해당합니다. 이 구성을 기반으로 Cortex Framework는 Meta Marketing API를 사용하여 데이터를 가져오는 Dataflow 파이프라인을 실행하는 Airflow DAG를 만듭니다.

src/Meta/src/raw/pipelines/config.ini 파일은 Cloud Composer DAG의 일부 동작과 Meta Marketing API가 사용되는 방식을 제어합니다. 파일에서 각 매개변수에 대한 설명을 확인합니다.

다음 매개변수는 각 항목의 Source to Raw 설정을 제어합니다.

매개변수 설명
base_table 가져온 데이터가 저장되는 원시 데이터 세트의 테이블입니다 (예: customer).
load_frequency 이 DAG가 Meta에서 데이터를 가져오기 위해 실행되는 빈도입니다. 가능한 값에 대한 자세한 내용은 Airflow 문서를 참고하세요.
object_endpoint API 엔드포인트 경로 (예: /{account_id}/campaigns 엔드포인트의 경우 campaigns)
entity_type 표 유형 (fact, dimension 또는 addaccount) 중 하나여야 함).
object_id_column 이 테이블의 고유 레코드를 구성하는 열 (쉼표로 구분)입니다. entity_typefact인 경우에만 필요합니다.
breakdowns 선택사항: 인사이트 엔드포인트의 분석 열(쉼표로 구분)입니다. entity_typefact인 경우에만 적용됩니다.
action_breakdowns 선택사항: 통계 엔드포인트의 작업 분류 열(쉼표로 구분)입니다. entity_typefact인 경우에만 적용됩니다.
partition_details 선택사항: 성능을 고려하여 이 테이블을 파티셔닝하려는 경우 자세한 내용은 테이블 파티션을 참고하세요.
cluster_details 선택사항: 성능을 고려하여 이 테이블을 클러스터링하려는 경우 자세한 내용은 클러스터 설정을 참고하세요.

원시 테이블에서 CDC 테이블로

이 섹션에서는 원시 테이블에서 CDC 테이블로 데이터가 이동하는 방식을 제어하는 항목을 설명합니다. 각 항목은 원시 테이블에 해당합니다(원시 테이블은 언급된 대로 Meta API 항목에 해당함).

다음 매개변수는 각 항목의 Raw to CDC 설정을 제어합니다.

매개변수 설명
base_table 원시 데이터가 복제된 테이블입니다. CDC 데이터 세트의 이름이 동일한 테이블에는 CDC 변환 후의 원시 데이터가 저장됩니다 (예: campaign_insights).
row_identifiers 이 테이블의 고유 레코드를 구성하는 열 (쉼표로 구분)입니다.
load_frequency 이 항목의 DAG가 CDC 테이블을 채우기 위해 실행되는 빈도입니다. 가능한 값에 대한 자세한 내용은 Airflow 문서를 참고하세요.
partition_details 선택사항: 성능을 고려하여 이 테이블을 파티셔닝하려는 경우 자세한 내용은 테이블 파티션을 참고하세요.
cluster_details 선택사항: 성능을 고려하여 이 테이블을 클러스터링하려는 경우 자세한 내용은 클러스터 설정을 참고하세요.

CDC 테이블 스키마

Meta의 경우 모든 필드가 원시 레이어에 문자열 형식으로 저장됩니다. CDC 레이어에서 기본 유형은 관련 비즈니스 데이터 유형으로 변환되고 모든 복잡한 유형은 BigQuery JSON 형식으로 저장됩니다.

이 변환을 사용 설정하려면 디렉터리 src/Meta/config/table_schema에 각 BigQueryraw 테이블을 CDC 테이블로 올바르게 변환하는 방법을 설명하는 raw_to_cdc_tables 섹션에 지정된 각 항목의 스키마 파일이 하나씩 포함되어야 합니다.

각 스키마 파일에는 다음 세 개의 열이 포함됩니다.

  • SourceField: 이 항목의 원시 테이블의 필드 이름입니다.
  • TargetField: 이 항목의 cdc 테이블에 있는 열 이름입니다.
  • DataType: 각 cdc 테이블 필드의 데이터 유형입니다.

보고서 설정

보고 설정 파일(src/Meta/config/reporting_settings.yaml)을 사용하여 Cortex가 Meta 최종 보고 레이어의 데이터를 생성하는 방식을 구성하고 제어할 수 있습니다. 이 파일은 보고 레이어 BigQuery 객체 (테이블, 뷰, 함수 또는 저장 프로시저)가 생성되는 방식을 제어합니다.

자세한 내용은 보고 설정 파일 맞춤설정을 참고하세요.

다음 단계