Quando esegui un'applicazione Ray sulla piattaforma agentica Gemini Enterprise, utilizza BigQuery come database cloud. Questa sezione spiega come leggere e scrivere in un database BigQuery dal tuo cluster Ray su Gemini Enterprise Agent Platform. I passaggi descritti in questa sezione presuppongono l'utilizzo dell'SDK Agent Platform per Python.
Per leggere da un set di dati BigQuery, crea un nuovo set di dati BigQuery o utilizza un set di dati esistente.
Importa e inizializza il client Ray on Agent Platform
Se sei connesso al cluster Ray su Gemini Enterprise Agent Platform, riavvia il
kernel ed esegui il seguente codice. La variabile runtime_env è necessaria al momento della connessione per eseguire i comandi BigQuery.
import ray from google.cloud import aiplatform # The CLUSTER_RESOURCE_NAME is the one returned from vertex_ray.create_ray_cluster. address = 'vertex_ray://{}'.format(CLUSTER_RESOURCE_NAME) runtime_env = { "pip": ["google-cloud-aiplatform[ray]","ray==2.47.1"] } ray.init(address=address, runtime_env=runtime_env)
Leggere i dati da BigQuery
Leggi i dati dal tuo set di dati BigQuery. Un Ray Task deve eseguire l'operazione di lettura.
aiplatform.init(project=PROJECT_ID, location=LOCATION) @ray.remote def run_remotely(): import vertex_ray dataset = DATASET parallelism = PARALLELISM query = QUERY ds = vertex_ray.data.read_bigquery( dataset=dataset, parallelism=parallelism, query=query ) ds.materialize()
Dove:
PROJECT_ID:ID progetto Google Cloud . Trova l'ID progetto nella pagina di benvenuto della console Google Cloud .
LOCATION: la posizione in cui è archiviato
Dataset. Ad esempious-central1.DATASET: set di dati BigQuery. Deve essere nel formato
dataset.table. Imposta suNonese fornisci una query.PARALLELISM: un numero intero che influisce sul numero di attività di lettura create in parallelo. Potrebbero essere creati meno flussi di lettura di quelli richiesti.
QUERY: una stringa contenente una query SQL per leggere dal database BigQuery. Imposta questo valore su
Nonese non è necessaria alcuna query.
Trasformare i dati
Aggiorna ed elimina righe e colonne dalle tabelle BigQuery utilizzando
pyarrow o pandas. Se vuoi utilizzare le trasformazioni pandas,
mantieni il tipo di input pyarrow e convertilo in pandas
all'interno della funzione definita dall'utente dall'utente (UDF) in modo da poter rilevare eventuali errori di tipo di conversione pandas
all'interno della UDF. Un'attività Ray deve eseguire la trasformazione.
@ray.remote def run_remotely(): # BigQuery Read first import pandas as pd import pyarrow as pa def filter_batch(table: pa.Table) -> pa.Table: df = table.to_pandas(types_mapper={pa.int64(): pd.Int64Dtype()}.get) # PANDAS_TRANSFORMATIONS_HERE return pa.Table.from_pandas(df) ds = ds.map_batches(filter_batch, batch_format="pyarrow").random_shuffle() ds.materialize() # You can repartition before writing to determine the number of write blocks ds = ds.repartition(4) ds.materialize()
Scrivere dati in BigQuery
Inserisci i dati nel tuo set di dati BigQuery. Un Ray Task deve eseguire la scrittura.
@ray.remote def run_remotely(): # BigQuery Read and optional data transformation first dataset=DATASET vertex_ray.data.write_bigquery( ds, dataset=dataset )
Dove:
- DATASET: set di dati BigQuery. Il set di dati deve essere nel formato
dataset.table.
Passaggi successivi
Esegui il deployment di un modello su Gemini Enterprise Agent Platform e ottieni previsioni
Visualizzare i log per il cluster Ray su Gemini Enterprise Agent Platform