Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-11231

Better support for Hadoop native libs and compression codecs in Java Dataflow batch worker

    XMLWordPrintableJSON

    Details

      Description

      Current(as of Beam SDK 2.24.0) Java Dataflow workers does not ship with Hadoop native library and popular native compression codecs(e.g libsnappy) .

      If one try to read files using IO classes that assume native library support(e.g, org.apache.hadoop.hbase.mapreduce.TableSnapshotInputFormat) on GCP Dataflow, the following error will be throw if the file is compressed by snappy:

       

      
      java.io.IOException: Failed to start reading from source: org.apache.beam.sdk.io.hadoop.format.HadoopFormatIO$HadoopInputFor
       matBoundedSource@311fa603
      
      ...
      
      Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support.
        
      

      There is very little one can do from within pipeline job code unless rewriting the IO class, so it might make sense to include these native libraries for Hadoop IOs

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              lobatt Cheng Li
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: