Dataproc Hub è un server JupyterHub personalizzato. Gli amministratori configurano e creano istanze Dataproc Hub che possono generare cluster Dataproc monoutente per ospitare ambienti notebook Jupyter e JupyterLab (vedi Utilizzare Dataproc Hub).
Avviare Notebook per più utenti. Puoi creare un'istanza di Vertex AI Workbench abilitata per Dataproc o installare il plug-in Dataproc JupyterLab su una VM per pubblicare notebook per più utenti.
Obiettivi
Definisci una configurazione del cluster Dataproc (o utilizza uno dei file di configurazione predefiniti).
Imposta le variabili di ambiente dell'istanza Dataproc Hub.
Crea un'istanza Dataproc Hub.
Prima di iniziare
Se non l'hai ancora fatto, crea un progetto Google Cloud e un bucket Cloud Storage.
Configurazione del progetto
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc, Compute Engine, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
Creazione di un bucket Cloud Storage nel tuo progetto per contenere i dati utilizzati in questo tutorial.
- Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.
- Fai clic su Crea.
- Nella pagina Crea un bucket, inserisci le informazioni del bucket. Per andare al passaggio
successivo, fai clic su Continua.
-
Nella sezione Inizia, segui questi passaggi:
- Inserisci un nome univoco globale che soddisfi i requisiti per la denominazione dei bucket.
- Per aggiungere un'etichetta bucket, espandi la sezione Etichette (), fai clic su add_box
Aggiungi etichetta e specifica un
keye unvalueper l'etichetta.
-
Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:
- Seleziona un Tipo di località.
- Scegli una posizione in cui i dati del bucket vengono archiviati in modo permanente dal menu a discesa Tipo di località.
- Se selezioni il tipo di località a doppia regione, puoi anche scegliere di attivare la replica turbo utilizzando la casella di controllo pertinente.
- Per configurare la replica tra bucket, seleziona
Aggiungi una replica tra bucket mediante Storage Transfer Service e
segui questi passaggi:
Configura la replica tra bucket
- Nel menu Bucket, seleziona un bucket.
Nella sezione Impostazioni di replica, fai clic su Configura per configurare le impostazioni per il job di replica.
Viene visualizzato il riquadro Configura replica tra bucket.
- Per filtrare gli oggetti da replicare in base al prefisso del nome dell'oggetto, inserisci un prefisso da cui includere o escludere gli oggetti, quindi fai clic su Aggiungi un prefisso.
- Per impostare una classe di archiviazione per gli oggetti replicati, seleziona una classe di archiviazione dal menu Classe di archiviazione. Se salti questo passaggio, gli oggetti replicati utilizzeranno per impostazione predefinita la classe di archiviazione del bucket di destinazione.
- Fai clic su Fine.
-
Nella sezione Scegli come archiviare i tuoi dati, segui questi passaggi:
- Seleziona una classe di archiviazione predefinita per il bucket o Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.
- Per attivare lo spazio dei nomi gerarchico, nella sezione Ottimizza l'archiviazione per workload con uso intensivo dei dati, seleziona Abilita uno spazio dei nomi gerarchico in questo bucket.
- Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona se il bucket applica o meno la prevenzione dell'accesso pubblico e seleziona un metodo di controllo dell'accesso per gli oggetti del bucket.
-
Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:
- Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
- Per attivare l'eliminazione temporanea, fai clic sulla casella di controllo Criterio di eliminazione temporanea (per il recupero dei dati) e specifica il numero di giorni per cui vuoi conservare gli oggetti dopo l'eliminazione.
- Per impostare il controllo delle versioni degli oggetti, seleziona la casella di controllo Controllo delle versioni degli oggetti (per il controllo delle versioni) e specifica il numero massimo di versioni per oggetto e il numero di giorni dopo i quali scadono le versioni non correnti.
- Per abilitare il criterio di conservazione su oggetti e bucket, seleziona la casella di controllo Conservazione (per la conformità), quindi procedi nel seguente modo:
- Per attivare il blocco della conservazione degli oggetti, fai clic sulla casella di controllo Abilita conservazione degli oggetti.
- Per attivare Bucket Lock, fai clic sulla casella di controllo Imposta criterio di conservazione del bucket e scegli un'unità di tempo e una durata per il periodo di conservazione.
- Per scegliere come verranno criptati i dati degli oggetti, espandi la sezione Crittografia dei dati () e seleziona un metodo di crittografia dei dati.
- Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
-
Nella sezione Inizia, segui questi passaggi:
- Fai clic su Crea.
Definisci una configurazione del cluster
Un'istanza di Dataproc Hub crea un cluster dai valori di configurazione contenuti in un file di configurazione del cluster YAML.
La configurazione del cluster può specificare qualsiasi funzionalità o componente disponibile per i cluster Dataproc (ad esempio tipo di macchina, azioni di inizializzazione e componenti opzionali). La versione dell'immagine del cluster deve essere 1.4.13 o successive. Il tentativo di creare un cluster con una versione dell'immagine precedente alla 1.4.13 causerà un errore e non andrà a buon fine.
File di configurazione del cluster YAML di esempio
clusterName: cluster-name
config:
softwareConfig:
imageVersion: 2.2-ubuntu22
optionalComponents:
- JUPYTER
Ogni configurazione deve essere salvata in Cloud Storage. Puoi creare e salvare più file di configurazione per offrire agli utenti una scelta quando utilizzano Dataproc Hub per creare il proprio ambiente notebook del cluster Dataproc.
Esistono due modi per creare un file di configurazione del cluster YAML:
Crea il file di configurazione del cluster YAML dalla console
Esportare un file di configurazione del cluster YAML da un cluster esistente
Crea il file di configurazione del cluster YAML dalla console
- Apri la pagina Crea un cluster nella console Google Cloud , quindi seleziona e compila i campi per specificare il tipo di cluster che Dataproc Hub genererà per gli utenti.
- Nella parte inferiore del riquadro a sinistra, seleziona "REST equivalente".
- Copia il blocco JSON generato, escludendo la riga della richiesta POST iniziale, quindi incollalo in un convertitore online da JSON a YAML (cerca online "Converti JSON in YAML").
- Copia il file YAML convertito in un file cluster-config-filename.yaml locale.
Esportare un file di configurazione del cluster YAML da un cluster esistente
- Crea un cluster che soddisfi i tuoi requisiti.
- Esporta la configurazione del cluster in un file cluster-config-filename.yaml locale.
gcloud dataproc clusters export cluster-name \ --destination cluster-config-filename.yaml \ --region region
Salva il file di configurazione YAML in Cloud Storage
Copia il file di configurazione YAML del cluster locale nel bucket Cloud Storage.
gcloud storage cp cluster-config-filename.yaml gs://bucket-name/
Imposta le variabili di ambiente dell'istanza Dataproc Hub
L'amministratore può impostare le variabili di ambiente dell'hub elencate nella tabella seguente per impostare gli attributi dei cluster Dataproc che verranno generati dagli utenti dell'hub.
| Variabile | Descrizione | Esempio |
|---|---|---|
| NOTEBOOKS_LOCATION | Bucket o cartella bucket Cloud Storage contenente i notebook dell'utente. Il prefisso `gs://` è facoltativo. Predefinito:il bucket di gestione temporanea di Dataproc. | gs://bucket-name/ |
| DATAPROC_CONFIGS | Elenco delimitato da virgole contenente le stringhe dei percorsi Cloud Storage dei
file YAML di configurazione del cluster. Il prefisso `gs://`
è facoltativo. Valore predefinito: gs://dataproc-spawner-dist/example-configs/. che contiene example-cluster.yaml e example-single-node.yaml predefiniti.
|
gs://cluster-config-filename.yaml |
| DATAPROC_LOCATIONS_LIST | I suffissi di zona nella regione in cui si trova l'istanza Dataproc Hub. Gli utenti possono selezionare una di queste zone come zona in cui verrà generato il cluster Dataproc. Valore predefinito: "b". | b,c,d |
| DATAPROC_DEFAULT_SUBNET | Subnet su cui l'istanza Dataproc Hub genera cluster Dataproc. Predefinito:la subnet dell'istanza Dataproc Hub. | https://www.googleapis.com/compute/v1/projects/project-id/regions/region/subnetworks/subnet-name |
| DATAPROC_SERVICE_ACCOUNT | Service account con cui verranno eseguite le VM Dataproc. Predefinito:se non impostato, viene utilizzato l'account di servizio Dataproc predefinito. | service-account@project-id.iam.gserviceaccount.com |
| SPAWNER_DEFAULT_URL | Specifica se visualizzare la UI Jupyter o JupyterLab sui cluster Dataproc generati per impostazione predefinita. Valore predefinito: "/lab". | `/` o `/lab`, rispettivamente per Jupyter o JupyterLab. |
| DATAPROC_ALLOW_CUSTOM_CLUSTERS | Specifica se consentire agli utenti di personalizzare i cluster Dataproc. Valore predefinito: false. | "true" o "false" |
| DATAPROC_MACHINE_TYPES_LIST | Elenco dei tipi di macchina tra cui gli utenti possono scegliere per i propri cluster Dataproc generati, se la personalizzazione del cluster (DATAPROC_ALLOW_CUSTOM_CLUSTERS) è abilitata. Valore predefinito:vuoto (sono consentiti tutti i tipi di macchine). | n1-standard-4,n1-standard-8,e2-standard-4,n1-highcpu-4 |
| NOTEBOOKS_EXAMPLES_LOCATION | Percorso Cloud Storage del bucket o della cartella bucket dei notebook da scaricare nel cluster Dataproc generato all'avvio del cluster. Predefinito: vuoto. | gs://bucket-name/ |
Impostazione delle variabili di ambiente dell'hub
Esistono due modi per impostare le variabili di ambiente dell'hub:
Imposta le variabili di ambiente dell'hub dalla console
Quando crei un'istanza Dataproc Hub dalla scheda Notebooks gestiti dall'utente nella pagina Dataproc→Workbench nella console Google Cloud , puoi fare clic sul pulsante Compila per aprire un modulo Compila Dataproc Hub che ti consente di impostare ogni variabile di ambiente.
Imposta le variabili di ambiente dell'hub in un file di testo
Crea il file. Puoi utilizzare un editor di testo per impostare le variabili di ambiente dell'istanza Dataproc Hub in un file locale. In alternativa, puoi creare il file eseguendo il seguente comando dopo aver compilato i valori segnaposto e modificato o aggiunto le variabili e i relativi valori.
cat <<EOF > environment-variables-file DATAPROC_CONFIGS=gs://bucket/cluster-config-filename.yaml NOTEBOOKS_LOCATION=gs://bucket/notebooks DATAPROC_LOCATIONS_LIST=b,c EOF
Salva il file in Cloud Storage. Copia il file delle variabili di ambiente dell'istanza locale di Dataproc Hub nel bucket Cloud Storage.
gcloud storage cp environment-variable-filename gs://bucket-name/folder-name/
Imposta i ruoli Identity and Access Management (IAM)
Dataproc Hub include le seguenti identità con le seguenti funzionalità:
- Amministratore: crea un'istanza Dataproc Hub
- Utente di dati e ML: accede all'interfaccia utente di Dataproc Hub
- Account di servizio Dataproc Hub: rappresenta Dataproc Hub
- Account di servizio Dataproc: rappresenta il cluster Dataproc creato da Dataproc Hub.
Ogni identità richiede ruoli o autorizzazioni specifici per svolgere le attività associate. La tabella seguente riepiloga i ruoli e le autorizzazioni IAM richiesti da ciascuna identità.
| Identità | Tipo | Ruolo o autorizzazione |
|---|---|---|
| Amministratore Dataproc Hub | Account utente o di servizio | roles/notebooks.admin |
| Utente Dataproc Hub | Utente | notebooks.instances.use, dataproc.clusters.use |
| Dataproc Hub | Service account | roles/dataproc.hubAgent |
| Dataproc | Service account | roles/dataproc.worker |
Crea un'istanza Dataproc Hub
Prima di iniziare:per creare un'istanza Dataproc Hub dalla console Google Cloud , il tuo account utente deve disporre dell'autorizzazione
compute.instances.create. Inoltre, il account di servizio dell'istanza, ovvero il account di servizio Compute Engine predefinito o il account di servizio specificato dall'utente elencato in IAM e amministrazione > Service account (vedi Service account VM Dataproc), deve disporre dell'autorizzazioneiam.serviceAccounts.actAs.Vai alla pagina Dataproc→Workbench nella console Google Cloud , quindi seleziona la scheda Notebook gestiti dall'utente.
Se non è preselezionato come filtro, fai clic nella casella Filtro, quindi seleziona **Environment:Dataproc Hub"".
Fai clic su Nuovo notebook → Dataproc Hub.
Nella pagina Crea un notebook gestito dall'utente, fornisci le seguenti informazioni:
- Nome del notebook: nome dell'istanza Dataproc Hub.
- Regione: seleziona una regione per l'istanza Dataproc Hub. Anche i cluster Dataproc generati da questa istanza Dataproc Hub verranno creati in questa regione.
- Zona: seleziona una zona all'interno della regione selezionata.
- Ambiente:
Environment: selezionaDataproc Hub.Select a script to run after creation(facoltativo): puoi inserire o sfogliare e selezionare uno script o un eseguibile di azione di inizializzazione da eseguire sul cluster Dataproc generato.Populate Dataproc Hub (optional): fai clic su Populate per aprire un modulo che ti consente di impostare ciascuna delle variabili di ambiente dell'hub (vedi Impostare le variabili di ambiente dell'istanza Dataproc Hub per una descrizione di ciascuna variabile). Dataproc utilizza valori predefiniti per tutte le variabili di ambiente non impostate. In alternativa, puoi impostare coppie di metadatikey:valueper impostare le variabili di ambiente (vedi elemento successivo).Metadata:- Se hai creato un file di testo che
contiene le impostazioni variabile di ambiente dell'hub (vedi
Impostare le variabili di ambiente dell'hub),
fornisci il nome del file come
keye la posizione Cloud Storage del file comegs://bucket-name/folder-name/environment-variable-filename.valueDataproc utilizza i valori predefiniti per tutte le variabili di ambiente non impostate.
- Se hai creato un file di testo che
contiene le impostazioni variabile di ambiente dell'hub (vedi
Impostare le variabili di ambiente dell'hub),
fornisci il nome del file come
- Configurazione macchina:
Machine Type: seleziona il tipo di macchina di Compute Engine.- Imposta altre opzioni di configurazione della macchina.
- Altre opzioni:
- Puoi espandere e impostare o sostituire i valori predefiniti nelle sezioni Dischi, Networking, Autorizzazione, Sicurezza e Upgrade dell'ambiente e integrità del sistema.
- Fai clic su Crea per avviare l'istanza Dataproc Hub.
Il link Apri JupyterLab per l'istanza Dataproc Hub diventa attivo dopo la creazione dell'istanza. Gli utenti fanno clic su questo link per aprire la pagina del server JupyterHub per configurare e creare un cluster Dataproc JupyterLab (vedi Utilizzare Dataproc Hub).
Esegui la pulizia
Elimina l'istanza Dataproc Hub
- Per eliminare l'istanza Dataproc Hub:
gcloud compute instances delete --project=${PROJECT} ${INSTANCE_NAME}
Elimina il bucket
- Per eliminare il bucket Cloud Storage creato in
Prima di iniziare, inclusi i file di dati
memorizzati nel bucket:
gcloud storage rm gs://${BUCKET_NAME} --recursive