Class

com.ebiznext.comet.job.ingest

SimpleJsonIngestionJob

Related Doc: package ingest

Permalink

class SimpleJsonIngestionJob extends DsvIngestionJob

Parse a simple one level json file. Complex types such as arrays & maps are not supported. Use JsonIngestionJob instead. This class is for simple json only that makes it way faster.

Linear Supertypes
DsvIngestionJob, IngestionJob, SparkJob, JobBase, StrictLogging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SimpleJsonIngestionJob
  2. DsvIngestionJob
  3. IngestionJob
  4. SparkJob
  5. JobBase
  6. StrictLogging
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SimpleJsonIngestionJob(domain: Domain, schema: Schema, types: List[Type], path: List[Path], storageHandler: StorageHandler, schemaHandler: SchemaHandler, options: Map[String, String])(implicit settings: Settings)

    Permalink

    domain

    : Input Dataset Domain

    schema

    : Input Dataset Schema

    types

    : List of globally defined types

    path

    : Input dataset path

    storageHandler

    : Storage Handler

Type Members

  1. type JdbcConfigName = String

    Permalink
    Definition Classes
    JobBase

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def analyze(fullTableName: String): Any

    Permalink
    Attributes
    protected
    Definition Classes
    SparkJob
  5. def appendToFile(storageHandler: StorageHandler, dataToSave: DataFrame, path: Path, datasetName: String, tableName: String): Unit

    Permalink

    Saves a dataset.

    Saves a dataset. If the path is empty (the first time we call metrics on the schema) then we can write.

    If there's already parquet files stored in it, then create a temporary directory to compute on, and flush the path to move updated metrics in it

    dataToSave

    : dataset to be saved

    path

    : Path to save the file at

    Attributes
    protected
    Definition Classes
    SparkJob
  6. def applyIgnore(dfIn: DataFrame): Dataset[Row]

    Permalink
    Attributes
    protected
    Definition Classes
    IngestionJob
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def createSparkViews(views: Views, sqlParameters: Map[String, String]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SparkJob
  10. val domain: Domain

    Permalink

    : Input Dataset Domain

    : Input Dataset Domain

    Definition Classes
    DsvIngestionJobIngestionJob
  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def getWriteMode(): WriteMode

    Permalink
    Definition Classes
    IngestionJob
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. def ingest(dataset: DataFrame): (RDD[_], RDD[_])

    Permalink

    Apply the schema to the dataset.

    Apply the schema to the dataset. This is where all the magic happen Valid records are stored in the accepted path / table and invalid records in the rejected path / table

    dataset

    : Spark Dataset

    Attributes
    protected
    Definition Classes
    DsvIngestionJobIngestionJob
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. def loadDataSet(): Try[DataFrame]

    Permalink

    Load dataset using spark csv reader and all metadata.

    Load dataset using spark csv reader and all metadata. Does not infer schema. columns not defined in the schema are dropped fro the dataset (require datsets with a header)

    returns

    Spark Dataset

    Attributes
    protected
    Definition Classes
    SimpleJsonIngestionJobDsvIngestionJobIngestionJob
  20. val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    StrictLogging
  21. lazy val metadata: Metadata

    Permalink

    Merged metadata

    Merged metadata

    Definition Classes
    IngestionJob
  22. def name: String

    Permalink

    returns

    Spark Job name

    Definition Classes
    DsvIngestionJobJobBase
  23. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  24. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. val now: Timestamp

    Permalink
    Definition Classes
    IngestionJob
  27. val options: Map[String, String]

    Permalink

    : Parameters to pass as input (k1=v1,k2=v2,k3=v3)

    : Parameters to pass as input (k1=v1,k2=v2,k3=v3)

    Definition Classes
    DsvIngestionJobIngestionJob
  28. def parseViewDefinition(valueWithEnv: String): (SinkType, Option[JdbcConfigName], String)

    Permalink
    Attributes
    protected
    Definition Classes
    JobBase
  29. def partitionDataset(dataset: DataFrame, partition: List[String]): DataFrame

    Permalink
    Attributes
    protected
    Definition Classes
    SparkJob
  30. def partitionedDatasetWriter(dataset: DataFrame, partition: List[String]): DataFrameWriter[Row]

    Permalink

    Partition a dataset using dataset columns.

    Partition a dataset using dataset columns. To partition the dataset using the ingestion time, use the reserved column names :

    • comet_date
    • comet_year
    • comet_month
    • comet_day
    • comet_hour
    • comet_minute These columns are renamed to "date", "year", "month", "day", "hour", "minute" in the dataset and their values is set to the current date/time.
    dataset

    : Input dataset

    partition

    : list of columns to use for partitioning.

    returns

    The Spark session used to run this job

    Attributes
    protected
    Definition Classes
    SparkJob
  31. val path: List[Path]

    Permalink

    : Input dataset path

    : Input dataset path

    Definition Classes
    DsvIngestionJobIngestionJob
  32. def registerUdf(udf: String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SparkJob
  33. def reorderAttributes(dataFrame: DataFrame): List[Attribute]

    Permalink
    Definition Classes
    IngestionJob
  34. def run(): Try[JobResult]

    Permalink

    Main entry point as required by the Spark Job interface

    Main entry point as required by the Spark Job interface

    returns

    : Spark Session used for the job

    Definition Classes
    IngestionJobJobBase
  35. def saveAccepted(acceptedRDD: RDD[Row], orderedSparkTypes: StructType): (DataFrame, Path)

    Permalink
    Attributes
    protected
    Definition Classes
    DsvIngestionJob
  36. def saveAccepted(acceptedDF: DataFrame): (DataFrame, Path)

    Permalink

    Merge new and existing dataset if required Save using overwrite / Append mode

    Merge new and existing dataset if required Save using overwrite / Append mode

    Attributes
    protected
    Definition Classes
    IngestionJob
  37. def saveRejected(rejectedRDD: RDD[String]): Try[Path]

    Permalink
    Attributes
    protected
    Definition Classes
    IngestionJob
  38. val schema: Schema

    Permalink

    : Input Dataset Schema

    : Input Dataset Schema

    Definition Classes
    DsvIngestionJobIngestionJob
  39. val schemaHandler: SchemaHandler

    Permalink
    Definition Classes
    DsvIngestionJobIngestionJob
  40. val schemaHeaders: List[String]

    Permalink

    dataset Header names as defined by the schema

    dataset Header names as defined by the schema

    Definition Classes
    DsvIngestionJob
  41. lazy val session: SparkSession

    Permalink
    Definition Classes
    SparkJob
  42. implicit val settings: Settings

    Permalink
    Definition Classes
    DsvIngestionJobJobBase
  43. lazy val sparkEnv: SparkEnv

    Permalink
    Definition Classes
    SparkJob
  44. val storageHandler: StorageHandler

    Permalink

    : Storage Handler

    : Storage Handler

    Definition Classes
    DsvIngestionJobIngestionJob
  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  46. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  47. val types: List[Type]

    Permalink

    : List of globally defined types

    : List of globally defined types

    Definition Classes
    DsvIngestionJobIngestionJob
  48. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  49. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  50. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from DsvIngestionJob

Inherited from IngestionJob

Inherited from SparkJob

Inherited from JobBase

Inherited from StrictLogging

Inherited from AnyRef

Inherited from Any

Ungrouped