Transferências do Google Play
Com o conector do serviço de transferência de dados do BigQuery para Google Play, é possível programar e gerenciar automaticamente jobs de carregamento recorrentes para dados de relatórios do Google Play.
Relatórios compatíveis
O serviço de transferência de dados do BigQuery para Google Play é compatível com as seguintes opções de relatórios mensais:
Relatórios detalhados
Relatórios agregados
Para informações sobre como os relatórios do Google Play são transformados em tabelas do BigQuery, consulte Transformações de relatórios do Google Play.
Opção de relatório | Suporte |
---|---|
Versão da API compatível | N/A |
Repetir frequência | Diariamente, no horário em que a transferência de dados foi criada pela primeira vez (padrão) Você pode configurar a hora do dia. |
Atualizar janela | Últimos 7 dias Não configurável |
Duração máxima do preenchimento | Sem limite O Google Play não tem limites conhecidos de retenção de dados, mas o serviço de transferência de dados do BigQuery tem limites em relação a quantos dias podem ser solicitados em um único preenchimento. Para informações sobre preenchimentos, consulte Acionar manualmente uma transferência. |
Ingestão de dados das transferências do Google Play
Ao transferir dados do Google Play para o BigQuery, eles são carregados em tabelas do BigQuery particionadas por data. A partição da tabela em que os dados são carregados corresponde à data da fonte de dados. Se você programar várias transferências para a mesma data, o serviço de transferência de dados do BigQuery substituirá a partição dessa data específica pelos dados mais recentes. Várias transferências no mesmo dia ou preenchimentos não resultam em dados duplicados, e as partições de outras datas não são afetadas.Atualizar janelas
Uma janela de atualização é o número de dias que uma transferência de dados recupera dados quando ocorre uma transferência de dados. Por exemplo, se a janela de atualização for de três dias e uma transferência diária ocorrer, o serviço de transferência de dados do BigQuery vai extrair todos os dados da tabela de origem dos últimos três dias. Nesse exemplo, quando uma transferência diária ocorre, o serviço de transferência de dados do BigQuery cria uma nova partição de tabela de destino do BigQuery com uma cópia dos dados da tabela de origem do dia atual e, em seguida, aciona automaticamente as execuções de preenchimento para atualizar as partições de tabela de destino do BigQuery com os dados da tabela de origem dos últimos dois dias. As execuções de preenchimento automático acionadas automaticamente vão substituir ou atualizar de forma incremental a tabela de destino do BigQuery, dependendo de se as atualizações incrementais são aceitas ou não pelo conector do serviço de transferência de dados do BigQuery.
Quando você executa uma transferência de dados pela primeira vez, ela recupera todos os dados de origem disponíveis na janela de atualização. Por exemplo, se a janela de atualização for de três dias e você executar a transferência de dados pela primeira vez, o serviço de transferência de dados do BigQuery vai recuperar todos os dados de origem em três dias.
As janelas de atualização são mapeadas para o campo da APITransferConfig.data_refresh_window_days
.
Para recuperar dados fora da janela de atualização, como dados históricos, ou para recuperar dados de interrupções ou lacunas de transferência, inicie ou programe uma execução de preenchimento.
Limitações
- A frequência mínima para programar uma transferência de dados é de uma vez a cada 24 horas. Por padrão, uma transferência começa no momento em que você cria a transferência. No entanto, é possível configurar o horário de início da transferência ao configurar sua transferência.
- O serviço de transferência de dados do BigQuery não é compatível com transferências incrementais durante uma transferência do Google Play. Quando você especifica uma data para uma transferência de dados, todos os dados disponíveis nessa data são transferidos.
Antes de começar
Antes de criar uma transferência de dados do Google Play:
- Verifique se você realizou todas as ações necessárias para ativar o serviço de transferência de dados do BigQuery.
- Crie um conjunto de dados do BigQuery para armazenar os dados do Google Play.
- Localize seu bucket do Cloud Storage:
- No Google Play Console, clique em Fazer o download de relatórios e selecione Avaliações, Estatísticas ou Finanças.
- Para copiar o ID do bucket do Cloud Storage, clique em
gs://
. Por exemplo, no relatório de avaliações, seu ID será semelhante a este:gs://pubsite_prod_rev_01234567890987654321/reviews
Copiar URI do Cloud Storage.
Seu ID do bucket começa com - Para a transferência de dados do Google Play, você precisa copiar apenas o ID exclusivo que está entre
gs://
e/reviews
:pubsite_prod_rev_01234567890987654321
- Se você pretende configurar notificações de execução de transferência do Pub/Sub,
é preciso ter permissões
pubsub.topics.setIamPolicy
. As permissões do Pub/Sub não serão necessárias se você configurar notificações por e-mail. Para mais informações, consulte Notificações de execução do serviço de transferência de dados do BigQuery.
Permissões necessárias
BigQuery: verifique se a pessoa que está criando a transferência de dados tem as permissões a seguir no BigQuery:
- Permissões
bigquery.transfers.update
para criar a transferência de dados - Permissões
bigquery.datasets.get
ebigquery.datasets.update
no conjunto de dados de destino
O papel predefinido
bigquery.admin
do IAM inclui permissõesbigquery.transfers.update
,bigquery.datasets.update
ebigquery.datasets.get
. Para mais informações sobre os papéis do IAM no serviço de transferência de dados do BigQuery, consulte o controle de acesso.- Permissões
Google Play: verifique se você tem as seguintes permissões no Google Play:
- Você precisa ter acesso à geração de relatórios no Google Play Console.
A equipe do Google Cloud NÃO gera nem concede acesso aos arquivos do Google Play em seu nome. Se você precisar de ajuda para acessá-los, consulte Entre em contato com o suporte do Google Play.
Configurar uma transferência do Google Play
A configuração de uma transferência de dados do Google Play requer os itens a seguir:
- bucket do Cloud Storage: As etapas para localizar seu bucket do Cloud Storage são
descritas em Antes de começar.
O bucket do Cloud Storage começa com
pubsite_prod_rev
. Por exemplo:pubsite_prod_rev_01234567890987654321
. - Sufixo da tabela: um nome fácil para todas as origens de dados que são carregadas no mesmo conjunto de dados. O sufixo é usado para evitar que transferências separadas gravem nas mesmas tabelas. O sufixo da tabela precisa ser único em todas as transferências que carregam dados para o mesmo conjunto de dados. Além disso, o sufixo precisa ser curto para reduzir o comprimento do nome de tabela resultante.
Para configurar uma transferência de dados do Google Play:
Console
Acesse a página "Transferências de dados" no console do Google Cloud.
Clique em
Criar transferência.Na página Criar transferência:
Na seção Tipo de origem, em Origem, escolha Google Play.
No campo Nome de exibição da seção Transferir nome da configuração, insira um nome para a transferência de dados, como
My Transfer
. O nome da transferência pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.Na seção Opções de programação, faça o seguinte:
Em Frequência de repetição, escolha uma opção para a frequência de execução da transferência de dados: Se você selecionar Dias, forneça um horário válido em UTC.
- Horas
- Dias
- Sob demanda
Se aplicável, selecione Começar agora ou Começar no horário definido e forneça uma data de início e um horário de execução.
Na seção Configurações de destino, em Conjunto de dados de destino, escolha o conjunto criado para armazenar seus dados.
Na seção Detalhes da origem de dados:
- Em bucket do Cloud Storage, insira o código do bucket.
Em Sufixo da tabela, insira um sufixo como "MT" (para "Minha Transferência").
No menu Conta de serviço, selecione uma conta de serviço nas contas de serviço associadas ao seu projeto do Google Cloud. É possível associar uma conta de serviço à transferência de dados em vez de usar suas credenciais de usuário. Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.
- Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência de dados. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência é opcional.
- A conta de serviço precisa ter as permissões necessárias.
Opcional: na seção Opções de notificação:
- Clique no botão para ativar as notificações por e-mail. Quando você ativa essa opção, o administrador de transferência recebe uma notificação por e-mail se uma execução de transferência falhar.
- Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Essa opção configura notificações de execução do Pub/Sub da sua transferência.
Clique em Salvar.
bq
Insira o comando bq mk
e forneça a sinalização de execução da transferência
--transfer_config
. As sinalizações a seguir também são obrigatórias:
--target_dataset
--display_name
--params
--data_source
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source --service_account_name=service_account_name
Em que:
- project_id é o ID do projeto. Se
--project_id
não for especificado, o projeto padrão será usado. - dataset é o conjunto de dados de destino na configuração da transferência:
- name é o nome de exibição da configuração de transferência. O nome da transferência de dados pode ser qualquer valor que permita identificá-la, caso você precise modificá-la depois.
- parameters contém os parâmetros da configuração da
transferência criada no formato JSON. Por exemplo,
--params='{"param":"param_value"}'
. Para o Google Play, forneça os parâmetrosbucket
etable_suffix
.bucket
é o bucket do Cloud Storage que contém os arquivos de relatório do Google Play. - data_source é a fonte de dados:
play
. - service_account_name é o nome da conta de serviço usado para autenticar a transferência de dados. A conta de serviço
precisa pertencer ao mesmo
project_id
usado para criar a transferência e ter todas as permissões necessárias.
Por exemplo, o comando a seguir cria uma transferência de dados do Google Play chamada My
Transfer
usando o bucket pubsite_prod_rev_01234567890987654321
do Cloud Storage
e o conjunto de dados de destino mydataset
. A transferência de dados é criada no projeto padrão:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket":"pubsite_prod_rev_01234567890987654321","table_suffix":"MT"}' \
--data_source=play
Ao executar o comando pela primeira vez, você receberá uma mensagem como esta:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Siga as instruções na mensagem e cole o código de autenticação na linha de comando.
API
Use o método projects.locations.transferConfigs.create
e forneça uma instância do recurso
TransferConfig
.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Resolver problemas de configuração de transferência do Google Play
Se você tiver problemas para configurar a transferência de dados, consulte Solução de problemas de configuração da transferência do serviço de transferência de dados do BigQuery.
Consultar dados
Quando os dados são transferidos para o BigQuery, eles são gravados em tabelas particionadas por tempo de processamento. Para mais informações, consulte Introdução às tabelas particionadas.
Use a pseudocoluna _PARTITIONTIME
para consultar suas tabelas diretamente em vez de usar visualizações geradas automaticamente. Para mais informações, veja Como consultar tabelas particionadas.
Preços
Para mais informações sobre preços de transferência de dados do Google Play, consulte a página Preços.
Assim que os dados são transferidos para o BigQuery, são aplicados os preços padrão de armazenamento e consulta do BigQuery.
A seguir
- Se quiser saber como os relatórios do Google Play são transferidos para o BigQuery, consulte Transformação do relatório do Google Play.
- Consulte Introdução ao serviço de transferência de dados do BigQuery para uma visão geral desse serviço.
- Para informações sobre o uso de transferências, incluindo ver detalhes sobre a configuração, listar configurações e visualizar o histórico de execução, consulte Como trabalhar com transferências.