trait ScioIO[T] extends AnyRef
Base trait for all Read/Write IO classes. Every IO connector must implement this. This trait has two abstract implicit methods #read, #write that need to be implemented in every subtype. Look at the com.spotify.scio.io.TextIO subclass for a reference implementation. IO connectors can choose to override #readTest and #writeTest if custom test logic is necessary.
- Source
- ScioIO.scala
- Alphabetic
- By Inheritance
- ScioIO
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def read(sc: ScioContext, params: ReadP): SCollection[T]
Read data according to the read configuration provided in
params
as an SCollection.Read data according to the read configuration provided in
params
as an SCollection.- Attributes
- protected
- abstract def tap(read: ReadP): Tap[T]
Write options also return a
ClosedTap
.Write options also return a
ClosedTap
. Once the job completes you can open theTap
. Tap abstracts away the logic of reading the dataset directly as an Iterator[T] or re-opening it in another ScioContext. The Future is complete once the job finishes. This can be used to do light weight pipeline orchestration e.g. WordCountOrchestration.scala. - abstract val tapT: TapT[T]
Output tap type.
Output tap type.
This _must_ be a stable value (a
val
, not adef
) in every implementation, otherwise the return type of write cannot be inferred. - abstract def write(data: SCollection[T], params: WriteP): Tap[T]
Write
data
out according to write configuration provided inparams
, returning the Tap type.Write
data
out according to write configuration provided inparams
, returning the Tap type.- Attributes
- protected
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def readTest(sc: ScioContext, params: ReadP): SCollection[T]
Called only in a JobTest.
Called only in a JobTest. Return test data for this
testId
as an SCollection- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def testId: String
Identifier for JobTest IO matching
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def writeTest(data: SCollection[T], params: WriteP): Tap[T]
Called only in a JobTest.
Called only in a JobTest. Write
data
to TestDataManager output and return the Tap type- Attributes
- protected