Importe dados do Google Search Console.
Beta
Esse recurso está em Beta. Para usá-lo, um administrador do workspace deve ativar o Lakeflow Connect for Google Search Console na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Esta página mostra como criar um pipeline de ingestão gerenciado do Google Search Console usando o Lakeflow Connect.
Requisitos
-
Para criar um pipeline de ingestão, primeiro atenda aos seguintes requisitos:
-
Seu workspace deve estar habilitado para o Unity Catalog.
-
O compute serverless deve estar habilitado para seu workspace. Consulte Requisitos de compute serverless.
-
Para criar uma nova conexão, você deve ter privilégios
CREATE CONNECTIONno metastore. Consulte Gerenciar privilégios no Unity Catalog.Se o conector oferecer suporte à criação de pipeline baseada em IU, um administrador poderá criar a conexão e o pipeline ao mesmo tempo concluindo os passos nesta página. No entanto, se os usuários que criam pipelines usarem a criação de pipeline baseada em API ou forem usuários não administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.
-
Para usar uma conexão existente, você deve ter privilégios
USE CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter os privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno catálogo de destino.
-
-
Para realizar a ingestão do Google Search Console, primeiro configure a autenticação a partir do Databricks e crie uma conexão. Consulte Configurar a autenticação no Google Search Console e Criar uma conexão com o Google Search Console.
Opções de conector
Defina opções com escopo de pipeline em source_configurations e opções com escopo de tabela no objeto individual. Consulte Exemplos para obter informações sobre o uso.
Opção | Escopo | Obrigatório | Aplica-se a | Descrição |
|---|---|---|---|---|
| Pipeline | Sim | Todas as tabelas | Um ou mais URLs de propriedade verificados do Google Search Console para ingerir (por exemplo, |
| Pipeline | Não | Todas as tabelas incrementais ( | Data mais antiga a partir da qual ingerir dados, no formato |
| Tabela | Não | Tabelas de desempenho de pesquisa diária ( | Atualidade dos dados para tabelas de desempenho de pesquisa diária e |
| Tabela | Sim |
| As dimensões para agrupar o relatório, por exemplo, |
| Tabela | Sim |
| Os tipos de pesquisa para a execução do relatório, por exemplo |
| Tabela | Não |
| Como o Google Search Console agrega métricas. Um de |
Criar um pipeline de ingestão
Para obter a lista de tabelas de origem suportadas, consulte Tabelas de origem suportadas.
- Databricks UI
- Declarative Automation Bundles
- Databricks notebook
- Na barra lateral do workspace do Databricks, clique em Ingestão de dados .
- Na página Adicionar dados , em Conectores do Databricks , clique em Google Search Console .
- Na página Conexão do assistente de ingestão, selecione a conexão que armazena suas credenciais do Google Search Console. Se você tiver o privilégio
CREATE CONNECTIONno metastore, clique emCriar conexão para criar uma conexão com as credenciais de Configurar autenticação no Google Search Console.
- Clique em Avançar .
- Na página Configuração de ingestão , insira um nome para o pipeline.
- Selecione um catálogo e um esquema para gravar logs de eventos. Se você tiver privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCriar esquema no menu suspenso para criar um esquema.
- Para URLs do site , insira um ou mais URLs de propriedade verificados do Google Search Console para ingerir. Opcionalmente, defina uma Data de início . Consulte Opções de conector.
- Clique em Criar pipeline e continuar .
- Na página Fonte , selecione as tabelas para ingestão. Opcionalmente, defina o Estado dos dados para tabelas de desempenho de pesquisa diária (
search_analytics_*). - Clique em Salvar e continuar .
- Na página Destination , selecione um catálogo e um schema para carregar dados. Se você tiver os privilégios
USE CATALOGeCREATE SCHEMAno catálogo, clique emCreate schema no menu suspenso para criar um schema.
- Clique em Salvar e continuar .
- (Opcional) Na página programar e notificações , clique em
Criar programar . Defina a frequência para refresh as tabelas de destino.
- (Opcional) Clique em
Adicionar notificação para definir notificações por email para sucesso ou falha da operação do pipeline e clique em Salvar e execução do pipeline .
Use os Pacotes de Automação Declarativa para gerenciar pipelines do Google Search Console como código. Os pacotes podem conter definições YAML de Jobs e tarefas, são gerenciados usando a CLI do Databricks e podem ser compartilhados e ter execução em diferentes workspaces de destino (como desenvolvimento, staging e produção). Para obter mais informações, consulte O que são os Pacotes de Automação Declarativa?.
-
Crie um pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recursos ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/google_search_console_pipeline.yml). Consulte pipeline.ingestion_definition e Exemplos. - Um arquivo de definição de job que controla a frequência da ingestão de dados (por exemplo,
resources/google_search_console_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implantar o pipeline usando a CLI do Databricks:
Bashdatabricks bundle deploy
- Importe o seguinte notebook para o seu workspace do Databricks:
-
Deixe as células um e dois como estão. Não modifique.
-
Modifique a célula três com os detalhes de configuração do seu pipeline. Veja pipeline.ingestion_definition e Exemplos.
-
Opcionalmente, configure as definições avançadas do pipeline. Consulte Padrões comuns para pipelines de ingestão gerenciados.
-
Clique em Executar tudo .
Exemplos
O conector do Google Search Console disponibiliza as seguintes tabelas de origem no esquema de origem default:
Tipo de tabela | tabelas |
|---|---|
Tabelas do site |
|
Tabelas de relatório diário de desempenho de pesquisa |
|
Tabelas de relatório de desempenho de pesquisa por hora |
|
Tabela de relatório personalizada |
|
Para detalhes do esquema, consulte Tabelas de origem compatíveis.
Ingerir uma tabela de relatório de desempenho de pesquisa
O exemplo a seguir ingere search_analytics_all_fields, que retorna dados de desempenho diários agregados em todas as cinco dimensões (data, país, dispositivo, página, query).
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
google_search_console_pipeline:
name: google_search_console_pipeline
catalog: 'main'
target: 'google_search_console_data'
ingestion_definition:
connection_name: google_search_console_connection
source_configurations:
- api_source_connector_config:
configs:
site_urls: '["<site-url>"]'
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'search_analytics_all_fields'
destination_catalog: 'main'
destination_schema: 'google_search_console_data'
destination_table: 'search_analytics_all_fields'
connector_options:
api_source_connector_options:
options:
data_state: 'all'
pipeline_spec = {
"name": "<pipeline-name>",
"catalog": "<catalog-name-for-event-logs>",
"schema": "<schema-name-for-event-logs>",
"ingestion_definition": {
"connection_name": "<connection-name>",
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"site_urls": "[\"<site-url>\"]",
"start_date": "<start-date>"
}
}
}
],
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "search_analytics_all_fields",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "search_analytics_all_fields",
"connector_options": {
"api_source_connector_options": {
"options": {
"data_state": "all"
}
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir uma tabela de sites
O exemplo a seguir ingere sites, que retorna metadados sobre suas propriedades verificadas do Google Search Console. As tabelas do site são totalmente atualizadas a cada execução de pipeline, portanto, start_date não tem efeito sobre elas e elas não aceitam data_state.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
google_search_console_pipeline:
name: google_search_console_pipeline
catalog: 'main'
target: 'google_search_console_data'
ingestion_definition:
connection_name: google_search_console_connection
source_configurations:
- api_source_connector_config:
configs:
site_urls: '["<site-url>"]'
objects:
- table:
source_schema: 'default'
source_table: 'sites'
destination_catalog: 'main'
destination_schema: 'google_search_console_data'
destination_table: 'sites'
pipeline_spec = {
"name": "<pipeline-name>",
"catalog": "<catalog-name-for-event-logs>",
"schema": "<schema-name-for-event-logs>",
"ingestion_definition": {
"connection_name": "<connection-name>",
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"site_urls": "[\"<site-url>\"]"
}
}
}
],
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "sites",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "sites"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir um relatório personalizado
O exemplo a seguir ingere um relatório personalizado que agrega o desempenho diário da pesquisa na Web e de imagens por query e país. Para ingerir mais de um relatório personalizado no mesmo pipeline, adicione um objeto custom_report para cada relatório, cada um com um destination_table diferente. Para as opções, veja Relatórios personalizados.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
google_search_console_pipeline:
name: google_search_console_pipeline
catalog: 'main'
target: 'google_search_console_data'
ingestion_definition:
connection_name: google_search_console_connection
source_configurations:
- api_source_connector_config:
configs:
site_urls: '["<site-url>"]'
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'custom_report'
destination_catalog: 'main'
destination_schema: 'google_search_console_data'
destination_table: 'search_performance_by_query_and_country'
connector_options:
api_source_connector_options:
options:
dimensions: '["query", "country"]'
search_types: '["web", "image"]'
aggregation_type: 'auto'
data_state: 'final'
pipeline_spec = {
"name": "<pipeline-name>",
"catalog": "<catalog-name-for-event-logs>",
"schema": "<schema-name-for-event-logs>",
"ingestion_definition": {
"connection_name": "<connection-name>",
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"site_urls": "[\"<site-url>\"]",
"start_date": "<start-date>"
}
}
}
],
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "custom_report",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "search_performance_by_query_and_country",
"connector_options": {
"api_source_connector_options": {
"options": {
"dimensions": "[\"query\", \"country\"]",
"search_types": "[\"web\", \"image\"]",
"aggregation_type": "auto",
"data_state": "final"
}
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Ingerir tabelas de desempenho de site e pesquisa juntas
O exemplo a seguir combina uma tabela de site e uma tabela de relatório de desempenho de pesquisa em um único pipeline.
- Declarative Automation Bundles
- Databricks notebook
resources:
pipelines:
google_search_console_pipeline:
name: google_search_console_pipeline
catalog: 'main'
target: 'google_search_console_data'
ingestion_definition:
connection_name: google_search_console_connection
source_configurations:
- api_source_connector_config:
configs:
site_urls: '["<site-url>"]'
start_date: '<start-date>'
objects:
# sites does not accept data_state, so it has no connector_options block.
- table:
source_schema: 'default'
source_table: 'sites'
destination_catalog: 'main'
destination_schema: 'google_search_console_data'
destination_table: 'sites'
- table:
source_schema: 'default'
source_table: 'search_analytics_by_page'
destination_catalog: 'main'
destination_schema: 'google_search_console_data'
destination_table: 'search_analytics_by_page'
connector_options:
api_source_connector_options:
options:
data_state: 'final'
pipeline_spec = {
"name": "<pipeline-name>",
"catalog": "<catalog-name-for-event-logs>",
"schema": "<schema-name-for-event-logs>",
"ingestion_definition": {
"connection_name": "<connection-name>",
"source_configurations": [
{
"api_source_connector_config": {
"configs": {
"site_urls": "[\"<site-url>\"]",
"start_date": "<start-date>"
}
}
}
],
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "sites",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "sites"
}
},
{
"table": {
"source_schema": "default",
"source_table": "search_analytics_by_page",
"destination_catalog": "<destination-catalog>",
"destination_schema": "<destination-schema>",
"destination_table": "search_analytics_by_page",
"connector_options": {
"api_source_connector_options": {
"options": {
"data_state": "final"
}
}
}
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Arquivo de definição de job dos Pacotes de Automação Declarativa
O exemplo a seguir é um arquivo de definição de Job para uso com Pacotes de Automação Declarativa. O Job é executado diariamente.
- Declarative Automation Bundles
resources:
jobs:
google_search_console_job:
name: google_search_console_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: google_search_console_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.google_search_console_pipeline.id}
Padrões comuns
Para configurações avançadas de pipelines, consulte Padrões comuns para pipelines de ingestão gerenciada.
Passos seguintes
Comece, programe e defina alertas em seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.