Собственная библиотека snappy недоступна: эта версия libhadoop была собрана без поддержки snappy.

Я получил указанную выше ошибку, когда использовал MLUtils saveAsLibSVMFile. пробовал различные подходы, как показано ниже, но ничего не получалось.

		/*
		 conf.set("spark.io.compression.codec","org.apache.spark.io.LZFCompressionCodec")
		*/

		/*
		conf.set("spark.executor.extraClassPath","/usr/hdp/current/hadoop-client/lib/snappy-java-*.jar")
		conf.set("spark.driver.extraClassPath","/usr/hdp/current/hadoop-client/lib/snappy-java-*.jar")
		
  		conf.set("spark.executor.extraLibraryPath","/usr/hdp/2.3.4.0-3485/hadoop/lib/native")
  		conf.set("spark.driver.extraLibraryPath","/usr/hdp/2.3.4.0-3485/hadoop/lib/native")
		*/

Я прочитал следующие ссылки https://community.hortonworks.com/questions/18903/this-version-of-libhadoop-was-built-without-snappy.html

Наконец, у меня было только два способа решить эту проблему. Это дано в ответе ниже.


person Run2    schedule 02.08.2016    source источник


Ответы (1)


  1. Один из подходов заключался в использовании другого кодека Hadoop, как показано ниже sc.hadoopConfiguration.set("mapreduce.output.fileoutputformat.compress", "true") sc.hadoopConfiguration.set("mapreduce.output.fileoutputformat.compress.type", CompressionType.BLOCK.toString) sc.hadoopConfiguration.set("mapreduce.output.fileoutputformat.compress.codec", "org.apache.hadoop.io.compress.BZip2Codec") sc.hadoopConfiguration.set("mapreduce.map.output.compress", "true") sc.hadoopConfiguration.set("mapreduce.map.output.compress.codec", "org.apache.hadoop.io.compress.BZip2Codec").

  2. Второй подход заключался в том, чтобы указать --driver-library-path /usr/hdp/<whatever is your current version>/hadoop/lib/native/ в качестве параметра моего задания spark-submit (в командной строке)

person Run2    schedule 02.08.2016