Packages

c

com.dataforgelabs.sdk

IngestionSession

class IngestionSession extends App with CustomIngest

Establishes an input record and a process record for the custom ingestion process. Also starts a heartbeat that allows DataForge to track the health of the process. When running manually, must use one of the below constructors. Otherwise, no parameters are necessary.

Linear Supertypes
CustomIngest, Util, App, DelayedInit, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IngestionSession
  2. CustomIngest
  3. Util
  4. App
  5. DelayedInit
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new IngestionSession(inSourceName: String, inProjectName: String)
  2. new IngestionSession(inSourceName: String)
  3. new IngestionSession()
  4. new IngestionSession(inEnvironment: String, inSourceName: String, inProjectName: String)

    inEnvironment

    The DataForge environment this ingestion should be run against. Not required, deprecated in release 2.5

    inSourceName

    The DataForge source name this ingestion should be run against. Mandatory when running manually.

    inProjectName

    The DataForge project name this ingestion should be run against. If not provided, Default project will be used.

Type Members

  1. case class LatestTrackingFields(sTimestamp: Option[String], sSequence: Option[Long], inputId: Option[Int], extractDatetime: Option[String]) extends Product with Serializable

    Fields tracking the latest ingestion event from the source.

    Fields tracking the latest ingestion event from the source.

    sTimestamp

    Optional timestamp of the last ingestion event

    sSequence

    Optional sequence number from the source

    inputId

    Optional input ID associated with the event

    extractDatetime

    Optional extraction datetime from the source

  2. case class NormalizedAttribute(rawAttributeName: String, columnAlias: String, hiveDdlType: String, upcastExpr: Option[String]) extends Product with Serializable
    Definition Classes
    Util

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit val AttributeSchemaReads: Reads[NormalizedAttribute]
    Definition Classes
    Util
  5. def args: Array[String]
    Attributes
    protected
    Definition Classes
    App
    Annotations
    @deprecatedOverriding( "args should not be overridden" , "2.11.0" )
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  8. def close: Unit
    Attributes
    protected
    Definition Classes
    Util
  9. lazy val cloud: String
    Attributes
    protected
    Definition Classes
    Util
  10. implicit val config: Aux[MacroOptions]
    Definition Classes
    Util
  11. lazy val connectionId: Option[Int]
    Attributes
    protected
    Definition Classes
    Util
  12. def connectionParameters: JsObject

    Retrieves secure connection parameters from the Databricks Secret store, including public and encrypted private credentials.

    Retrieves secure connection parameters from the Databricks Secret store, including public and encrypted private credentials.

    returns

    JSON object containing connection parameters

  13. def convertToObject(j: JsValue): Object
    Attributes
    protected
    Definition Classes
    Util
  14. def coreApiCall(route: String, verb: String = "GET", body: Option[JsValue] = None): JsValue
    Attributes
    protected
    Definition Classes
    Util
  15. val coreUri: String
    Attributes
    protected
    Definition Classes
    Util
  16. lazy val customParameters: JsObject

    Custom parameters for the ingestion process, supplied via the source configuration.

    Custom parameters for the ingestion process, supplied via the source configuration.

    returns

    JSON object mapping custom parameters

    Definition Classes
    IngestionSessionCustomIngest
  17. lazy val datalakePath: String
    Attributes
    protected
    Definition Classes
    CustomIngest
  18. lazy val destFilePath: String
    Attributes
    protected
    Definition Classes
    CustomIngest
  19. def endProcess(parameters: JsObject): Unit
    Attributes
    protected
    Definition Classes
    Util
  20. lazy val environment: String
    Attributes
    protected
    Definition Classes
    Util
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  23. val executionStart: Long
    Definition Classes
    App
    Annotations
    @deprecatedOverriding( ... , "2.11.0" )
  24. def fail(message: String): Unit

    Fails the ingestion process, marking the process and input as failed and writing a failure log.

    Fails the ingestion process, marking the process and input as failed and writing a failure log.

    message

    The log message to write along with the failure.

  25. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. lazy val forceCaseInsensitiveFlag: Boolean
    Attributes
    protected
    Definition Classes
    CustomIngest
  27. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  28. def getConnectionParameters: JsObject
    Attributes
    protected
    Definition Classes
    Util
  29. def getProcessSourceName(processId: Int): String
    Attributes
    protected
    Definition Classes
    Util
  30. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  31. def ingest(getDataFrame: () ⇒ DataFrame): Unit

    Performs the heavy lifting of the custom ingestion process, executing user code, normalizing the DataFrame, and writing to the DataForge datalake.

    Performs the heavy lifting of the custom ingestion process, executing user code, normalizing the DataFrame, and writing to the DataForge datalake.

    getDataFrame

    A function that takes no parameters and returns a DataFrame; this will be executed and normalized for ingestion

  32. lazy val inputId: Int
    Attributes
    protected
    Definition Classes
    CustomIngest
  33. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  34. lazy val jobRunId: Option[Int]
    Attributes
    protected
    Definition Classes
    Util
  35. lazy val latestTrackingFields: LatestTrackingFields

    Latest tracking fields based on the source's most recent inputs.

    Latest tracking fields based on the source's most recent inputs.

    returns

    LatestTrackingFields instance with optional timestamp, sequence, input ID, and extraction datetime

  36. implicit lazy val latestTrackingFieldsReads: Reads[LatestTrackingFields]

    JSON Reads for LatestTrackingFields used to parse tracking fields from the process response.

  37. def log(message: String): Unit

    Writes a log for the ingestion process.

    Writes a log for the ingestion process. The logs will be visible in the DataForge UI. Severity will default to "I"

    message

    The log message to record.

  38. def log(message: String, severity: String): Unit

    Writes a log for the ingestion process.

    Writes a log for the ingestion process. The logs will be visible in the DataForge UI.

    message

    The log message to record.

    severity

    1 character to describe severity. Typically "I" for info or "E" for error.

  39. def logFail(e: Exception): Unit
    Attributes
    protected
    Definition Classes
    Util
  40. lazy val logId: Int
    Attributes
    protected
    Definition Classes
    CustomIngestUtil
  41. val logger: Logger
    Attributes
    protected
    Definition Classes
    Util
  42. def main(args: Array[String]): Unit
    Definition Classes
    App
    Annotations
    @deprecatedOverriding( "main should not be overridden" , "2.11.0" )
  43. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  44. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  45. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  46. lazy val originalProcessId: Option[Int]
    Attributes
    protected
    Definition Classes
    Util
  47. val packageName: String
    Definition Classes
    Util
  48. lazy val pgConnectionLog: Connection
    Attributes
    protected
    Definition Classes
    Util
  49. implicit lazy val pgConnectionMain: Connection
    Attributes
    protected
    Definition Classes
    Util
  50. lazy val pgConnectionString: String
    Attributes
    protected
    Definition Classes
    Util
  51. val pgConnectionStringRead: String
    Attributes
    protected
    Definition Classes
    Util
  52. lazy val process: JsValue

    Starts a new ingestion process in the DataForge backend.

    Starts a new ingestion process in the DataForge backend.

    returns

    JSON value containing process details and tracking information

    Definition Classes
    IngestionSessionCustomIngestUtil
  53. lazy val processId: Int
    Attributes
    protected
    Definition Classes
    CustomIngestUtil
  54. def runIngest(getDataFrame: () ⇒ DataFrame): Unit
    Attributes
    protected
    Definition Classes
    CustomIngest
  55. lazy val smtpSenderDomain: String
    Attributes
    protected
    Definition Classes
    Util
  56. lazy val sourceId: Int
    Attributes
    protected
    Definition Classes
    CustomIngest
  57. val spark: SparkSession
    Attributes
    protected
    Definition Classes
    Util
  58. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  59. val systemConfiguration: JsValue
    Attributes
    protected
    Definition Classes
    Util
  60. def toString(): String
    Definition Classes
    AnyRef → Any
  61. val version: String
    Definition Classes
    Util
  62. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  65. def writeLog(message: String, severity: String): Unit
    Attributes
    protected
    Definition Classes
    Util
  66. def writeParsedData(inDf: DataFrame, sourceId: Int, inputId: Int, destFilePath: String, forceCaseInsensitiveFlag: Boolean): (Long, Long)
    Attributes
    protected
    Definition Classes
    Util

Deprecated Value Members

  1. def delayedInit(body: ⇒ Unit): Unit
    Definition Classes
    App → DelayedInit
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) the delayedInit mechanism will disappear

Inherited from CustomIngest

Inherited from Util

Inherited from App

Inherited from DelayedInit

Inherited from AnyRef

Inherited from Any

Ungrouped