Crea una pipeline di inserimento flussi utilizzando un modello Dataflow

Questa guida rapida mostra come creare una pipeline di inserimento flussi utilizzando un modello Dataflow fornito da Google. In particolare, questa guida rapida utilizza il modello Pub/Sub a BigQuery come esempio.

Il modello Pub/Sub a BigQuery è una pipeline in modalità flusso in grado di leggere messaggi in formato JSON da un argomento Pub/Sub e scriverli in una tabella BigQuery.


Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Aiuto:

Guidami


Prima di iniziare

  1. 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 gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Dataflow, Compute Engine, Cloud Logging, Cloud Storage, Google Cloud Storage JSON, BigQuery, Pub/Sub, and Resource Manager.

    Abilita le API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Abilita le API Dataflow, Compute Engine, Cloud Logging, Cloud Storage, Google Cloud Storage JSON, BigQuery, Pub/Sub, and Resource Manager.

    Abilita le API

  8. Crea un bucket Cloud Storage:
    1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

      Vai alla pagina Bucket

    2. Fai clic su Crea bucket.
    3. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Per andare al passaggio successivo, fai clic su Continua.
      • In Assegna un nome al bucket, inserisci un nome univoco per il bucket. Non includere informazioni sensibili nel nome del bucket, poiché lo spazio dei nomi dei bucket è globale e visibile pubblicamente.
      • Per Scegli dove archiviare i tuoi dati, segui questi passaggi:
        • Seleziona un'opzione Tipo di località.
        • Seleziona un'opzione Località.
      • Per Scegli una classe di archiviazione predefinita per i dati, seleziona quanto segue: Standard.
      • Per Scegli come controllare l'accesso agli oggetti, seleziona un'opzione Controllo dell'accesso.
      • In Impostazioni avanzate (facoltative), specifica un metodo di crittografia, un criterio di conservazione o le etichette dei bucket.
    4. Fai clic su Crea.
  9. Copia quanto segue, in base alle tue esigenze in una sezione successiva:
  10. Per completare i passaggi di questa guida rapida, il tuo account utente deve avere il ruolo Amministratore Dataflow e il ruolo Utente account di servizio. L'account di servizio predefinito di Compute Engine deve avere il ruolo Worker Dataflow. Per aggiungere i ruoli richiesti nella console Google Cloud:

    1. Vai alla pagina IAM.
      Vai a IAM
    2. Seleziona il progetto.
    3. Nella riga contenente il tuo account utente, fai clic su Modifica entità e poi su Aggiungi un altro ruolo.
    4. Nell'elenco a discesa, seleziona il ruolo Amministratore Dataflow.
    5. Ripeti l'operazione per il ruolo Utente account di servizio e fai clic su Salva.
    6. Nella riga contenente l'account di servizio predefinito di Compute Engine, fai clic su Modifica entità, quindi su Aggiungi un altro ruolo.
    7. Nell'elenco a discesa, seleziona il ruolo Worker Dataflow.
    8. Ripeti la procedura per i ruoli Editor Pub/Sub ed Editor dati BigQuery, quindi fai clic su Salva.

      Per ulteriori informazioni sulla concessione dei ruoli, consulta Concedere un ruolo IAM utilizzando la console.

  11. Per impostazione predefinita, ogni nuovo progetto viene avviato con una rete predefinita. Se la rete predefinita per il tuo progetto è disabilitata o è stata eliminata, devi avere una rete nel progetto per la quale il tuo account utente dispone del ruolo Utente di rete Compute (roles/compute.networkUser).

crea un set di dati e una tabella BigQuery

Crea un set di dati e una tabella BigQuery con lo schema appropriato per il tuo argomento Pub/Sub utilizzando la console Google Cloud.

In questo esempio, il nome del set di dati è taxirides e il nome della tabella è realtime. Per creare il set di dati e la tabella:

  1. Vai alla pagina BigQuery.
    Vai a BigQuery
  2. Nel riquadro Explorer, accanto al progetto in cui vuoi creare il set di dati, fai clic su Visualizza azioni, quindi su Crea set di dati.
  3. Nel riquadro Crea set di dati, segui questi passaggi:
    1. In ID set di dati, inserisci taxirides. Gli ID set di dati sono univoci per ogni progetto Google Cloud.
    2. Per Tipo di località, scegli Più regioni, poi seleziona Stati Uniti (più regioni negli Stati Uniti). I set di dati pubblici sono archiviati nella località multiregionale US. Per semplicità, posiziona il set di dati nella stessa posizione.
    3. Lascia le altre impostazioni predefinite e fai clic su Crea set di dati.
  4. Nel riquadro Explorer, espandi il progetto.
  5. Accanto al set di dati taxirides, fai clic su Visualizza azioni e poi su Crea tabella.
  6. Nel riquadro Crea tabella, segui questi passaggi:
    1. Nella sezione Origine, per Crea tabella da, seleziona Tabella vuota.
    2. Nella sezione Destinazione, per Tabella, inserisci realtime.
    3. Nella sezione Schema, fai clic sull'opzione di attivazione/disattivazione Modifica come testo e incolla nella casella la seguente definizione di schema:
      ride_id:string,point_idx:integer,latitude:float,longitude:float,timestamp:timestamp,
      meter_reading:float,meter_increment:float,ride_status:string,passenger_count:integer
    4. Nella sezione Impostazioni di partizione e cluster, per Partizionamento, seleziona il campo timestamp.
  7. Lascia invariate le altre impostazioni predefinite e fai clic su Crea tabella.

