Creazione di set di dati
Questo documento descrive come creare set di dati in BigQuery.
Puoi creare set di dati nei seguenti modi:
- Utilizzo della console Google Cloud.
- Utilizzando una query SQL.
- Utilizzo del comando
bq mk
nello strumento a riga di comando bq. - Chiamata al metodo dell'API
datasets.insert
. - Utilizzare le librerie client.
- Copia di un set di dati esistente.
Per vedere i passaggi per copiare un set di dati, anche tra regioni, vedi Copia di set di dati.
Questo documento descrive come lavorare con set di dati normali che archiviano dati in BigQuery. Per scoprire come utilizzare i set di dati esterni di Spanner, consulta Creare set di dati esterni di Spanner. Per scoprire come utilizzare i set di dati federati di AWS Glue, consulta Creare set di dati federati di AWS Glue.
Per scoprire come eseguire query sulle tabelle di un set di dati pubblico, consulta Eseguire una query su un set di dati pubblico con la console Google Cloud.
Limitazioni dei set di dati
I set di dati BigQuery sono soggetti alle seguenti limitazioni:
- La posizione del set di dati può essere impostata solo al momento della creazione. Una volta creato un set di dati, la relativa posizione non può essere modificata.
- Tutte le tabelle a cui viene fatto riferimento in una query devono essere archiviate in set di dati nel nella stessa località.
I set di dati esterni non supportano la scadenza delle tabelle, le repliche, il viaggio nel tempo, le regole di confronto predefinite, la modalità di arrotondamento predefinita o l'opzione per abilitare o disabilitare i nomi delle tabelle sensibili alle maiuscole.
Quando copi una tabella, i set di dati che contengono la tabella di origine e la tabella di destinazione devono trovarsi nella stessa posizione.
I nomi dei set di dati devono essere univoci per ogni progetto.
Se modifichi il valore di un set di dati modello di fatturazione dello spazio di archiviazione, devi attendere 14 giorni prima di poter modificare di nuovo il modello di fatturazione dello spazio di archiviazione.
Non puoi registrare un set di dati per la fatturazione dello spazio di archiviazione fisico, se ne hai legacy esistente impegni di slot a costo fisso che si trova nella stessa regione del set di dati.
Prima di iniziare
Concedi ruoli IAM (Identity and Access Management) che concedono agli utenti le autorizzazioni necessarie per eseguire ogni attività in questo documento.
Autorizzazioni obbligatorie
Per creare un set di dati, è necessario il bigquery.datasets.create
Autorizzazione IAM.
Ciascuno dei seguenti ruoli IAM predefiniti include le autorizzazioni necessarie per creare un set di dati:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.user
roles/bigquery.admin
Per ulteriori informazioni sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Assegnare un nome ai set di dati
Quando crei un set di dati in BigQuery, il nome del set di dati deve essere univoci per ogni progetto. Il nome del set di dati può contenere quanto segue:
- Fino a 1024 caratteri.
- Lettere (maiuscole o minuscole), numeri e trattini bassi.
Per impostazione predefinita, i nomi dei set di dati sono sensibili alle maiuscole. mydataset
e MyDataset
possono
coesistono nello stesso progetto, a meno che uno di essi non presenti sensibilità alle maiuscole
disattivata.
I nomi dei set di dati non possono contenere spazi o caratteri speciali come -
, &
, @
o %
.
Set di dati nascosti
Un set di dati nascosto è un set di dati il cui nome inizia con un trattino basso. Puoi tabelle e viste di query in set di dati nascosti, proprio come faresti in qualsiasi altra query del set di dati. I set di dati nascosti presentano le seguenti limitazioni:
- Questi vengono nascosti nel riquadro Explorer della console Google Cloud.
- Non vengono visualizzati in nessuna visualizzazione
INFORMATION_SCHEMA
. - Non possono essere utilizzati con set di dati collegati.
- Non vengono visualizzati in Data Catalog.
Creazione di set di dati
Per creare un set di dati:
Console
Apri la pagina BigQuery nella console Google Cloud.
Nel riquadro Explorer, seleziona il progetto in cui vuoi creare il set di dati.
Espandi l'opzione
Azioni e fai clic su Crea set di dati:Nella pagina Crea set di dati:
- In ID set di dati, inserisci un nome univoco del set di dati.
In Tipo di località, scegli una località geografica. per il set di dati. Dopo aver creato un set di dati, posizione non può essere modificata.
(Facoltativo) Se vuoi che le tabelle di questo set di dati scadano, seleziona Attiva la scadenza delle tabelle e poi specifica la Durata massima predefinita della tabella in giorni.
(Facoltativo) Se vuoi utilizzare una chiave di crittografia gestita dal cliente (CMEK), espandi Opzioni avanzate, quindi seleziona Crittografia gestita dal cliente (CMEK).
(Facoltativo) Se vuoi utilizzare nomi delle tabelle senza distinzione tra maiuscole e minuscole, espandi Opzioni avanzate, quindi seleziona Attiva senza distinzione tra maiuscole e minuscole nomi delle tabelle.
(Facoltativo) Se vuoi utilizzare una regola di confronto predefinita, espandi Opzioni avanzate, seleziona Attiva regole di confronto predefinite, quindi seleziona le Regole di confronto predefinite da utilizzare.
(Facoltativo) Se vuoi utilizzare una modalità di arrotondamento predefinita, espandi Opzioni avanzate, poi seleziona la Modalità di arrotondamento predefinita da utilizzare.
(Facoltativo) Se vuoi attivare il modello di fatturazione dell'archiviazione fisica, espandi Opzioni avanzate e seleziona Attiva il modello di fatturazione dell'archiviazione fisica.
Quando modifichi il modello di fatturazione di un set di dati, sono necessarie 24 ore prima che la modifica venga applicata.
Una volta modificato il modello di fatturazione dello spazio di archiviazione di un set di dati, devi attendere 14 giorni prima di poterlo modificare di nuovo.
(Facoltativo) Se vuoi impostare la finestra di viaggio nel tempo del set di dati, espandi Opzioni avanzate e seleziona la Finestra di viaggio nel tempo da utilizzare.
Fai clic su Crea set di dati.
SQL
Utilizza
l'istruzione CREATE SCHEMA
.
Per creare un set di dati in un progetto diverso da quello predefinito, aggiungi
all'ID del set di dati nel seguente formato:
PROJECT_ID.DATASET_ID
.
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
CREATE SCHEMA PROJECT_ID.DATASET_ID OPTIONS ( default_kms_key_name = 'KMS_KEY_NAME', default_partition_expiration_days = PARTITION_EXPIRATION, default_table_expiration_days = TABLE_EXPIRATION, description = 'DESCRIPTION', labels = [('KEY_1','VALUE_1'),('KEY_2','VALUE_2')], location = 'LOCATION', max_time_travel_hours = HOURS, storage_billing_model = BILLING_MODEL);
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progettoDATASET_ID
: l'ID del set di dati che stai creazione in corsoKMS_KEY_NAME
: il nome della chiave Cloud Key Management Service predefinita utilizzata per proteggere le tabelle appena create in questo set di dati, a meno che non venga fornita una chiave diversa al momento della creazione. Non puoi creare una tabella criptata da Google in un set di dati con questo parametro impostato.PARTITION_EXPIRATION
: la durata predefinita (in giorni) per le partizioni delle tabelle partizionate appena create. La scadenza della partizione predefinita non ha un valore minimo. L'ora di scadenza viene valutata come la data della partizione più il valore intero. Qualsiasi partizione creata in una tabella partizionata nel set di dati viene eliminataPARTITION_EXPIRATION
giorni dopo la data della tabella. Se fornisci l'opzionetime_partitioning_expiration
quando crea o aggiorna una tabella partizionata, la partizione la scadenza ha la precedenza sulla partizione predefinita a livello del set di dati la scadenza del periodo di conservazione.TABLE_EXPIRATION
: la durata predefinita (in giorni) per le tabelle appena create. Il valore minimo è 0,042 giorni (un'ora). La scadenza viene valutata come l'ora corrente più il valore intero. Qualsiasi tabella creata nel set di dati viene eliminataTABLE_EXPIRATION
giorni dopo la data e l'ora di creazione. Questo valore viene applicato se non imposti una scadenza della tabella quando crea la tabella.DESCRIPTION
: una descrizione del set di datiKEY_1:VALUE_1
: la coppia chiave-valore che vuoi impostare come prima etichetta su questo set di datiKEY_2:VALUE_2
: la coppia chiave-valore coppia che vuoi impostare come seconda etichettaLOCATION
: il valore del set di dati località. Dopo aver creato un set di dati, posizione non può essere modificata.HOURS
: la durata in ore del viaggio cronologico finestra per il nuovo set di dati. Il valoreHOURS
deve essere un numero intero espresso in multipli di 24 (48, 72, 96, 120, 144, 168) compreso tra 48 (2 giorni) e 168 (7 giorni). Il valore predefinito è 168 ore se questa opzione non è specificata.BILLING_MODEL
: imposta il modello di fatturazione dello spazio di archiviazione per il set di dati. Imposta il valoreBILLING_MODEL
suPHYSICAL
per utilizzare i byte fisici durante il calcolo degli addebiti per lo spazio di archiviazione o suLOGICAL
per utilizzare i byte logici.LOGICAL
è l'impostazione predefinita.Quando modifichi il modello di fatturazione di un set di dati, sono necessarie 24 ore prima che la modifica venga applicata.
Una volta modificato il modello di fatturazione dello spazio di archiviazione di un set di dati, devi attendere 14 giorni prima di poter modificare di nuovo il modello di fatturazione dello spazio di archiviazione.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.
bq
Per creare un nuovo set di dati, utilizza
Comando bq mk
con il flag --location
. Per un elenco completo dei possibili parametri, consulta
Comando bq mk --dataset
riferimento.
Per creare un set di dati in un progetto diverso da quello predefinito, aggiungi
al nome del set di dati nel seguente formato:
PROJECT_ID:DATASET_ID
.
bq --location=LOCATION mk \ --dataset \ --default_kms_key=KMS_KEY_NAME \ --default_partition_expiration=PARTITION_EXPIRATION \ --default_table_expiration=TABLE_EXPIRATION \ --description="DESCRIPTION" \ --label=KEY_1:VALUE_1 \ --label=KEY_2:VALUE_2 \ --add_tags=KEY_3:VALUE_3[,...] \ --max_time_travel_hours=HOURS \ --storage_billing_model=BILLING_MODEL \ PROJECT_ID:DATASET_ID
Sostituisci quanto segue:
LOCATION
: la posizione del set di dati. Una volta creato un set di dati, la posizione non può essere modificata. Puoi impostare un valore predefinito per la località utilizzando il file.bigqueryrc
.KMS_KEY_NAME
: il nome della chiave Cloud Key Management Service predefinita utilizzata per proteggere le tabelle appena create in questo set di dati, a meno che non venga fornita una chiave diversa al momento della creazione. Non puoi creare una tabella con crittografia Google in un set di dati con questo parametro impostato.PARTITION_EXPIRATION
: la durata predefinita (in secondi) per le partizioni nelle tabelle partizionate appena create. La scadenza della partizione predefinita non ha un valore minimo. La data di scadenza viene valutata come la data della partizione più il valore intero. Qualsiasi partizione creata viene eliminata una tabella partizionataPARTITION_EXPIRATION
secondi dopo la data della partizione. Se fornisci il flag--time_partitioning_expiration
quando crei o aggiorni una tabella partizionata, la scadenza della partizione a livello di tabella ha la precedenza sulla scadenza predefinita della partizione a livello di set di dati.TABLE_EXPIRATION
: la durata predefinita (in secondi) per le tabelle appena create. Il valore minimo è 3600 secondi (un'ora). La data di scadenza viene valutata come l'ora corrente più il valore intero. Qualsiasi tabella creata nel set di dati viene eliminataTABLE_EXPIRATION
secondi dopo la relativa ora di creazione. Questo valore viene applicato se non imposti una scadenza per la tabella quando la crei.DESCRIPTION
: una descrizione del set di datiKEY_1:VALUE_1
: la coppia chiave-valore da impostare come prima etichetta per questo set di dati eKEY_2:VALUE_2
è la coppia chiave-valore da impostare come seconda etichetta.KEY_3:VALUE_3
: la coppia chiave-valore da impostare come tag nel set di dati. Aggiungi più tag sotto lo stesso flag con virgole tra le coppie chiave:valore.HOURS
: la durata in ore del viaggio cronologico finestra per il nuovo set di dati. Il valoreHOURS
deve essere un numero intero espresso in multipli di 24 (48, 72, 96, 120, 144, 168) tra 48 (2 giorni) e 168 (7 giorni). Il valore predefinito è 168 ore se questa opzione non è specificata.BILLING_MODEL
: imposta il modello di fatturazione dello spazio di archiviazione per il set di dati. Imposta il valoreBILLING_MODEL
suPHYSICAL
per utilizzare i byte fisici durante il calcolo degli caricamenti sullo spazio di archiviazione o suLOGICAL
per utilizzare i byte logici.LOGICAL
è il valore predefinito.Quando modifichi il modello di fatturazione di un set di dati, sono necessarie 24 ore prima che la modifica venga applicata.
Una volta modificato il modello di fatturazione dello spazio di archiviazione di un set di dati, devi attendere 14 giorni prima di poter modificare di nuovo il modello di fatturazione dello spazio di archiviazione.
PROJECT_ID
: il tuo ID progetto.DATASET_ID
è l'ID del set di dati che stai è in fase di creazione.
Ad esempio, il comando seguente crea un set di dati denominato mydataset
con dati
località impostata su US
, una scadenza predefinita della tabella di 3600 secondi (1 ora) e un
descrizione di This is my dataset
. Anziché utilizzare il flag --dataset
,
usa la scorciatoia -d
. Se ometti -d
e --dataset
, il comando
sulla creazione di un set di dati per impostazione predefinita.
bq --location=US mk -d \ --default_table_expiration 3600 \ --description "This is my dataset." \ mydataset
Per confermare che il set di dati è stato creato, inserisci il comando bq ls
. Inoltre,
puoi creare una tabella quando crei un nuovo set di dati utilizzando
nel seguente formato: bq mk -t dataset.table
.
Per ulteriori informazioni sulla creazione di tabelle, consulta Creare una tabella.
Terraform
Utilizza la
google_bigquery_dataset
risorsa.
Per autenticarti a BigQuery, configura le credenziali predefinite per l'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Creare un set di dati
L'esempio seguente crea un set di dati denominato mydataset
:
Quando crei un set di dati utilizzando la risorsa google_bigquery_dataset
,
concede automaticamente l'accesso al set di dati a tutti gli account
membri dei ruoli di base a livello di progetto.
Se esegui il
comando terraform show
dopo aver creato il set di dati, il
blocco access
per il set di dati è simile al
seguente:
Per concedere l'accesso al set di dati, ti consigliamo di utilizzare una delle
google_bigquery_iam
risorse, come mostrato nell'esempio seguente, a meno che tu non preveda
per creare oggetti autorizzati,
viste autorizzate, all'interno del set di dati.
In questo caso, utilizza la
risorsa google_bigquery_dataset_access
. Consulta la documentazione per alcuni esempi.
Creare un set di dati e concedervi l'accesso
L'esempio seguente crea un set di dati denominato mydataset
e utilizza la risorsa
google_bigquery_dataset_iam_policy
per concedervi accesso.
Creare un set di dati con una chiave di crittografia gestita dal cliente
Il seguente esempio crea un set di dati denominato mydataset
e utilizza anche le risorse
google_kms_crypto_key
e
google_kms_key_ring
per specificare una chiave Cloud Key Management Service per il set di dati. Devi
abilita l'API Cloud Key Management Service prima di eseguire questo esempio.
Per applicare la configurazione Terraform a un progetto Google Cloud, completa i passaggi nella le sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi farlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti in Terraform di configurazione del deployment.
Prepara la directory
Ogni file di configurazione di Terraform deve avere una propria directory (chiamata anche modulo principale).
-
In Cloud Shell, crea una directory e un nuovo
file al suo interno. Il nome file deve contenere
.tf
, ad esempiomain.tf
. In questo tutorial, il file è denominatomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice di esempio nel file
main.tf
appena creato.Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Facoltativamente, per utilizzare la versione più recente del provider Google, includi
-upgrade
:terraform init -upgrade
Applica le modifiche
-
Rivedi la configurazione e verifica che le risorse che Terraform sta per creare o
aggiornare corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo questo comando e inserendo
yes
alla richiesta:terraform apply
Attendi finché Terraform non visualizzi il messaggio "Applicazione completata!". per creare un nuovo messaggio email.
- Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
API
Chiama il datasets.insert
con una risorsa set di dati definita.
C#
Prima di provare questo esempio, segui le istruzioni per la configurazione di C# nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API C# 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.
Vai
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Go BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
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 autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Node.js BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione PHP riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API PHP BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione Python riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta API Python BigQuery documentazione di riferimento.
Per autenticarti a BigQuery, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Ruby
Prima di provare questo esempio, segui le istruzioni di configurazione Ruby riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Ruby.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Sicurezza dei set di dati
Per controllare l'accesso ai set di dati in BigQuery, consulta Controllo dell'accesso ai set di dati. Per informazioni sulla crittografia dei dati, vedi Crittografia at-rest.
Passaggi successivi
- Per ulteriori informazioni su come elencare i set di dati in un progetto, consulta Elenco dei set di dati.
- Per ulteriori informazioni sui metadati dei set di dati, consulta Ottenere informazioni sui set di dati.
- Per ulteriori informazioni sulla modifica delle proprietà del set di dati, consulta Aggiornare i set di dati.
- Per ulteriori informazioni sulla creazione e la gestione delle etichette, consulta Creazione e gestione delle etichette.
Provalo
Se non hai mai utilizzato Google Cloud, crea un account per valutare in che modo BigQuery funziona nel mondo reale diversi scenari. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova BigQuery gratuitamente