Caricare i dati di Google Play in BigQuery
Puoi caricare i dati da Google Play a BigQuery utilizzando il connettore BigQuery Data Transfer Service per Google Play. Con BigQuery Data Transfer Service, puoi pianificare job di trasferimento ricorrenti che aggiungono i dati più recenti di Google Play a BigQuery.
Report supportati
BigQuery Data Transfer Service per Google Play supporta le seguenti opzioni di report mensili:
Report dettagliati
Report aggregati
Per informazioni su come i report di Google Play vengono trasformati in tabelle BigQuery, consulta Trasformazione dei report di Google Play.
Opzione di segnalazione | Assistenza |
---|---|
Versione API supportata | N/D |
Frequenza di ripetizione | Giornaliero, all'ora in cui viene creato il trasferimento dei dati (impostazione predefinita) Puoi configurare l'ora del giorno. |
Finestra di aggiornamento | Ultimi 7 giorni Non configurabile |
Durata massima del backfill | Nessun limite Sebbene Google Play non abbia limiti noti di conservazione dei dati, BigQuery Data Transfer Service ha limiti al numero di giorni che possono essere richiesti in un singolo backfill. Per informazioni sui backfill, vedi Attivare manualmente un trasferimento. |
Importazione dei dati dai trasferimenti di Google Play
Quando trasferisci i dati da Google Play a BigQuery, questi vengono caricati in tabelle BigQuery partizionate per data. La partizione della tabella in cui vengono caricati i dati corrisponde alla data dell'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 l'esecuzione di backfill non comportano la duplicazione dei dati e le partizioni per altre date non vengono interessate.Aggiorna finestre
Una finestra di aggiornamento è il numero di giorni in cui un trasferimento di dati recupera i dati quando si verifica un trasferimento di dati. Ad esempio, se la finestra di aggiornamento è di tre giorni<0xx0A>e si verifica un trasferimento giornaliero, BigQuery Data Transfer Service recupera tutti i dati dalla tabella di origine degli ultimi tre giorni. In questo esempio, quando si verifica un trasferimento giornaliero, BigQuery Data Transfer Service crea una nuova partizione della tabella di destinazione BigQuery con una copia dei dati della tabella di origine del giorno corrente, quindi attiva automaticamente le esecuzioni di backfill per aggiornare le partizioni della tabella di destinazione BigQuery con i dati della tabella di origine degli ultimi due giorni. I backfill attivati automaticamente sovrascriveranno o aggiorneranno in modo incrementale la tabella di destinazione BigQuery, a seconda che gli aggiornamenti incrementali siano supportati o meno nel connettore BigQuery Data Transfer Service.
Quando esegui un trasferimento di dati per la prima volta, il trasferimento di dati recupera tutti i dati di origine disponibili all'interno della finestra di aggiornamento. Ad esempio, se la finestra di aggiornamento è di tre giorni ed esegui il trasferimento dei dati per la prima volta, BigQuery Data Transfer Service recupera tutti i dati di origine entro tre giorni.
Le finestre di aggiornamento sono mappate al campo API TransferConfig.data_refresh_window_days
.
Per recuperare dati al di fuori della finestra di aggiornamento, ad esempio dati storici, o per recuperare dati da eventuali interruzioni o lacune nel trasferimento, puoi avviare o pianificare un backfill.
Limitazioni
- La frequenza minima per cui puoi pianificare un trasferimento dei dati è una volta ogni 24 ore. Per impostazione predefinita, un trasferimento inizia al momento della creazione del trasferimento. Tuttavia, puoi configurare l'ora di inizio del trasferimento quando lo configuri.
- BigQuery Data Transfer Service non supporta i trasferimenti incrementali di dati durante un trasferimento di Google Play. Quando specifichi una data per un trasferimento di dati, vengono trasferiti tutti i dati disponibili per quella data.
Prima di iniziare
Prima di creare un trasferimento dei dati di Google Play:
- Verifica di aver completato tutte le azioni necessarie per attivare BigQuery Data Transfer Service.
- Crea un set di dati BigQuery per archiviare i dati di Google Play.
- Trova il bucket Cloud Storage:
- Nella console Google Play, fai clic su Scarica i report e seleziona Recensioni, Statistiche o Dati finanziari.
- Per copiare l'ID del bucket Cloud Storage, fai clic su
gs://
. Ad esempio, per il report sulle recensioni, il tuo ID è simile al seguente:gs://pubsite_prod_rev_01234567890987654321/reviews
Copia URI Cloud Storage.
L'ID del bucket inizia con - Per il trasferimento dei dati di 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, devi disporre delle autorizzazioni
pubsub.topics.setIamPolicy
. Le autorizzazioni Pub/Sub non sono necessarie se configuri solo le notifiche email. Per saperne di più, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.
Autorizzazioni obbligatorie
BigQuery: assicurati che la persona che crea il trasferimento di dati disponga delle seguenti autorizzazioni in BigQuery:
- Autorizzazioni
bigquery.transfers.update
per creare il trasferimento di dati - Autorizzazioni
bigquery.datasets.get
ebigquery.datasets.update
sul set di dati di destinazione
Il ruolo IAM predefinito
bigquery.admin
include le autorizzazionibigquery.transfers.update
,bigquery.datasets.update
ebigquery.datasets.get
. Per saperne di più sui ruoli IAM in BigQuery Data Transfer Service, consulta Controllo dell'accesso.- Autorizzazioni
Google Play: assicurati di disporre delle seguenti autorizzazioni in Google Play:
- Devi disporre dell'accesso ai report in Google Play Console.
Il team Google Cloud NON ha la possibilità di generare o concedere l'accesso ai file di Google Play per tuo conto. Consulta Contattare l'assistenza di Google Play per ricevere aiuto per accedere ai file di Google Play.
Configura un trasferimento Google Play
Per configurare un trasferimento di dati da Google Play è necessario:
- Bucket Cloud Storage. I passaggi per individuare il bucket Cloud Storage sono descritti in Prima di iniziare.
Il bucket Cloud Storage inizia con
pubsite_prod_rev
. Ad esempio:pubsite_prod_rev_01234567890987654321
. - Suffisso tabella: un nome intuitivo per tutte le origini dati caricate nello stesso set di dati. Il suffisso viene utilizzato per impedire a trasferimenti separati di scrivere nelle stesse tabelle. Il suffisso della tabella deve essere univoco in tutti i trasferimenti che caricano i dati nello stesso set di dati e deve essere breve per ridurre al minimo la lunghezza del nome della tabella risultante.
Per configurare un trasferimento dei dati di Google Play:
Console
Vai alla pagina Trasferimenti di dati nella console Google Cloud .
Fai clic su
Crea trasferimento.Nella pagina Crea trasferimento:
Nella sezione Tipo di origine, per Origine, scegli Google Play.
Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento di dati, ad esempio
My Transfer
. Il nome del trasferimento può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.Nella sezione Opzioni di pianificazione:
- Per Frequenza di ripetizione, scegli un'opzione per la frequenza con cui eseguire il trasferimento di dati. Se selezioni Giorni, specifica un'ora valida nel fuso orario UTC.
- Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e fornisci una data di inizio e un'ora di esecuzione.
Nella sezione Impostazioni destinazione, per Set di dati di destinazione, scegli il set di dati che hai creato per archiviare i dati.
Nella sezione Dettagli origine dati:
- Per Bucket Cloud Storage, inserisci l'ID del tuo bucket Cloud Storage.
- Per Suffisso tabella, inserisci un suffisso come
MT
(perMy Transfer
).
Nel menu Service account, seleziona un service account tra quelli associati al tuo progetto Google Cloud . Puoi associare un service account al trasferimento di dati anziché utilizzare le tue credenziali utente. Per ulteriori informazioni sull'utilizzo dei service account con i trasferimenti di dati, consulta Utilizza i service account.
- Se hai eseguito l'accesso con un'identità federata, è necessario un service account per creare un trasferimento di dati. Se hai eseguito l'accesso con un Account Google, il service account per il trasferimento è facoltativo.
- Il service account deve disporre delle autorizzazioni richieste.
(Facoltativo) Nella sezione Opzioni di notifica:
- Fai clic sul pulsante di attivazione/disattivazione per abilitare le notifiche via email. Quando attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento non riesce.
- In Seleziona un argomento Pub/Sub, scegli il nome dell'argomento o fai clic su Crea un argomento. Questa opzione configura l'esecuzione delle notifiche di Pub/Sub in relazione al trasferimento.
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. Il nome del trasferimento dei dati può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.
- parameters contiene i parametri per la configurazione del trasferimento
creata in formato JSON. Ad esempio:
--params='{"param":"param_value"}'
. Per Google Play, devi fornire i parametribucket
etable_suffix
.bucket
è il bucket Cloud Storage che contiene i file dei report di Play. - data_source è l'origine dati:
play
. - service_account_name è il nome del account di servizio utilizzato per
autenticare il trasferimento dei dati. Il account di servizio deve essere di proprietà dello stesso
project_id
utilizzato per creare il trasferimento e deve disporre di tutte le autorizzazioni richieste.
Ad esempio, il comando seguente crea un trasferimento di dati di Google Play denominato My
Transfer
utilizzando il bucket Cloud Storage pubsite_prod_rev_01234567890987654321
e il set di dati di destinazione mydataset
. Il trasferimento dei dati viene creato nel progetto
predefinito:
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, riceverai un messaggio simile al seguente:
[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 nella riga di comando.
API
Utilizza il metodo projects.locations.transferConfigs.create
e fornisci un'istanza della risorsa TransferConfig
.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configurare l'autenticazione per le librerie client.
Risolvere i problemi di configurazione del trasferimento da Google Play
Se riscontri problemi durante la configurazione del trasferimento dei dati, consulta Risoluzione dei problemi relativi alla configurazione del trasferimento di BigQuery Data Transfer Service.
Eseguire query sui dati
Quando vengono trasferiti a BigQuery, i tuoi dati vengono scritti in tabelle partizionate per data di importazione. Per ulteriori informazioni, consulta Introduzione alle tabelle partizionate.
Se esegui query direttamente sulle tabelle anziché utilizzare le viste generate automaticamente, devi utilizzare la pseudocolonna _PARTITIONTIME
nella query. Per maggiori informazioni,
consulta la pagina Esecuzione di query sulle tabelle partizionate.
Prezzi
Per informazioni sui prezzi del trasferimento di dati di Google Play, consulta la pagina Prezzi.
Una volta trasferiti su BigQuery, i dati sono soggetti ai prezzi standard di BigQuery per l'archiviazione e le query.
Passaggi successivi
- Per scoprire come vengono trasferiti i report di Google Play a BigQuery, consulta Trasformazioni dei report di Google Play.
- Per una panoramica di BigQuery Data Transfer Service, consulta Introduzione a BigQuery Data Transfer Service.
- Per informazioni sull'utilizzo dei trasferimenti, inclusi i dettagli su una configurazione di trasferimento, l'elenco delle configurazioni di trasferimento e la visualizzazione della cronologia di esecuzione di un trasferimento, consulta Utilizzo dei trasferimenti.