Hello, I am using Pig 0.17.0 and I am trying to enable Snappy compression for temporary files. I installed Snappy on all the Hadoop nodes:
sudo yum install snappy snappy-devel ln -sf /usr/lib64/libsnappy.so /opt/hadoop/lib/native/ Yum installed the following packages: Installed Packages Name : snappy Arch : x86_64 Version : 1.1.0 Release : 3.el7 Size : 117 k Repo : installed From repo : anaconda Summary : Fast compression and decompression library URL : http://code.google.com/p/snappy/ License : BSD Description : Snappy is a compression/decompression library. It does not aim for maximum : compression, or compatibility with any other compression library; instead, it : aims for very high speeds and reasonable compression. For instance, compared to : the fastest mode of zlib, Snappy is an order of magnitude faster for most : inputs, but the resulting compressed files are anywhere from 20% to 100% : bigger. Name : snappy-devel Arch : x86_64 Version : 1.1.0 Release : 3.el7 Size : 29 k Repo : installed From repo : base Summary : Development files for snappy URL : http://code.google.com/p/snappy/ License : BSD Description : The snappy-devel package contains libraries and header files for : developing applications that use snappy. In the pig.properties file, I made the following changes: pig.tmpfilecompression=true pig.tmpfilecompression.storage=seqfile pig.tmpfilecompression.codec=snappy Now, when I run my script, I get this error: java.lang.ClassCastException: class org.xerial.snappy.SnappyCodec In my Pig’s lib directory I can see this jar: snappy-java-1.1.1.3.jar Looks like incompatible version, but I can’t find any information regarding which version of Snappy is compatible with this version of Pig. I will appreciate any input on this. Best regards, Alex soto