Pular para o conteúdo principal

Ingerir dados do Reddit Ads

info

Beta

Esse recurso está em Beta. Administradores do Workspace podem controlar o acesso a este recurso na página **Pré-visualizações**. Consulte Gerenciar prévias do Databricks.

Saiba como criar um pipeline de ingestão gerenciado para ingerir dados do Reddit Ads no Databricks.

Requisitos

  • Para criar um pipeline de ingestão, é preciso atender aos seguintes requisitos:

    • Seu workspace deve estar habilitado para o Unity Catalog.

    • O compute serverless deve ser habilitado para o seu workspace. Consulte requisitos de Computação serverless.

    • Para criar uma nova conexão, você deve ter privilégios CREATE CONNECTION no metastore. Consulte Gerenciar privilégios no Unity Catalog.

      Se o conector suportar a criação de pipeline baseada em IU, um administrador poderá criar a conexão e o pipeline ao mesmo tempo, concluindo os passos desta página. No entanto, se os usuários que criam pipelines usarem a criação de pipelines baseada em API ou forem usuários não administradores, um administrador deve primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.

    • Para usar uma conexão existente, é preciso ter os privilégios USE CONNECTION ou ALL PRIVILEGES no objeto de conexão.

    • Você deve ter privilégios USE CATALOG no catálogo de destino.

    • É necessário ter privilégios USE SCHEMA e CREATE TABLE em um esquema existente ou privilégios CREATE SCHEMA no catálogo de destino.

  • Para fazer a ingestão de dados do Reddit Ads, você deve concluir os passos em Criar uma conexão com o Reddit Ads.

Esquemas de Origem

Reddit Ads organiza tabelas em esquemas de origem (espaços de nomes):

  • A tabela de entidade ad_account está no esquema especial default (source_schema: "default"). Ele lista as contas de anúncios acessíveis ao usuário autenticado.
  • Todas as tabelas com escopo de conta — campaign, ad_group, ad e todas as tabelas de relatório — estão em um esquema nomeado pelo ID da conta de anúncio (source_schema: "<ad_account_id>").

Criar um pipeline de ingestão

  1. Na barra lateral do Databricks Workspace, clique em Ingestão de Dados .
  2. Na página **Adicionar dados**, em **Conectores Databricks**, clique em **Reddit Ads**.
  3. Na página **Conexão** do assistente de ingestão, selecione a conexão que armazena suas credenciais de acesso do Reddit Ads. Caso tenha o CREATE CONNECTION privilégio no metastore, pode clicar em Ícone de mais. ** Criar conexão** para criar uma nova conexão com os detalhes de autenticação em Criar uma conexão do Reddit Ads.
  4. Clique em Avançar .
  5. Na página Configuração da ingestão , insira um nome exclusivo para o pipeline.
  6. Selecione um catálogo e um esquema para gravar Logs de eventos. Se você tiver os privilégios USE CATALOG e CREATE SCHEMA no catálogo, você pode clicar em Ícone de mais. Criar esquema no menu suspenso para criar um novo esquema.
  7. Clique em **Criar pipeline e continuar**.
  8. Na página **Source**, selecione as tabelas para ingestão.
  9. Clique em Salvar e continuar .
  10. Na página Destino , selecione um catálogo e um esquema para carregar os dados. Se você tiver privilégios USE CATALOG e CREATE SCHEMA no catálogo, você pode clicar em Ícone de mais. Criar esquema no menu suspenso para criar um novo esquema.
  11. Clique em Salvar e continuar .
  12. (Opcional) Na página Agendamentos e notificações , clique em Ícone de mais. Criar agendamento . Defina a frequência para refresh as tabelas de destino.
  13. (Opcional) Clique em Ícone de mais. Adicionar notificação para definir notificações por email para sucesso ou falha da operação do pipeline e, em seguida, clique em Salvar e executar pipeline .

Exemplos

O seguinte arquivo de definição de pipeline ingere todas as tabelas atuais e futuras com escopo de account de uma ad account:

YAML
resources:
pipelines:
pipeline_reddit_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- schema:
source_schema: <ad-account-id>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
connector_options:
reddit_ads_options:
sync_start_date: <sync-start-date>
lookback_window_days: <lookback-window-days>

O seguinte arquivo de definição de pipeline seleciona tabelas específicas de uma account:

YAML
resources:
pipelines:
pipeline_reddit_ads:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_schema: default
source_table: ad_account
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
- table:
source_schema: <ad-account-id>
source_table: campaign_report
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
destination_table: <destination-table>
connector_options:
reddit_ads_options:
sync_start_date: <sync-start-date>
lookback_window_days: <lookback-window-days>

A seguir, um exemplo de arquivo de definição de Job:

YAML
resources:
jobs:
reddit_ads_dab_job:
name: reddit_ads_dab_job
trigger:
periodic:
interval: 1
unit: DAYS
email_notifications:
on_failure:
- <email-address>
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_reddit_ads.id}

Relatórios personalizados

Além das tabelas predefinidas, é possível definir um relatório personalizado que permite escolher as dimensões exatas de detalhamento e os campos de métricas que deseja. Defina source_table como custom_report e forneça a definição do relatório em connector_options.reddit_ads_options.custom_report_options. O nome destination_table é obrigatório para relatórios personalizados.

  • breakdowns ** **: as dimensões a serem agrupadas, por exemplo,,.CAMPAIGN_ID``DATE``COUNTRY vocational education to include at least one time dimension — DATE or HOUR — which becomes the table's incremental cursor.
  • fields : Os campos de métricas a serem selecionados, por exemplo, IMPRESSIONS, CLICKS, SPEND.

Para detalhamentos e campos suportados, consulte Detalhamentos e campos de relatório personalizado.

YAML
resources:
pipelines:
pipeline_reddit_ads_custom:
name: <pipeline-name>
catalog: <destination-catalog>
target: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_schema: <ad-account-id>
source_table: custom_report
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
destination_table: my_ad_group_custom_report
connector_options:
reddit_ads_options:
sync_start_date: <sync-start-date>
lookback_window_days: 30
custom_report_options:
breakdowns:
- AD_GROUP_ID
- DATE
fields:
- IMPRESSIONS
- CLICKS
- SPEND
- CTR

Padrões comuns

Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.

Próximos passos

Comece, programe e defina alertas em seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.

Recursos adicionais