Package org.apache.pulsar.io.hdfs2.sink
Class HdfsAbstractSink<K,V>
- java.lang.Object
-
- org.apache.pulsar.io.hdfs2.AbstractHdfsConnector
-
- org.apache.pulsar.io.hdfs2.sink.HdfsAbstractSink<K,V>
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.apache.pulsar.io.core.Sink<V>
- Direct Known Subclasses:
HdfsAbstractSequenceFileSink,HdfsAbstractTextFileSink
public abstract class HdfsAbstractSink<K,V> extends AbstractHdfsConnector implements org.apache.pulsar.io.core.Sink<V>
A Simple abstract class for HDFS sink. Users need to implement extractKeyValue function to use this sink.
-
-
Field Summary
Fields Modifier and Type Field Description protected HdfsSinkConfighdfsSinkConfigprotected HdfsSyncThread<V>syncThreadprotected java.util.concurrent.BlockingQueue<org.apache.pulsar.functions.api.Record<V>>unackedRecords-
Fields inherited from class org.apache.pulsar.io.hdfs2.AbstractHdfsConnector
compressionCodecFactory, connectorConfig, hdfsResources
-
-
Constructor Summary
Constructors Constructor Description HdfsAbstractSink()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()protected voidconnectToHdfs()protected abstract voidcreateWriter()abstract org.apache.pulsar.io.core.KeyValue<K,V>extractKeyValue(org.apache.pulsar.functions.api.Record<V> record)protected org.apache.hadoop.fs.FSDataOutputStreamgetHdfsStream()protected org.apache.hadoop.fs.PathgetPath()protected voidlaunchSyncThread()voidopen(java.util.Map<java.lang.String,java.lang.Object> config, org.apache.pulsar.io.core.SinkContext sinkContext)-
Methods inherited from class org.apache.pulsar.io.hdfs2.AbstractHdfsConnector
checkHdfsUriForTimeout, getCompressionCodec, getCompressionCodecFactory, getConfiguration, getEncoding, getFileSystem, getFileSystem, getFileSystemAsUser, getUserGroupInformation, resetHDFSResources
-
-
-
-
Field Detail
-
hdfsSinkConfig
protected HdfsSinkConfig hdfsSinkConfig
-
unackedRecords
protected java.util.concurrent.BlockingQueue<org.apache.pulsar.functions.api.Record<V>> unackedRecords
-
syncThread
protected HdfsSyncThread<V> syncThread
-
-
Method Detail
-
extractKeyValue
public abstract org.apache.pulsar.io.core.KeyValue<K,V> extractKeyValue(org.apache.pulsar.functions.api.Record<V> record)
-
createWriter
protected abstract void createWriter() throws java.io.IOException- Throws:
java.io.IOException
-
open
public void open(java.util.Map<java.lang.String,java.lang.Object> config, org.apache.pulsar.io.core.SinkContext sinkContext) throws java.lang.Exception- Specified by:
openin interfaceorg.apache.pulsar.io.core.Sink<K>- Throws:
java.lang.Exception
-
close
public void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.lang.Exception
-
connectToHdfs
protected final void connectToHdfs() throws java.io.IOException- Throws:
java.io.IOException
-
getHdfsStream
protected org.apache.hadoop.fs.FSDataOutputStream getHdfsStream() throws java.lang.IllegalArgumentException, java.io.IOException- Throws:
java.lang.IllegalArgumentExceptionjava.io.IOException
-
getPath
protected final org.apache.hadoop.fs.Path getPath()
-
launchSyncThread
protected final void launchSyncThread() throws java.io.IOException- Throws:
java.io.IOException
-
-