Utilizza BigQuery DataFrames
BigQuery DataFrames fornisce un DataFrame Python e un'API di machine learning (ML)
basate sul motore BigQuery. BigQuery DataFrames è un pacchetto open source.
Puoi eseguire pip install --upgrade bigframes
per installare l'ultima versione.
BigQuery DataFrames fornisce due librerie:
bigframes.pandas
, che fornisce un'API compatibile con pandas per l'analisi.bigframes.ml
, che fornisce un'API scikit-learn-like per il machine learning (ML).
Autorizzazioni obbligatorie
- Per utilizzare BigQuery DataFrames, devi disporre dei ruoli Utente job BigQuery e Utente sessione di lettura BigQuery.
- Quando esegui l'autenticazione dell'utente finale in un ambiente interattivo come un blocco note, Se necessario, BigQuery DataFrames richiede l'autenticazione mediante Python REPL, o riga di comando. Altrimenti, scopri come per configurare le credenziali predefinite dell'applicazione per vari ambienti.
- Requisiti aggiuntivi di Identity and Access Management (IAM) richiedi l'utilizzo funzioni remote e i modelli remoti di ML.
-
Per utilizzare BigQuery DataFrames in un blocco note BigQuery, devi disporre dei seguenti ruoli IAM:
Opzioni
Dopo l'installazione, devi specificare la posizione e il progetto in cui vuoi utilizzare BigQuery DataFrames. Puoi definire la posizione e il progetto nel blocco note nel seguente modo:Se il criterio bf.options.bigquery.project
non è impostato, $GOOGLE_CLOUD_PROJECT
, che viene impostata nel runtime del blocco note che gestisce
BigQuery Studio e Vertex AI Notebooks.
Località di trattamento dati
BigQuery DataFrames è progettato per la scalabilità, raggiungendo così i risultati conservando i dati
e l'elaborazione nel servizio BigQuery. Tuttavia, puoi importare i dati nella memoria del tuo computer client chiamando .to_pandas()
su un oggetto DataFrame o Series. Se scegli di farlo, verrà applicata la limitazione di memoria del computer client.
Località sessione
BigQuery DataFrames utilizza un oggetto sessione locale per gestire internamente i metadati. Questo
sia legata a una località.
BigQuery DataFrames utilizza l'area multiregionale US
come impostazione predefinita
posizione, ma
puoi utilizzare session_options.location
per impostare una località diversa. Ogni query
di una sessione viene eseguito nel luogo in cui è stata creata.
DataFrame BigQuery
compila automaticamente bf.options.bigquery.location
con la posizione della tabella se
l'utente inizia con read_gbq/read_gbq_table/read_gbq_query()
e specifica una tabella,
direttamente o in un'istruzione SQL.
Per reimpostare la posizione degli oggetti DataFrame o Series creati,
puoi chiudere la sessione eseguendo bigframes.pandas.close_session()
.
In seguito, puoi riutilizzare bigframes.pandas.options.bigquery.location
per
specificare un'altra posizione.
read_gbq()
richiede di specificare una località se il set di dati che stai utilizzando
l'esecuzione delle query non si trova nella località multiregionale US
. Se provi a leggere una tabella da un'altra
località, riceverai un'eccezione NotFound
.
Tipi di dati
BigQuery DataFrames supporta i seguenti dtype numpy e pandas:
BigQuery | DataFrame di BigQuery e pandas |
---|---|
ARRAY |
pandas.ArrowDtype(pa.list_()) |
BOOL |
pandas.BooleanDtype() |
DATE |
pandas.ArrowDtype(pa.date32()) |
DATETIME |
pandas.ArrowDtype(pa.timestamp("us")) |
FLOAT64 |
pandas.Float64Dtype() |
GEOGRAPHY |
Supportato da |
INT64 |
pandas.Int64Dtype() |
STRING |
pandas.StringDtype(storage="pyarrow") |
STRUCT |
pandas.ArrowDtype(pa.struct()) |
TIME |
pandas.ArrowDtype(pa.time64("us")) |
TIMESTAMP |
pandas.ArrowDtype(pa.timestamp("us", tz="UTC")) |
BigQuery DataFrames non supporta i seguenti tipi di dati BigQuery:
NUMERIC
BIGNUMERIC
INTERVAL
RANGE
JSON
Tutti gli altri tipi di dati BigQuery vengono visualizzati come tipo di oggetto.
Modalità di ordinamento parziale
BigQuery DataFrames fornisce una funzionalità di modalità di ordinamento. Imposta ordering_mode
a partial
per generare query più efficienti.
La modalità di ordinamento partial
è in contrasto con la modalità strict
predefinita, che crea un ordinamento totale per tutte le righe. Un ordinamento totale rende BigQuery DataFrames più
compatibile con Pandas fornendo accesso basato sugli ordini alle righe con DataFrame.iloc
proprietà. Tuttavia, l'ordinamento totale e l'indice sequenziale predefinito su questo ordinamento fanno sì che
nemmeno i filtri delle colonne né quelli delle righe riducano il numero di byte sottoposti a scansione, a meno che questi filtri non vengano
applicati come parametri alle funzioni read_gbq
e read_gbq_table
. Per fornire un ordinamento totale di tutte le righe del DataFrame, BigQuery DataFrames crea un hash di tutte le righe. Ciò può comportare un'analisi completa dei dati che ignora i filtri di righe e colonne.
Impostando la proprietà ordering_mode
su partial
fermate
a BigQuery DataFrames generando un ordinamento totale su tutte le righe. L'ordinamento parziale
disattiva anche le funzionalità che richiedono un ordinamento totale su tutte le righe, come
DataFrame.iloc
proprietà. La modalità di ordinamento parziale imposta DefaultIndexKind
su un indice nullo anziché su un indice sequenziale rispetto all'ordinamento.
Quando filtri un DataFrame con ordering_mode
impostato su
partial
, BigQuery DataFrames non deve più calcolare quali
righe mancanti nell'indice sequenziale, quindi genera query più veloci ed efficienti. L'API BigQuery DataFrames è ancora simile a Pandas, proprio come l'esperienza predefinita con la modalità di ordinamento rigoroso. Tuttavia, la modalità di ordinamento parziale sarà diversa dal comportamento comune di pandas. Ad esempio, la modalità di ordinamento parziale non esegue unioni implicite per indice.
Sia con le modalità di ordinamento parziale che rigoroso, paghi per le risorse BigQuery che utilizzi. Tuttavia, l'utilizzo della modalità di ordinamento parziale può ridurre i costi quando si lavora con cluster partizionate, perché i filtri di riga nelle colonne di cluster e di partizione riducono il numero byte elaborati.
Utilizzo
Per utilizzare l'ordinamento parziale, imposta ordering_mode
su partial
prima di eseguire
qualsiasi altra operazione con BigQuery DataFrames, come mostrato nel seguente esempio di codice:
import bigframes.pandas as bdp bpd.options.bigquery.ordering_mode = "partial"
Poiché non esiste un indice sequenziale con la modalità di ordinamento parziale,
I DataFrame di BigQuery non vengono uniti in modo implicito. Devi invece richiamare esplicitamente
DataFrame.merge
per unire due DataFrame BigQuery che derivano da
espressioni di tabella diverse.
Le funzionalità Series.unique()
e Series.drop_duplicates()
non sono
compatibile con la modalità
di ordinamento parziale. Usa invece il metodo groupby
per trovare valori univoci in questo modo:
unique_col = df.groupby(["column"], as_index=False).size().drop(columns="size")
Con la modalità di ordinamento parziale, l'output dei valori DataFrame.head(n)
e
Non è garantito che le funzioni Series.head(n)
siano idempotenti in tutte le chiamate.
Per scaricare un piccolo campione arbitrario di dati, utilizza i metodi DataFrame.peek()
o
Series.peek()
.
Per un tutorial dettagliato in cui utilizzi la proprietà ordering_mode = "partial"
, consulta
questo blocco note di BigQuery DataFrames che mostra l'utilizzo della modalità di ordinamento parziale.
Risoluzione dei problemi
Errore relativo all'ordine richiesto
Alcune funzionalità richiedono un ordine, ad esempio le funzioni DataFrame.head()
e
DataFrame.iloc
. Per un elenco delle caratteristiche che richiedono l'ordinamento, vedi
Richiede l'ordinamento della colonna in
API Pandas supportate.
Quando non c'è un ordinamento nell'oggetto, l'operazione non riesce e viene restituito un OrderRequiredError
messaggio simile al seguente:
OrderRequiredError: Op iloc requires an ordering. Use .sort_values or .sort_index
to provide an ordering.
Come descritto nel messaggio di errore, puoi fornire un ordine utilizzando il metodo
DataFrame.sort_values()
per ordinare i dati in base a una o più colonne. Altre operazioni, come l'operazione
DataFrame.groupby()
, forniscono implicitamente un ordinamento totale per le chiavi del gruppo.
Se non è possibile determinare che l'ordine sia un ordinamento totale completamente stabile su tutte le
righe, le operazioni successive potrebbero avvisarti con un messaggio AmbiguousWindowWarning
del tipo
le seguenti:
AmbiguousWindowWarning: Window ordering may be ambiguous, this can cause unstable
results.
Se il carico di lavoro può supportare risultati non deterministici o puoi verificare manualmente che il
l'ordine fornito corrisponde a un ordinamento totale, puoi filtrare AmbiguousWindowWarning
messaggio in questo modo:
import warnings import bigframes.exceptions warnings.simplefilter("ignore", category=bigframes.exceptions.AmbiguousWindowWarning)
Errore indice nullo
Alcune funzionalità richiedono un indice, ad esempio DataFrame.unstack()
e
Proprietà Series.interpolate()
.Per un elenco di elementi che richiedono un indice, consulta le
Richiede la colonna Indice in
API Pandas supportate.
Quando utilizzi un'operazione che richiede un indice con la modalità di ordinamento parziale,
L'operazione genera un messaggio NullIndexError
come il seguente:
NullIndexError: DataFrame cannot perform interpolate as it has no index. Set an index using
set_index.
Come descritto nel messaggio di errore, puoi fornire un indice utilizzando il metodo
DataFrame.set_index()
per ordinare i dati in base a una o più colonne. Altre operazioni, come l'operazione
DataFrame.groupby()
, forniscono implicitamente un indice sul gruppo per chiavi, a meno che non sia impostato il parametro as_index=False
.
Utilizzo della libreria bigframes.pandas
La libreria bigframes.pandas
fornisce contenuti simili a pandas
API che puoi utilizzare per analizzare e manipolare i dati in BigQuery. La
L'API bigframes.pandas
è scalabile per supportare l'elaborazione di terabyte di
BigQuery e usa il motore di query BigQuery per eseguire i calcoli.
L'API bigframes.pandas
offre le seguenti
funzionalità:
Input e output
Puoi accedere ai dati da diverse origini, tra cui file CSV locali,
File Cloud Storage, DataFrame pandas
, modelli BigQuery e
funzioni BigQuery e caricarlo in un DataFrame di BigQuery DataFrame. Puoi anche creare
Tabelle BigQuery da BigQuery DataFrames.
Manipolazione dei dati
Per il tuo sviluppo, puoi utilizzare Python anziché SQL. Puoi sviluppare tutte
manipolazioni dei dati di BigQuery in Python, eliminando la necessità di passare tra
linguaggi di markup e prova ad acquisire istruzioni SQL come stringhe di testo. La
L'API bigframes.pandas
offre più di 750 pandas
funzioni.
Ecosistema e visualizzazioni Python
L'API bigframes.pandas
è un gateway per la versione completa di Python
di un ecosistema di strumenti. L'API supporta operazioni statistiche avanzate e tu
può visualizzare le aggregazioni generate dai DataFrames BigQuery. Puoi anche
passare da un DataFrame di BigQuery a un DataFrame pandas
con
le operazioni di campionamento integrate.
Funzioni Python personalizzate
BigQuery DataFrames ti offre la possibilità di trasformare le tue funzioni scalari personalizzate nelle funzioni remote di BigQuery . La creazione di una funzione remota in BigQuery DataFrames crea:
Una connessione BigQuery. Per impostazione predefinita, viene utilizzata una connessione denominata
bigframes-default-connection
. Puoi utilizza una connessione BigQuery preconfigurata, se preferisci, nel qual caso la creazione della connessione viene saltata.All'account di servizio per la connessione predefinita viene concesso l'Invoker di Cloud Run (
roles/run.invoker
) ruolo IAM.Una funzione remota BigQuery che utilizza la funzione Cloud Functions (1) mediante l'API BigQuery connessione (2).
Ad esempio, vedi Creare una funzione remota.
Le connessioni BigQuery vengono create nella stessa località Sessione DataFrames di BigQuery, utilizzando il nome fornito nella funzione personalizzata definizione di Kubernetes. Per visualizzare e gestire le connessioni:
Seleziona il progetto in cui hai creato la funzione remota.
Nel riquadro Explorer, espandi il progetto e poi Connessioni esterne.
Le funzioni remote di BigQuery vengono create nel set di dati specificato dall'utente oppure
in un set di dati anonimo, un tipo di
del set di dati. Se non imposti un nome per una funzione remota durante la sua creazione,
BigQuery DataFrames applica un nome predefinito che inizia con bigframes
. Per visualizzare e gestire le funzioni remote create in un set di dati specificato dall'utente:
Seleziona il progetto in cui hai creato la funzione remota.
Nel riquadro Explorer, espandi il progetto, il set di dati in cui hai creato la funzione remota e poi le Routine.
Per visualizzare e gestire le funzioni Cloud Run, utilizza la pagina Funzioni e il selettore di progetti per selezionare il progetto in cui hai creato la funzione. Per una facile identificazione, i nomi delle funzioni
I DataFrame creati da BigQuery hanno il prefisso bigframes
.
Puoi eseguire la pulizia delle funzioni remote BigQuery senza nome e delle relative Cloud Run funziona nei seguenti modi:
- Per
session
DataFrames di BigQuery, utilizzasession.close()
. - Per la sessione predefinita di BigQuery DataFrames, utilizza
bigframes.pandas.close_session()
. - Per una sessione precedente con
session_id
, utilizzabigframes.pandas.clean_up_by_session_id(session_id)
.
Requisiti
Per utilizzare le funzioni remote di BigQuery DataFrames, devi abilitare le seguenti API:
API BigQuery (
bigquery.googleapis.com
)L'API BigQuery Connections (
bigqueryconnection.googleapis.com
)API Cloud Functions (
cloudfunctions.googleapis.com
)API Cloud Run Admin (
run.googleapis.com
)L'API Artifact Registry (
artifactregistry.googleapis.com
)API Cloud Build (
cloudbuild.googleapis.com
)API Compute Engine (
compute.googleapis.com
)L'API Cloud Resource Manager (
cloudresourcemanager.googleapis.com
)Puoi evitare questo requisito impostando il parametro
bigframes.pandas.options.bigquery.skip_bq_connection_check
opzione perTrue
, nel qual caso viene utilizzata la connessione (predefinita o preconfigurata) così come sono senza verificare l'esistenza della connessione o verificarne le autorizzazioni.
Per utilizzare le funzioni remote di BigQuery DataFrames, devi disporre della classe seguenti ruoli IAM nel progetto:
Editor dati BigQuery (
roles/bigquery.dataEditor
)Amministratore connessione BigQuery (
roles/bigquery.connectionAdmin
)Sviluppatore Cloud Functions (
roles/cloudfunctions.developer
)Utente account di servizio (
roles/iam.serviceAccountUser
)Visualizzatore oggetti Storage (
roles/storage.objectViewer
)Amministratore IAM progetto (
roles/resourcemanager.projectIamAdmin
) se utilizzi il valore predefinito Connessione BigQuery o browser (roles/browser) se si utilizza una connessione preconfigurata. Questo requisito può essere evitato impostando Opzionebigframes.pandas.options.bigquery.skip_bq_connection_check
perTrue
, in questo caso la connessione (predefinita o preconfigurata) così com'è, senza che vi siano controlli di esistenza o autorizzazioni. Se utilizzi il modello preconfigurato connessione e saltando il controllo, assicurati che la connessione sia creata e il rispettivo account di servizio ha l'Invoker di Cloud Run (roles/run.invoker
)ruolo su del progetto.
Limitazioni
Sono necessari circa 90 secondi prima che le funzioni remote diventino disponibili al momento della creazione.
Modifiche banali nel blocco note, ad esempio l'inserimento di una nuova cella o la ridenominazione di una variabile, potrebbero causare la nuova creazione della funzione remota, anche se le modifiche non sono correlate al codice della funzione remota.
I DataFrame di BigQuery non distinguono i dati personali inclusi nel codice della funzione remota. Il codice della funzione remota viene serializzato come una casella opaca per eseguirne il deployment come funzione Cloud Run.
Le funzioni di Cloud Run (2ª generazione), le connessioni BigQuery e le funzioni remote le funzioni create da BigQuery DataFrames vengono mantenute in Google Cloud. Se non vuoi per conservare queste risorse, devi eliminarle separatamente utilizzando una funzione Cloud Run appropriata o BigQuery.
Un progetto può avere fino a 1000 funzioni di Cloud Run (2ª generazione) alla volta. Consulta Quote delle funzioni di Cloud Run per tutti i limiti.
bigframes.pandas
esempi
I seguenti esempi mostrano metodi comuni di utilizzo di bigframes.pandas
.
Carica i dati da una tabella o una query BigQuery
Puoi creare un DataFrame da una tabella o una query BigQuery nel seguente modo:
Caricare i dati da un file CSV
Puoi creare un DataFrame da un file CSV locale o da Cloud Storage nella nel seguente modo:
Ispeziona e manipola i dati
Puoi utilizzare bigframes.pandas
per eseguire l'ispezione dei dati e
operazioni di calcolo.
Il seguente esempio di codice mostra come utilizzare bigframes.pandas
per esaminare la colonna body_mass_g
, calcolare la media body_mass
e calcolare la media body_mass
per species
:
Utilizzo della libreria bigframes.ml
Le funzionalità di ML in BigQuery DataFrames consentono di pre-elaborare i dati e addestrare quindi i modelli sulla base di questi dati. Puoi anche concatenare queste azioni per creare pipeline di dati.
Località ML
bigframes.ml
supporta le stesse località di BigQuery ML.
La previsione del modello BigQuery ML e altre funzioni di ML sono supportate in tutti
regioni BigQuery. Il supporto per l'addestramento dei modelli varia in base alla regione. Per ulteriori informazioni
le informazioni, vedi
Località di BigQuery ML.
Pre-elabora i dati
Crea trasformatori per preparare i dati per l'utilizzo in estimatori (modelli) utilizzando il modulo bigframes.ml.preprocessing e il modulo bigframes.ml.compose. BigQuery DataFrames offre le seguenti trasformazioni:
Utilizzare la classe KBinsDiscretizer nel modulo
bigframes.ml.preprocessing
per eseguire il bin dei dati continui in intervalli.Utilizza la classeLabelEncoder nel modulo
bigframes.ml.preprocessing
per normalizzare le etichette target come valori interi.Utilizzare la classe MaxAbsScaler nel modulo
bigframes.ml.preprocessing
per scalare ciascuna caratteristica nell'intervallo[-1, 1]
in base al relativo valore assoluto massimo.Utilizza la classe MinMaxScaler nel modulo
bigframes.ml.preprocessing
per standardizzare le caratteristiche scalando ciascuna caratteristica all'intervallo[0, 1]
.Utilizza la classe StandardScaler nel modulo
bigframes.ml.preprocessing
per standardizzare le funzionalità rimuovendo la media e applicando la scala alla varianza unitaria.Utilizza la classe OneHotEncoder nel modulo
bigframes.ml.preprocessing
per trasformare i valori categorici in formato numerico.Utilizzare la classe columnTransformer nel modulo
bigframes.ml.compose
per applicare i transformer alle colonne DataFrame.
addestramento dei modelli
Creare stimatori per addestrare i modelli in DataFrames BigQuery.
Modelli di clustering
Crea stimatori per i modelli di clustering utilizzando il metodo modulo bigframes.ml.cluster.
- Utilizzare la classe KMeans per creare modelli di clustering K-means. Utilizza questi modelli per la segmentazione dei dati. Ad esempio, identificare i segmenti di clienti. K-means è un di apprendimento non supervisionato, per cui l'addestramento del modello non richiede etichette o suddivisioni per l'addestramento o la valutazione.
Puoi utilizzare il modulo bigframes.ml.cluster
per creare stimatori per i modelli di clustering.
Il seguente esempio di codice mostra l'utilizzo della classe bigframes.ml.cluster KMeans
per
Crea un modello di clustering K-means per la segmentazione dei dati:
Modelli di decomposizione
Crea gli stimatori per i modelli di decomposizione utilizzando il modulo bigframes.ml.decomposition.
- Utilizza la classe PCA per creare modelli di analisi delle componenti principali (PCA). Utilizza questi per il calcolo dei componenti principali e il loro utilizzo per eseguire una modifica in base ai dati. Ciò fornisce una riduzione della dimensionalità mediante la proiezione di ogni dati puntare solo alle prime componenti principali per ottenere dei dati conservando il più possibile le variazioni dei dati.
Modelli di insieme
Crea gli stimatori per i modelli di ensemble utilizzando il modulo bigframes.ml.ensemble.
Utilizzare la classe RandomForestClassifier per creare modelli casuali di classificazione delle foreste. Utilizza questi modelli per costruire alberi decisionali con più metodi di apprendimento per la classificazione.
Utilizzare la classe RandomForestRegressor per creare modelli casuali di regressione della foresta. Utilizza le funzionalità di per la creazione di più alberi decisionali dei metodi di apprendimento per la regressione.
Utilizzare la classe XGBClassifier per creare modelli di classificazione ad albero con gradiente d'impatto. Usa questi modelli per creare diversi alberi decisionali dei metodi di apprendimento per la classificazione.
Utilizzare la classe XGBRegressor per creare modelli di regressione ad albero con gradiente amplificato. Usa questi modelli per creare più alberi decisionali dei metodi di apprendimento per la regressione.
Modelli di previsione
Utilizza il modulo bigframes.ml.forecasting per creare stimatori per i modelli di previsione.
- Utilizzare la classe ARIMAPlus per creare modelli di previsione delle serie temporali.
Modelli importati
Crea stimatori per i modelli importati utilizzando il modulo bigframes.ml.imported.
Utilizzare la classe ONNXModel per importare modelli ONNX (Open Neural Network Exchange).
Utilizzare la classe TensorFlow per importare modelli TensorFlow.
usa la classe XGBoostModel per importare modelli XGBoostModel.
Modelli lineari
Crea stimatori per i modelli lineari utilizzando il modulo bigframes.ml.linear_model.
Utilizzare la classe LinearRegression per creare modelli di regressione lineare. Utilizza questi modelli per le previsioni. Ad esempio: prevedendo le vendite di un articolo in un determinato giorno.
Utilizzare la classe LogisticRegression per creare modelli di regressione logistica. Usa questi modelli per la classificazione di due o più valori possibili, ad esempio se un input è
low-value
,medium-value
, ohigh-value
.
Il seguente esempio di codice mostra come utilizzare bigframes.ml
per eseguire le seguenti operazioni:
- Carica i dati da BigQuery
- Pulisci e prepara i dati di addestramento
- Crea e applica un
bigframes.ml.LinearRegression
modello di regressione
Modelli linguistici di grandi dimensioni
Crea gli stimatori per gli LLM utilizzando il modulo bigframes.ml.llm.
Utilizza la classe GeminiTextGenerator per creare modelli di generatori di testo Gemini. Utilizza questi modelli per attività di generazione di testo.
Utilizza la classe PaLM2TextGenerator per creare modelli di generatore di testo PaLM2. Utilizza questi modelli per le attività di generazione di testo.
Utilizza la classe PaLM2TextEmbeddingGenerator per creare modelli di generatore di incorporamento di testo PaLM2. Utilizza questi modelli per le attività di generazione dell'incorporamento del testo.
Puoi usare bigframes.ml.llm
per creare stimatori per modelli linguistici di grandi dimensioni (LLM) remoti.
Il seguente esempio di codice mostra come utilizzare bigframes.ml.llm
GeminiTextGenerator
per creare un modello Gemini per la generazione di codice:
Modelli remoti
Per utilizzare i modelli remoti ML di BigQuery DataFrames (bigframes.ml.remote o bigframes.ml.llm), devi abilitare le seguenti API:
- API BigQuery (
bigquery.googleapis.com
) - API BigQuery Connection (
bigqueryconnection.googleapis.com
) - API Vertex AI (
aiplatform.googleapis.com
) - API Cloud Resource Manager (
cloudresourcemanager.googleapis.com
)Puoi evitare questo requisito impostando il parametro
bigframes.pandas.options.bigquery.skip_bq_connection_check
opzione perTrue
, nel qual caso viene utilizzata la connessione (predefinita o preconfigurata) così come sono senza verificare l'esistenza della connessione o verificarne le autorizzazioni.
Inoltre, devi disporre dei seguenti ruoli IAM nel progetto:
- Amministratore connessione BigQuery (
roles/bigquery.connectionAdmin
) - Amministratore IAM progetto (
roles/resourcemanager.projectIamAdmin
) se utilizza il valore predefinito connessione BigQuery o browser (roles/browser) se si utilizza una connessione connessione. Questo requisito può essere evitato impostando Opzionebigframes.pandas.options.bigquery.skip_bq_connection_check
perTrue
, in questo caso la connessione (predefinita o preconfigurata) così com'è, senza che vi siano controlli di esistenza o autorizzazioni. Se utilizzi il modello preconfigurato connessione e saltando il controllo, assicurati che la connessione sia creata e il rispettivo account di servizio ha il ruolo Vertex AI User Ruolo (roles/aiplatform.user
) del progetto.
La creazione di un modello remoto in BigQuery DataFrames crea una connessione BigQuery.
Per impostazione predefinita, viene utilizzata una connessione denominata bigframes-default-connection
.
Se preferisci, puoi utilizzare una connessione BigQuery preconfigurata. In questo caso la connessione
viene saltata. All'account di servizio per la connessione predefinita viene concesso il ruolo IAM Utente Vertex AI (roles/aiplatform.user
).
Creazione pipeline
Creare pipeline ML utilizzando modulo bigframes.ml.pipeline. Le pipeline consentono di combinare diversi passaggi di ML da eseguire contemporaneamente con la convalida incrociata durante l'impostazione diversi parametri. Questo semplifica il codice e ti consente di eseguire il deployment della pre-elaborazione dei dati passi e uno strumento di stima.
Utilizzare la classe pipeline per creare una pipeline di trasformazioni con uno strumento di stima finale.