esegui la pipeline.

Esegui una pipeline in modalità flusso utilizzando il modello Pub/Sub a BigQuery fornito da Google. La pipeline recupera i dati in entrata dall'argomento di input.

  1. Vai alla pagina Job di Dataflow.
    Vai a Job
  2. Fai clic su Crea job da modello.
  3. Inserisci taxi-data come Nome job per il tuo job Dataflow.
  4. In Modello Dataflow, seleziona il modello Da Pub/Sub a BigQuery.
  5. In Tabella di output BigQuery, inserisci quanto segue:
    PROJECT_ID:taxirides.realtime

    Sostituisci PROJECT_ID con l'ID del progetto in cui hai creato il set di dati BigQuery.

  6. Espandi Parametri facoltativi.
  7. In Input argomento Pub/Sub, fai clic su Inserisci argomento manualmente.
  8. Nella finestra di dialogo, per Nome argomento inserisci quanto segue e fai clic su Salva:
    projects/pubsub-public-data/topics/taxirides-realtime

    Questo argomento Pub/Sub disponibile pubblicamente si basa sul set di dati aperto della NYC Taxi & Limousine Commission. Di seguito è riportato un messaggio di esempio di questo argomento, in formato JSON:

    {
      "ride_id": "19c41fc4-e362-4be5-9d06-435a7dc9ba8e",
      "point_idx": 217,
      "latitude": 40.75399,
      "longitude": -73.96302,
      "timestamp": "2021-03-08T02:29:09.66644-05:00",
      "meter_reading": 6.293821,
      "meter_increment": 0.029003782,
      "ride_status": "enroute",
      "passenger_count": 1
    }
  9. In Posizione temporanea, inserisci quanto segue:
    gs://BUCKET_NAME/temp/

    Sostituisci BUCKET_NAME con il nome del tuo bucket Cloud Storage. La cartella temp archivia i file temporanei, come il job della pipeline graduale.

  10. Se il progetto non ha una rete predefinita, inserisci una rete e una Subnet. Per ulteriori informazioni, consulta Specificare una rete e una subnet.
  11. Fai clic su Esegui job.

Visualizza i tuoi risultati

Per visualizzare i dati scritti nella tabella realtime:

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Fai clic su Crea una nuova query. Si apre una nuova scheda Editor.

    SELECT * FROM `PROJECT_ID.taxirides.realtime`
    WHERE `timestamp` > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
    LIMIT 1000

    Sostituisci PROJECT_ID con l'ID del progetto in cui hai creato il set di dati BigQuery. Può essere necessario fino a un minuto prima che i dati inizino a essere visualizzati nella tabella.

  3. Fai clic su Run (Esegui).

    La query restituisce le righe che sono state aggiunte alla tabella nelle ultime 24 ore. Puoi anche eseguire query utilizzando SQL standard.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi:

Elimina il progetto

Il modo più semplice per eliminare la fatturazione è eliminare il progetto Google Cloud che hai creato per la guida rapida.

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.

Elimina le singole risorse

Se vuoi mantenere il progetto Google Cloud che hai utilizzato in questa guida rapida, elimina le singole risorse:

  1. Vai alla pagina Job di Dataflow.
    Vai a Job
  2. Seleziona il job di inserimento di flussi dall'elenco dei job.
  3. Nella navigazione, fai clic su Interrompi.
  4. Nella finestra di dialogo Arresta job, annulla o scarica la pipeline e fai clic su Arresta job.
  5. Vai alla pagina BigQuery.
    Vai a BigQuery
  6. Nel riquadro Explorer, espandi il progetto.
  7. Accanto al set di dati che vuoi eliminare, fai clic su Visualizza azioni e poi su Apri.
  8. Nel riquadro dei dettagli, fai clic su Elimina set di dati, quindi segui le istruzioni.
  9. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

    Vai a Bucket

  10. Fai clic sulla casella di controllo relativa al bucket da eliminare.
  11. Per eliminare il bucket, fai clic su Elimina e segui le istruzioni.

Passaggi successivi