Sha256: b8b97c3403d01f1116ffe957e9f3fd3f7ad4b4de6dd4983b305b4f5fef97ac75

Contents?: true

Size: 531 Bytes

Versions: 6

Compression:

Stored size: 531 Bytes

Contents

module Fluent::Plugin
  class WebHDFSOutput < Output
    class ZstdCompressor < Compressor
      WebHDFSOutput.register_compressor('zstd', self)

      def initialize(options = {})
        begin
          require "zstandard"
        rescue LoadError
          raise Fluent::ConfigError, "Install zstandard gem before use of zstd compressor"
        end
      end

      def ext
        ".zst"
      end

      def compress(chunk, tmp)
        tmp.binmode
        tmp.write Zstandard.deflate(chunk.read)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fluent-plugin-webhdfs-1.6.0 lib/fluent/plugin/webhdfs_compressor_zstd.rb
fluent-plugin-webhdfs-1.5.0 lib/fluent/plugin/webhdfs_compressor_zstd.rb
fluent-plugin-webhdfs-1.4.0 lib/fluent/plugin/webhdfs_compressor_zstd.rb
fluent-plugin-webhdfs-1.3.2 lib/fluent/plugin/webhdfs_compressor_zstd.rb
fluent-plugin-webhdfs-1.3.1 lib/fluent/plugin/webhdfs_compressor_zstd.rb
fluent-plugin-webhdfs-1.3.0 lib/fluent/plugin/webhdfs_compressor_zstd.rb