Trasferimenti dei rapporti Google Play

BigQuery Data Transfer Service per Google Play ti consente di pianificare automaticamente e gestire job di caricamento ricorrenti per i dati dei report di Google Play.

Report supportati

BigQuery Data Transfer Service per Google Play supporta le seguenti funzionalità opzioni dei report mensili:

Report dettagliati

Report aggregati

Per informazioni su come i report di Google Play vengono trasformati Per le tabelle BigQuery, consulta Trasformazioni dei report di Google Play.

Opzione di segnalazione Assistenza
Versione API supportata

N/D

Pianificazione

Ogni giorno, nel momento in cui viene creato per la prima volta il trasferimento (impostazione predefinita)

Puoi configurare l'ora del giorno.

Finestra di aggiornamento

Ultimi 7 giorni

Non configurabile

Durata massima del backfill

Nessun limite

Anche se Google Play non dispone di dati noti limiti di conservazione, BigQuery Data Transfer Service ha sul numero di giorni che possono essere richiesti in un singolo backfill. Per informazioni sui backfill, consulta Configura un backfill.

Importazione dati da trasferimenti di Google Play

Quando trasferisci i dati da Google Play a BigQuery, vengono caricati in tabelle BigQuery partizionate per data. La partizione della tabella in cui vengono caricati i dati corrisponde alla data da l'origine dati. Se pianifichi più trasferimenti per la stessa data, BigQuery Data Transfer Service sovrascrive la partizione per quella data specifica con i dati più recenti. Più trasferimenti nello stesso giorno o backfill in esecuzione non generano dati duplicati e le partizioni per altre date non sono interessate.

Limitazioni

  • La frequenza minima per cui puoi pianificare un trasferimento di dati è una volta ogni 24 ore su 24. Per impostazione predefinita, un trasferimento inizia nel momento in cui crei trasferimento. Tuttavia, puoi configurare l'ora di inizio del trasferimento configurare il trasferimento.
  • BigQuery Data Transfer Service non supporta i trasferimenti incrementali durante un Trasferimento da Google Play. Quando specifichi una data per un trasferimento di dati, dei dati disponibili per quella data vengono trasferiti.

Prima di iniziare

Prima di creare un trasferimento Google Play:

  • Verifica di aver completato tutte le azioni richieste per abilitare BigQuery Data Transfer Service.
  • Crea un set di dati BigQuery per memorizzare i dati di Google Play.
  • Trova il tuo bucket Cloud Storage:
    1. In Google Play Console: fai clic su Scarica i report e seleziona Recensioni, Statistiche o Dati finanziari.
    2. Per copiare l'ID del tuo bucket Cloud Storage, fai clic su Copia URI Cloud Storage. L'ID bucket inizia con gs://. Ad esempio, per Recensioni, il tuo ID è simile al seguente:
      gs://pubsite_prod_rev_01234567890987654321/reviews
    3. Per il trasferimento da Google Play, devi copiare solo l'ID univoco compreso tra gs:// e /reviews:
      pubsite_prod_rev_01234567890987654321
  • Se intendi configurare le notifiche di esecuzione del trasferimento per Pub/Sub, deve avere le autorizzazioni pubsub.topics.setIamPolicy. Pub/Sub le autorizzazioni non sono necessarie se hai appena configurato le notifiche via email. Per ulteriori informazioni le informazioni, vedi Notifiche di esecuzione di BigQuery Data Transfer Service.

Autorizzazioni obbligatorie

  • BigQuery: assicurati che la persona che crea il trasferimento abbia le seguenti autorizzazioni in BigQuery:

    • bigquery.transfers.update autorizzazioni per creare il trasferimento
    • Autorizzazioni bigquery.datasets.get e bigquery.datasets.update attive il set di dati di destinazione

    Il ruolo IAM predefinito bigquery.admin include bigquery.transfers.update, bigquery.datasets.update e Autorizzazioni bigquery.datasets.get. Per ulteriori informazioni sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.

  • Google Play: assicurati di disporre delle seguenti autorizzazioni in Google Riproduci:

    Il team di Google Cloud NON ha di generare o concedere l'accesso a file di Google Play per tuo conto. Consulta Contatta l'assistenza di Google Play per ricevere assistenza per l'accesso ai file di Google Play.

Configurare un trasferimento da Google Play

Per configurare un trasferimento da Google Play è necessario:

  • Bucket Cloud Storage. Per individuare il bucket Cloud Storage, procedi nel seguente modo: descritto in Prima di iniziare. Il tuo bucket Cloud Storage inizia con pubsite_prod_rev. Per esempio: pubsite_prod_rev_01234567890987654321.
  • Suffisso della tabella: un nome semplice per tutte le origini dati che vengono caricate nel lo stesso set di dati. Il suffisso viene utilizzato per impedire la scrittura di trasferimenti separati alle stesse tabelle. Il suffisso della tabella deve essere univoco in tutti i trasferimenti caricare i dati nello stesso set di dati e il suffisso deve essere breve per la lunghezza del nome della tabella risultante.

Per configurare un trasferimento da Google Play:

Console

  1. Vai alla pagina BigQuery nella console Google Cloud.

    Vai alla pagina di BigQuery

  2. Fai clic su Trasferimenti.

  3. Fai clic su Crea trasferimento.

  4. Nella pagina Crea trasferimento:

    • Nella sezione Tipo di origine, per Origine, scegli Google Google Play.

      Origine trasferimento

    • Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome del trasferimento, ad esempio My Transfer. Il nome del trasferimento può essere qualsiasi valore che consenta di identificare facilmente il trasferimento se necessario per modificarlo in un secondo momento.

      Nome trasferimento

    • Nella sezione Opzioni di pianificazione:

      • In Frequenza di ripetizione, scegli un'opzione per la frequenza di esecuzione del trasferimento. Se selezioni Giorni, fornisci un orario valido nel formato UTC.

        • Ore
        • Giorni
        • On demand
      • Se applicabile, seleziona Inizia ora o Inizia all'ora impostata. e specificare una data di inizio e un'ora di esecuzione.

    • Nella sezione Impostazioni destinazione, per Set di dati di destinazione, scegli il set di dati creato per archiviare i tuoi dati.

      Trasferisci set di dati

    • Nella sezione Dettagli origine dati:

      • In Bucket Cloud Storage, inserisci l'ID per il tuo Cloud Storage di sincronizzare la directory di una VM con un bucket.
      • Per Suffisso tabella, inserisci un suffisso, ad esempio "MT" (per "My "trasferimento").

        Dettagli origine Google Play

    • Nel menu Account di servizio, seleziona un account di servizio dagli account di servizio associati progetto Google Cloud. Puoi associare un account di servizio a il trasferimento anziché utilizzare le tue credenziali utente. Per ulteriori informazioni informazioni sull'uso di account di servizio con i trasferimenti di dati, vedi Utilizzare gli account di servizio.

      • Se hai eseguito l'accesso con un'identità federata: per creare un trasferimento è necessario un account di servizio. Se hai firmato con un Account Google, poi l'account di servizio per il trasferimento è facoltativo.
      • L'account di servizio deve disporre delle autorizzazioni richieste.
    • (Facoltativo) Nella sezione Opzioni di notifica:

      • Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche via email. Se attivi questa opzione, l'amministratore dei trasferimenti riceve una notifica via email quando un trasferimento non va a buon fine.
      • Per Seleziona un argomento Pub/Sub, scegli l'argomento o fai clic su Crea un argomento. Questa opzione configura l'esecuzione delle notifiche in Pub/Sub per il trasferimento.
  5. Fai clic su Salva.

bq

Inserisci il comando bq mk e fornisci il flag di creazione del trasferimento: --transfer_config. Sono necessari anche i seguenti flag:

  • --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

Dove:

  • project_id è l'ID progetto. Se --project_id non è specificato, viene utilizzato il progetto predefinito.
  • dataset è il set di dati di destinazione per la configurazione del trasferimento.
  • name è il nome visualizzato della configurazione di trasferimento. La Transfer name può essere qualsiasi valore che ti consenta di identificare se devi modificarlo in un secondo momento.
  • parameters contiene i parametri per il trasferimento creato configurazione in formato JSON. Ad esempio: --params='{"param":"param_value"}'. Per Google Play, devi fornire bucket e table_suffix, parametri. bucket è il bucket Cloud Storage che contiene i file dei report di Google Play.
  • data_source è l'origine dati: play.
  • service_account_name è il nome dell'account di servizio utilizzato di autenticare il trasferimento. Account di servizio deve essere di proprietà dello stesso project_id usato per creare il trasferimento dovrebbe avere tutte le autorizzazioni richieste.

Ad esempio, il comando seguente crea un trasferimento Google Play denominato My Transfer utilizzando il bucket Cloud Storage pubsite_prod_rev_01234567890987654321 e il set di dati di destinazione mydataset. Il trasferimento viene creato progetto:

bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"bucket":"pubsite_prod_rev_01234567890987654321","table_suffix":"MT"}' \
--data_source=play

La prima volta che esegui il comando, viene visualizzato un messaggio simile al seguenti:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

Segui le istruzioni nel messaggio e incolla il codice di autenticazione la riga di comando.

API

Utilizza la projects.locations.transferConfigs.create e fornisce un'istanza del metodo TransferConfig risorsa.

Java

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.

Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.protobuf.Struct;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

// Sample to create a play transfer config.
public class CreatePlayTransfer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    String datasetId = "MY_DATASET_ID";
    String bucket = "gs://cloud-sample-data";
    String tableSuffix = "_test";
    Map<String, Value> params = new HashMap<>();
    params.put("bucket", Value.newBuilder().setStringValue(bucket).build());
    params.put("table_suffix", Value.newBuilder().setStringValue(tableSuffix).build());
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setDestinationDatasetId(datasetId)
            .setDisplayName("Your Play Config Name")
            .setDataSourceId("play")
            .setParams(Struct.newBuilder().putAllFields(params).build())
            .build();
    createPlayTransfer(projectId, transferConfig);
  }

  public static void createPlayTransfer(String projectId, TransferConfig transferConfig)
      throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      CreateTransferConfigRequest request =
          CreateTransferConfigRequest.newBuilder()
              .setParent(parent.toString())
              .setTransferConfig(transferConfig)
              .build();
      TransferConfig config = client.createTransferConfig(request);
      System.out.println("play transfer created successfully :" + config.getName());
    } catch (ApiException ex) {
      System.out.print("play transfer was not created." + ex.toString());
    }
  }
}

Risolvere i problemi di configurazione del trasferimento di Google Play

Se riscontri problemi durante la configurazione del trasferimento, vedi Risoluzione dei problemi di configurazione del trasferimento di BigQuery Data Transfer Service.

Eseguire query sui dati

Quando vengono trasferiti in BigQuery, i dati vengono vengono scritte in tabelle partizionate in fase di importazione. Per ulteriori informazioni, vedi Introduzione alle tabelle partizionate.

Se esegui una query direttamente sulle tabelle anziché utilizzare le viste generate automaticamente, deve utilizzare la pseudocolonna _PARTITIONTIME nella query. Per ulteriori informazioni, consulta Esecuzione di query su tabelle partizionate.

Prezzi

Per informazioni sui prezzi dei trasferimenti di Google Play, consulta le nella pagina Prezzi.

Una volta che i dati sono stati trasferiti in BigQuery, BigQuery archiviazione e si applicano i prezzi delle query.

Passaggi successivi