Aprenda a solucionar errores en tiempo de ejecución de U-SQL debido a cambios en tiempo de ejecución.
Importante
Azure Data Lake Analytics se retiró el 29 de febrero de 2024. Conozca más sobre a través de este anuncio.
Para el análisis de datos, su organización puede usar azure Synapse Analytics o Microsoft Fabric.
El entorno de ejecución de U-SQL de Azure Data Lake, incluido el compilador, el optimizador y el administrador de trabajos, es lo que procesa el código U-SQL.
Elección de la versión del entorno de ejecución de U-SQL
Al enviar trabajos de U-SQL desde Visual Studio, el SDK de ADL o el portal de Azure Data Lake Analytics, el trabajo usará el entorno de ejecución predeterminado disponible actualmente. Las nuevas versiones del entorno de ejecución de U-SQL se publican periódicamente e incluyen actualizaciones secundarias y correcciones de seguridad.
También puede elegir una versión personalizada de tiempo de ejecución; ya sea porque desea probar una nueva actualización, necesita permanecer en una versión anterior de un entorno de ejecución o se le proporcionó una corrección urgente para un problema notificado y no puede esperar a la nueva actualización habitual.
Precaución
Elegir un entorno de ejecución diferente del valor predeterminado tiene la posibilidad de interrumpir los trabajos de U-SQL. Use estas otras versiones solo para realizar pruebas.
En raras ocasiones, el soporte técnico de Microsoft puede anclar una versión diferente de un entorno de ejecución como valor predeterminado para su cuenta. Asegúrese de revertir este pin lo antes posible. Si permanece anclado a esa versión, expirará en alguna fecha posterior.
Supervisar la versión de runtime de U-SQL de tus trabajos
Puede ver el historial de la versión en tiempo de ejecución que han usado los trabajos anteriores en el historial de trabajos de la cuenta mediante el explorador de trabajos de Visual Studio o el historial de trabajos de Azure Portal.
- En Azure Portal, vaya a la cuenta de Data Lake Analytics.
- Seleccione Ver todos los empleos. Aparece una lista de todos los trabajos activos y finalizados recientemente en la cuenta.
- Opcionalmente, seleccione Filtro para ayudarle a encontrar los trabajos mediante los valores de Intervalo de Tiempo, Nombre de Trabajoy Autor.
- Puede ver el tiempo de ejecución usado en los trabajos completados.
Las versiones en tiempo de ejecución disponibles cambian con el tiempo. El tiempo de ejecución predeterminado siempre se denomina "predeterminado" y mantenemos al menos el tiempo de ejecución anterior disponible durante algún tiempo y hacemos que los tiempos de ejecución especiales estén disponibles por varios motivos. Los tiempos de ejecución con nombre explícito suelen seguir el siguiente formato (se usan cursiva para las partes variables y [] indica partes opcionales):
release_YYYYMMDD_adl_buildno[_modifier]
Por ejemplo, release_20190318_adl_3394512_2 significa la segunda versión de la compilación 3394512 del lanzamiento en tiempo de ejecución del 18 de marzo de 2019, y release_20190318_adl_3394512_private significa una compilación privada del mismo lanzamiento. Nota: La fecha está relacionada con el momento en que se ha realizado el último registro de entrada para esa versión y no necesariamente la fecha de lanzamiento oficial.
Solución de problemas de la versión del entorno de ejecución de U-SQL
Existen dos posibles problemas relacionados con la versión en tiempo de ejecución que podrá encontrar:
Un script o algún código de usuario está cambiando el comportamiento de una versión a la siguiente. Estos cambios importantes normalmente se comunican con antelación con la publicación de notas de la versión. Si se encuentra con un cambio rompedor, póngase en contacto con el soporte técnico de Microsoft para informar de este comportamiento problemático (en caso de que aún no se haya documentado) y envíe los trabajos a la versión anterior del entorno de ejecución.
Ha estado usando un entorno de ejecución no predeterminado, ya sea explícita o implícitamente, cuando se ha fijado a su cuenta, y ese entorno de ejecución ha sido eliminado más tarde. Si encuentra tiempos de ejecución que faltan, actualice los scripts para que se ejecuten con el tiempo de ejecución predeterminado actual. Si necesita más tiempo, póngase en contacto con el soporte técnico de Microsoft.
Problemas conocidos
La referencia a la versión 12.0.3 o posterior del archivo Newtonsoft.Json en un script USQL provocará el siguiente error de compilación:
"Lo sentimos; Es probable que los trabajos que se ejecuten en la cuenta de Data Lake Analytics se ejecuten más lentamente o no se completen. Un problema inesperado nos impide restaurar automáticamente esta funcionalidad a su cuenta de Azure Data Lake Analytics. Se ha contactado a los ingenieros de Azure Data Lake para investigar".
Donde la pila de llamadas contendrá:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Roslyn.Compilers.MetadataReader.PEFile.CustomAttributeTableReader.get_Item(UInt32 rowId)
...
Solución: use el archivo Newtonsoft.Json v12.0.2 o inferior.
Es posible que los clientes vean archivos y carpetas temporales en su almacén. Estos se generan como parte de la ejecución normal del trabajo, pero normalmente se eliminan antes de que los clientes los vean. En determinadas circunstancias, que son poco frecuentes y aleatorias, podrían permanecer visibles. Finalmente se eliminan y nunca se cuentan como parte del almacenamiento del usuario o generan cualquier forma de cargos. Dependiendo de la lógica de trabajo de los clientes, podrían causar problemas. Por ejemplo, si el trabajo enumera todos los archivos de la carpeta y, a continuación, compara las listas de archivos, podría producir un error debido a que los archivos temporales inesperados están presentes. Del mismo modo, si un trabajo de proceso subsiguiente enumera todos los archivos de una carpeta determinada para su posterior procesamiento, también podría enumerar los archivos temporales.
solución: se identifica una corrección durante la ejecución donde los archivos temporales se almacenarán en la carpeta temporal al nivel de la cuenta en lugar de en la carpeta de salida actual. Los archivos temporales se escribirán en esta nueva carpeta temporal y se eliminarán al final de la ejecución del trabajo.
Dado que esta corrección controla los datos del cliente, es importante tener esta corrección bien validada dentro de MSFT antes de su lanzamiento. Se espera que esta corrección esté disponible como tiempo de ejecución beta a mediados del año 2021 y como tiempo de ejecución predeterminado en la segunda mitad del año 2021.