Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-3191

HDFS Processors Should Allow Choosing LZO Compression

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.1.0, 0.7.1
    • 1.3.0
    • None
    • None

    Description

      The HDFS processors have a CompressionType enum that maps the enum to a class name, currently it has the following:

      case NONE: return "NONE";
      case DEFAULT: return DefaultCodec.class.getName();
      case BZIP: return BZip2Codec.class.getName();
      case GZIP: return GzipCodec.class.getName();
      case LZ4: return Lz4Codec.class.getName();
      case SNAPPY: return SnappyCodec.class.getName();
      case AUTOMATIC: return "Automatically Detected";
      

      The Lzo codec class is GPL (http://code.google.com/p/hadoop-gpl-compression and https://github.com/twitter/hadoop-lzo) so it can not be shipped with NiFi or Hadoop, but if someone adds it to their Hadoop distribution there should be a way to select it from NiFi.

      Seems LZO could be added to the enumeration with a mapping of:

      case LZO: return "com.hadoop.compression.lzo.LzoCodec";
      

      The libraries would still need to be linked through the LD_LIBRARY_PATH such as:

      java.arg.15=-Djava.libaray.path=/path/to/your/lzocodec.so
      

      and possibly point the additional classpath resource to the jar containing LzoCodec.java.

      Attachments

        Issue Links

          Activity

            People

              pvillard Pierre Villard
              bbende Bryan Bende
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: