Data Science Workspace Solución de problemas de guía
Este documento proporciona respuestas a las preguntas más frecuentes acerca de Adobe Experience Platform Data Science Workspace. Si tiene alguna pregunta o solución de problemas relacionados con las API de Platform en general, consulte la Guía de solución de problemas de la API de Adobe Experience Platform.
Estado de la consulta de JupyterLab Notebook atascado en estado de ejecución
Un JupyterLab Notebook puede indicar que una celda está en estado de ejecución, indefinidamente, en algunas condiciones de falta de memoria. Por ejemplo, al consultar una conjunto de datos grande o realizar varias consultas posteriores, JupyterLab Notebook puede quedarse sin memoria disponible para tienda el objeto de marco de datos resultante. Hay algunos indicadores que se pueden ver en esta situación. Primero, el núcleo entra en el estado inactivo igualado aunque la celda se muestra como en ejecución indicada por el [*
] icono junto a la celda. Además, la barra inferior indica la cantidad de RAM utilizada/disponible.
Durante la lectura de datos, la memoria puede crecer hasta alcanzar la cantidad máxima de memoria asignada. La memoria se libera tan pronto como se alcanza la memoria máxima y el núcleo se reinicia. Esto significa que la memoria utilizada en este escenario puede mostrarse como muy baja debido al reinicio del kernel, mientras que justo antes del reinicio, la memoria habría estado muy cerca de la RAM máxima asignada.
Para resolver este problema, seleccione el icono de engranaje en la parte superior derecha de JupyterLab y diapositiva el regulador a la derecha seguido de seleccionar Actualizar configuraciones para asignar más RAM. Además, si está ejecutando varias consultas y el valor de RAM se acerca a la cantidad máxima asignada, a menos que necesite los resultados de consultas anteriores, reinicie el kernel para restablecer la cantidad disponible de RAM. Esto garantiza que tenga la máxima cantidad de RAM disponible para el consulta actual.
En el evento está asignando la cantidad máxima de memoria (RAM) y sigue encontrando este problema, puede modificar su consulta para operar en un tamaño de conjunto de datos más pequeño reduciendo las columnas o el rango de datos. Para usar la cantidad completa de datos, se recomienda impulsar un bloc de notas Spark.
JupyterLab entorno no se carga en Google Chrome
Con la versión 80.x del explorador Google Chrome, todas las cookies de terceros están bloqueadas de forma predeterminada. Esta directiva puede evitar que JupyterLab se cargue en Adobe Experience Platform.
Para solucionar este problema, siga estos pasos:
En el explorador Chrome, vaya a la esquina superior derecha y seleccione Configuración (también puede copiar y pegar "chrome://settings/" en la barra de direcciones). A continuación, desplácese hasta la parte inferior de la página y haga clic en el menú desplegable Avanzado.
Aparecerá la sección Privacidad y seguridad. A continuación, haga clic en Configuración del sitio seguida de Cookies y datos del sitio.
Por último, cambie "Bloquear cookies de terceros" a "Desactivado".
Vaya a "chrome://flags/" en la barra de direcciones. Busque y deshabilite el indicador titulado "SameSite con cookies predeterminadas" mediante el menú desplegable de la derecha.
Después del paso 2, se le pedirá que reinicie el explorador. Después de reiniciar, Jupyterlab debería ser accesible.
¿Por qué no puedo acceder a JupyterLab en Safari?
Safari deshabilita las cookies de terceros de forma predeterminada en Safari < 12. Dado que la instancia de máquina virtual Jupyter reside en un dominio diferente al marco principal, Adobe Experience Platform requiere que se habiliten las cookies de terceros. Habilite las cookies de terceros o cambie a un explorador diferente, como Google Chrome.
Para Safari 12, debe cambiar el agente de usuario a 'Chrome' o 'Firefox'. Para cambiar el agente de usuario, comienza abriendo el menú Safari y selecciona Preferencias. Aparecerá la ventana de preferencias.
Dentro de la ventana de preferencias de Safari, seleccione Avanzadas. Luego marque el menú Desarrollo de Mostrar en la barra de menús . Puede cerrar la ventana de preferencias una vez completado este paso.
Siguiente, desde la barra navegación superior seleccione el menú Desarrollar . En el menú desplegable Desarrollar , pase el ratón sobre Agente de usuario. Puede seleccionar la cadena del agente de usuario Chrome o Firefox que desee utilizar.
¿Por qué veo el mensaje "403 prohibido" al intentar cargar o eliminar un archivo de JupyterLab?
Si su explorador está habilitado con software de bloqueo de anuncios como Ghostery o AdBlock Plus, se debe permitir el dominio "*.adobe.net" en cada software de bloqueo de anuncios para que JupyterLab funcione normalmente. Esto se debe a que JupyterLab máquinas virtuales se ejecutan en un dominio diferente al dominio Experience Platform.
¿Por qué algunas partes de mi Jupyter Notebook parecen codificadas o no se representan como código?
Esto puede suceder si la celda en cuestión cambia accidentalmente de "Código" a "Markdown". Mientras una celda de código está enfocada, al presionar la combinación de teclas ESC+M se cambia el tipo de celda a Markdown. El tipo de celda se puede cambiar mediante el indicador desplegable situado en la parte superior del bloc de notas para las celdas seleccionadas. Para cambiar un tipo de celda a código, comience por seleccionar la celda determinada que desea cambiar. A continuación, haga clic en el menú desplegable que indica el tipo actual de celda y seleccione "Código".
¿Cómo instalo bibliotecas de Python personalizadas?
El núcleo Python viene preinstalado con muchas bibliotecas populares de aprendizaje automático. Sin embargo, puede instalar bibliotecas personalizadas adicionales ejecutando el siguiente comando en una celda de código:
!pip install {LIBRARY_NAME}
Para obtener una lista completa de las bibliotecas preinstaladas de Python, consulte la sección apéndice de la Guía del usuario de JupyterLab.
¿Puedo instalar bibliotecas PySpark personalizadas?
Desafortunadamente, no puede instalar bibliotecas adicionales para el kernel de PySpark. Sin embargo, puede ponerse en contacto con el servicio de atención al cliente de Adobe para que le instalen bibliotecas PySpark personalizadas.
Para obtener una lista de bibliotecas de PySpark preinstalados, consulte la sección del apéndice del Guía del usuario de JupyterLab.
¿Es posible configurar Spark los recursos del clúster o JupyterLab Spark el kernel de PySpark?
Puede configurar los recursos agregando el siguiente bloque a la primera celda del bloc de notas:
%%configure -f
{
"numExecutors": 10,
"executorMemory": "8G",
"executorCores":4,
"driverMemory":"2G",
"driverCores":2,
"conf": {
"spark.cores.max": "40"
}
}
Para obtener más información sobre la configuración de recursos de clúster Spark, incluida la lista completa de propiedades configurables, consulte la Guía del usuario de JupyterLab.
¿Por qué recibo un error al intentar ejecutar ciertas tareas para conjuntos de datos más grandes?
Si recibe un error con un motivo como Reason: Remote RPC client disassociated. Likely due to containers exceeding thresholds, or network issues.
, normalmente significa que el controlador o un ejecutor se están quedando sin memoria. Consulte la documentación de JupyterLab Notebooks acceso a datos para obtener más información sobre los límites de datos y cómo ejecutar tareas en conjuntos de datos grandes. Normalmente, este error se puede resolver cambiando mode
de interactive
a batch
.
Además, al escribir grandes conjuntos de datos de Spark/PySpark, el almacenamiento en caché de los datos (df.cache()
) antes de ejecutar el código de escritura puede mejorar en gran medida el rendimiento.
Si experimenta problema al leer datos y les está aplicando transformaciones, intente almacenamiento en caché los datos antes de las transformaciones. El almacenamiento en caché de los datos evita que se realicen múltiples lecturas en la red. Inicio leyendo los datos. Siguiente, almacene en caché (df.cache()
) los datos. Por último, realiza tus transformaciones.
¿Por qué mis blocs de notas Spark/PySpark tardan tanto en leer y escribir datos?
Si está realizando transformaciones en datos, como fit()
usar , las transformaciones pueden ejecutarse varias veces. Para aumentar el rendimiento, almacene en caché los datos utilizando df.cache()
antes de realizar el fit()
archivo . Esto garantiza que las transformaciones se ejecuten una sola vez y evita múltiples lecturas en la red.
Orden recomendado: Inicio leyendo los datos. Siguiente, realice transformaciones seguidas de almacenamiento en caché (df.cache()
) los datos. Por último, realice un fit()
archivo .
¿Por qué mis blocs de notas Spark/PySpark no se pueden ejecutar?
Si recibe alguno de los siguientes errores:
- Se ha anulado el trabajo debido a un error fase… Solo se pueden comprimir RDD con el mismo número de elementos en cada partición.
- Cliente RPC remoto desasociado y otros errores de memoria.
- Rendimiento deficiente al leer y escribir conjuntos de datos.
Compruebe que está almacenando en caché los datos (df.cache()
) antes de escribir los datos. Al ejecutar código en blocs de notas, el uso de df.cache()
antes de una acción como fit()
puede mejorar en gran medida el rendimiento del bloc de notas. Usar df.cache()
antes de escribir un conjunto de datos garantiza que las transformaciones se ejecuten solo una vez en lugar de varias veces.
Docker Hub restricciones de límite en Data Science Workspace
A partir del 20 de noviembre de 2020, entraron en vigor los límites de tarifas para el uso anónimo y autenticado gratuito de Docker Hub. Los usuarios anónimos y libres de Docker Hub están limitados a 100 solicitudes de extracción de imagen de contenedor cada seis horas. Si se ve afectado por estos cambios, recibirá este mensaje de error: 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.
.
En la actualidad, este límite solo afecta a su organización si intenta crear 100 Notebook to Recipes dentro del periodo de seis horas o si utiliza Notebooks basados en Spark en Data Science Workspace que se están ampliando y reduciendo con frecuencia. Sin embargo, esto es improbable, ya que el clúster en el que se ejecutan permanece activo durante dos horas antes de dejarse a ralentí. Esto reduce el número de extracciones necesarias cuando el clúster está activo. Si recibe alguno de los errores anteriores, tendrá que esperar hasta que se restablezca su límite de Docker.
Para obtener más información sobre los límites de velocidad de Docker Hub, visite la documentación de DockerHub. Se está trabajando en una solución para esto y se espera que esta sea una versión posterior.