final case class GenericRecordParseIO[T](path: String, parseFn: (GenericRecord) => T)(implicit evidence$2: Coder[T]) extends ScioIO[T] with Product with Serializable
Given a parseFn, read GenericRecord and apply a function mapping => T before producing output. This IO applies the function at the time of de-serializing Avro GenericRecords.
This IO doesn't define write, and should not be used to write Avro GenericRecords.
- Source
- AvroIO.scala
- Alphabetic
- By Inheritance
- GenericRecordParseIO
- Serializable
- Product
- Equals
- ScioIO
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GenericRecordParseIO(path: String, parseFn: (GenericRecord) => T)(implicit arg0: Coder[T])
Type Members
- type ReadP = ReadParam[GenericRecord]
Read parameter type
Read parameter type
- Definition Classes
- GenericRecordParseIO → ScioIO
- type WriteP = Nothing
Write parameter type
Write parameter type
- Definition Classes
- GenericRecordParseIO → ScioIO
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 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()
- 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()
- val parseFn: (GenericRecord) => T
- val path: String
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def read(sc: ScioContext, params: ReadP): SCollection[T]
Get an SCollection[T] by applying the parseFn on GenericRecord from an Avro file.
Get an SCollection[T] by applying the parseFn on GenericRecord from an Avro file.
- Attributes
- protected
- Definition Classes
- GenericRecordParseIO → ScioIO
- 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
- Definition Classes
- ScioIO
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tap(read: ReadP): Tap[Nothing]
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.- Definition Classes
- GenericRecordParseIO → ScioIO
- val tapT: Aux[T, Nothing]
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.- Definition Classes
- GenericRecordParseIO → ScioIO
- def testId: String
Identifier for JobTest IO matching
Identifier for JobTest IO matching
- Definition Classes
- GenericRecordParseIO → ScioIO
- 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 write(data: SCollection[T], params: Nothing): Tap[Nothing]
Writes are undefined for GenericRecordParseIO since it is used only for reading.
Writes are undefined for GenericRecordParseIO since it is used only for reading.
- Attributes
- protected
- Definition Classes
- GenericRecordParseIO → ScioIO
- def writeTest(data: SCollection[T], params: WriteP): Tap[(tapT)#T]
Called only in a JobTest.
Called only in a JobTest. Write
data
to TestDataManager output and return the Tap type- Attributes
- protected
- Definition Classes
- ScioIO