Data Science Workspace guida alla risoluzione dei problemi

Questo documento contiene le risposte alle domande più frequenti su Adobe Experience Platform Data Science Workspace. Per domande e risoluzione dei problemi relativi alle Platform API in generale, consulta la Guida alla risoluzione dei problemi delle API Adobe Experience Platform.

JupyterLab ambiente non caricato in Google Chrome

IMPORTANTE

Questo problema è stato risolto ma potrebbe essere ancora presente nel browser Google Chrome 80.x. Assicurati che il tuo browser Chrome sia aggiornato.

Con la versione 80.x del browser Google Chrome, tutti i cookie di terze parti sono bloccati per impostazione predefinita. Questo criterio può impedire il caricamento di JupyterLab in Adobe Experience Platform.

Per risolvere questo problema, procedi come segue:

Nel browser Chrome, vai in alto a destra e seleziona Impostazioni (in alternativa puoi copiare e incollare "chrome://settings/" nella barra degli indirizzi). Quindi, scorri fino alla parte inferiore della pagina e fai clic sul menu a discesa Avanzate .

cromatura avanzata

Viene visualizzata la sezione Privacy e sicurezza . Quindi, fai clic su Impostazioni sito seguito da Cookie e dati sito.

cromatura avanzata

cromatura avanzata

Infine, seleziona "Blocca cookie di terze parti" su "OFF".

cromatura avanzata

NOTA

In alternativa, puoi disabilitare i cookie di terze parti e aggiungere [*.]ds.adobe.net all’elenco consentiti.

Passa a "chrome://flags/" nella barra degli indirizzi. Cerca e disabilita il flag "SameSite by default cookies" utilizzando il menu a discesa a destra.

disabilita flag samesite

Dopo il passaggio 2, viene richiesto di riavviare il browser. Dopo il riavvio, Jupyterlab deve essere accessibile.

Perché non riesco ad accedere a JupyterLab in Safari?

Safari disabilita i cookie di terze parti per impostazione predefinita in Safari < 12. Poiché l’istanza della macchina virtuale Jupyter risiede in un dominio diverso rispetto al frame principale, Adobe Experience Platform attualmente richiede l’abilitazione dei cookie di terze parti. Abilita i cookie di terze parti o passa a un altro browser come Google Chrome.

Per Safari 12, è necessario passare l'agente utente a 'Chrome' o a 'Firefox'. Per cambiare l'agente utente, inizia aprendo il menu Safari e seleziona Preferenze. Viene visualizzata la finestra delle preferenze.

Preferenze di Safari

Nella finestra delle preferenze di Safari, seleziona Avanzate. Quindi selezionare la casella Mostra menu di sviluppo nella barra dei menu. Al termine di questo passaggio, è possibile chiudere la finestra delle preferenze.

Safari avanzato

Successivamente, dalla barra di navigazione superiore selezionare il menu Develop. Dall'interno del menu a discesa Develop, passa il puntatore del mouse su User Agent. È possibile selezionare la stringa dell'agente utente Chrome o Firefox che si desidera utilizzare.

Menu Sviluppa

Perché viene visualizzato un messaggio "403 Forbidden" quando si tenta di caricare o eliminare un file in JupyterLab?

Se il browser è abilitato con software di blocco dell'annuncio, ad esempio Ghostery o AdBlock Plus, il dominio "*.adobe.net" deve essere consentito in ogni software di blocco dell'annuncio affinché JupyterLab funzioni normalmente. Questo perché le macchine virtuali JupyterLab vengono eseguite su un dominio diverso da quello Experience Platform.

Perché alcune parti del mio Jupyter Notebook sembrano frammentate o non vengono renderizzate come codice?

Questo può accadere se la cella in questione viene accidentalmente cambiata da "Codice" a "Markdown". Mentre una cella di codice è concentrata, premendo la combinazione di tasti ESC+M il tipo di cella viene modificato in Markdown. Il tipo di cella può essere modificato dall'indicatore a discesa nella parte superiore del blocco appunti per le celle selezionate. Per modificare un tipo di cella in codice, inizia selezionando la cella specificata da modificare. Quindi, fai clic sul menu a discesa che indica il tipo corrente della cella, quindi seleziona "Codice".

Come si installano le librerie Python personalizzate?

Il kernel Python viene preinstallato con molte librerie di apprendimento automatico popolari. Tuttavia, puoi installare librerie personalizzate aggiuntive eseguendo il seguente comando all’interno di una cella di codice:

!pip install {LIBRARY_NAME}

Per un elenco completo delle librerie Python preinstallate, consulta la sezione appendice della Guida utente di JupyterLab.

Posso installare librerie PySpark personalizzate?

Purtroppo non è possibile installare librerie aggiuntive per il kernel PySpark. Tuttavia, è possibile contattare il proprio rappresentante del servizio clienti Adobe per avere le librerie PySpark personalizzate installate per voi.

Per un elenco delle librerie PySpark preinstallate, consulta la sezione appendice della Guida utente di JupyterLab.

È possibile configurare le risorse del cluster Spark per il kernel JupyterLab Spark o PySpark?

È possibile configurare le risorse aggiungendo il seguente blocco alla prima cella del blocco appunti:

%%configure -f 
{
    "numExecutors": 10,
    "executorMemory": "8G",
    "executorCores":4,
    "driverMemory":"2G",
    "driverCores":2,
    "conf": {
        "spark.cores.max": "40"
    }
}

Per ulteriori informazioni sulla configurazione delle risorse del cluster Spark, incluso l'elenco completo delle proprietà configurabili, consulta la Guida utente di JupyterLab.

Perché ricevo un errore quando si tentano di eseguire determinate attività per set di dati più grandi?

Se ricevi un errore per un motivo come Reason: Remote RPC client disassociated. Likely due to containers exceeding thresholds, or network issues. Questo significa in genere che il driver o un esecutore non dispongono di memoria sufficiente. Consulta la documentazione JupyterLab Notebooks accesso ai dati per ulteriori informazioni sui limiti dei dati e su come eseguire attività su set di dati di grandi dimensioni. In genere questo errore può essere risolto cambiando mode da interactive a batch.

Inoltre, durante la scrittura di set di dati Spark/PySpark di grandi dimensioni, la memorizzazione in cache dei dati (df.cache()) prima di eseguire il codice di scrittura può migliorare notevolmente le prestazioni.

Se si verificano problemi durante la lettura dei dati e si applicano trasformazioni ai dati, provare a memorizzare in cache i dati prima delle trasformazioni. La memorizzazione in cache dei dati impedisce l'esecuzione di più letture in rete. Inizia leggendo i dati. Quindi, memorizza in cache (df.cache()) i dati. Infine, esegui le tue trasformazioni.

Perché i miei notebook Spark/PySpark richiedono così tanto tempo per leggere e scrivere i dati?

Se esegui trasformazioni sui dati, ad esempio utilizzando fit(), le trasformazioni potrebbero essere eseguite più volte. Per migliorare le prestazioni, memorizza in cache i dati utilizzando df.cache() prima di eseguire fit(). In questo modo le trasformazioni vengono eseguite solo una volta e si evitano più letture in rete.

Ordine consigliato: inizia leggendo i dati. Esegui quindi le trasformazioni seguite dalla memorizzazione in cache (df.cache()) dei dati. Infine, esegui un fit().

Perché i miei notebook Spark/PySpark non vengono eseguiti?

Se ricevi uno dei seguenti errori:

  • Processo interrotto a causa di un errore dell'area di visualizzazione… È possibile comprimere solo gli RDD con lo stesso numero di elementi in ogni partizione.
  • Client RPC remoto non associato e altri errori di memoria.
  • Scarse prestazioni durante la lettura e la scrittura di set di dati.

Verifica di memorizzare i dati nella cache (df.cache()) prima di scriverli. Quando si esegue il codice nei blocchi appunti, l'utilizzo di df.cache() prima di un'azione come fit() può migliorare notevolmente le prestazioni del blocco appunti. L’utilizzo di df.cache() prima di scrivere un set di dati assicura che le trasformazioni vengano eseguite solo una volta e non più volte.

Docker Hub limitazioni in Data Science Workspace

A partire dal 20 novembre 2020 sono entrati in vigore i limiti di tariffa per l’utilizzo anonimo e gratuito autenticato di Docker Hub. Gli utenti anonimi e gratuiti Docker Hub sono limitati a 100 richieste di pull di immagini da contenitori ogni sei ore. Se sei interessato da queste modifiche riceverai questo messaggio di errore: ERROR: toomanyrequests: Too Many Requests. o You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits..

Al momento, questo limite influisce solo sulla tua organizzazione se stai tentando di costruire 100 notebook in Recipes entro un arco di tempo di sei ore o se utilizzi i notebook basati su Spark all’interno di Data Science Workspace che vengono spesso ridimensionati. Tuttavia, questo è improbabile, dal momento che il cluster su cui vengono eseguiti rimane attivo per due ore prima di essere disattivato. Questo riduce il numero di pull necessari quando il cluster è attivo. Se ricevi uno qualsiasi degli errori di cui sopra, dovrai aspettare che il tuo limite Docker venga reimpostato.

Per ulteriori informazioni sui limiti di velocità Docker Hub, visita la documentazione di DockerHub🔗. Una soluzione a questo problema è in fase di elaborazione e prevista in una versione successiva.

In questa pagina