¿Por qué los errores de colmena FileNotFoundException cuando un UDF usa algunos archivos de recursos externos pero se ejecuta directamente en Native?
-
26-10-2019 - |
Pregunta
Un UDF usó algunos archivos de recursos externos, luego Error: "java.io.filenotfoundException: recurse/placEmap.txt (no dicho archivo o directorio)", esta función se ejecuta justo en nativo, por qué mal en Hive, ¿cómo puedo resolverlo? ? ¡Muchos gracias!
Solución
mirar este. Lo que quieres hacer es add file <filename>
de modo que <filename>
se puede agregar a la memoria caché distribuida.
Será accesible como en la misma ruta que el ejecutable/jar, así que verifique las rutas de sus familiares también.
Otros consejos
Lo que Hive Básica hace es convertir sus consultas a trabajos de reducción de mapas de Hadoop. Por lo tanto, se ejecutan en las máquinas que tienen rastreadores de tareas. Por lo tanto, si está utilizando una fuente externa, su ELGER debe asegurarse de que ese archivo exista en cada máquina en la misma ruta (y sería mucho mejor usar FullPath) o obtener el archivo de HDFS, y cargar el archivo de origen desde HDFS. (Prefiero usar HDFS, mucho más seguro de esa manera)