La biblioteca OpenCV cargada en hadoop pero no funciona

Estoy tratando de usar OpenCV con Hadoop. Abajo está mi código. Solo estoy probando si las bibliotecas OpenCV funcionan bien con Hadoop, es decir, cuando estoy ejecutando el código OpenCV en funciónpublic int run(String[] args) de Hadoop

Busqué en Internet y encontré algunas formas de cómo agregar la biblioteca nativa de OpenCV (libopencv_java310.so) en Hadoop. Intenté algunas formas, pero no funcionó. Por ejemploeste tutorial.

Dice agregarJAVA.LIBRARY.PATH ahadoop-config.sh archivo. Pero no funcionó. Recibí este error

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path
at line
System.loadLibrary(Core.NATIVE.LIBRARY.NAME);

Finalmente, agregué la biblioteca nativa de OpenCV (libopencv_java310.so) a este camino (solución obtenida de internet)

$HADOOP_HOME/lib/native

Y parece haber funcionado. No recibí el error anterior. Pero recibí este error en la siguiente línea:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1(Ljava/lang/String;)

Este error está en la línea:

CascadeClassifier cad = new CascadeClassifier();

Hasta donde yo sé, obtenemos este error si la biblioteca nativa de OpenCV no está cargada. Pero ahora la biblioteca está cargada, no sé cuál es la razón de este error.

 public int run(String[] args) throws Exception {
    Configuration conf = new Configuration();
    Job job = Job.getInstance(conf);
    job.setJarByClass(readVideoFile.class);
    job.setJobName("smallfilestoseqfile");
    job.setInputFormatClass(readVideoInputFormat.class);
    job.setNumReduceTasks(1);
    FileInputFormat.setInputPaths(job, new Path(args[0]));
    FileOutputFormat.setOutputPath(job, new Path(args[1]));
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(Text.class);
    job.setMapperClass(readVideoMapper.class);

    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    CascadeClassifier cad = new CascadeClassifier();

    return job.waitForCompletion(true) ? 0 : 1;
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta