java.lang.UnsatisfiedLinkError при записи с использованием хруста MemPipeline

Я использую версию com.cloudera.crunch: "0.3.0-3-cdh-5.2.1".

У меня есть небольшая программа, которая читает некоторые AVRO и отфильтровывает неверные данные на основе некоторых критериев. Я использую pipe.write(PCollection, AvroFileTarget), чтобы записать неверный вывод данных. Он отлично работает в производственном цикле.

Для модульного тестирования этого куска кода я использую экземпляр MemPipeline. Но это не удается при записи вывода в этом случае.

Я получаю ошибку:

java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V
    at org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(Native Method)
    at org.apache.hadoop.util.NativeCrc32.calculateChunkedSumsByteArray(NativeCrc32.java:86)
    at org.apache.hadoop.util.DataChecksum.calculateChunkedSums(DataChecksum.java:428)
    at org.apache.hadoop.fs.FSOutputSummer.writeChecksumChunks(FSOutputSummer.java:197)
    at org.apache.hadoop.fs.FSOutputSummer.flushBuffer(FSOutputSummer.java:163)
    at org.apache.hadoop.fs.FSOutputSummer.flushBuffer(FSOutputSummer.java:144)
    at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:78)
    at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:50)
    at java.io.DataOutputStream.writeBytes(DataOutputStream.java:276)
    at com.cloudera.crunch.impl.mem.MemPipeline.write(MemPipeline.java:159)

Есть идеи, что случилось?

1 ответ

Переменная среды Hadoop должна быть правильно настроена вместе с hadoop.dll и winutils.exe.

Также передайте аргумент JVM при выполнении задания MR /application -Djava.library.path=HADOOP_HOME/lib/native

Другие вопросы по тегам