CoxAutomotiveDataSolutions / waimak

Waimak is an open-source framework that makes it easier to create complex data flows in Apache Spark.
Apache License 2.0
75 stars 16 forks source link

Feature/any values in flow #3

Closed vavison closed 6 years ago

vavison commented 6 years ago

Description

When writing Spark data flows, we are currently restricted to having Dataset[_] as the type for action inputs and outputs. In some scenarios we wish to output other types of information such as counters, but the type restriction is preventing us from doing this.

This change allows Any values in the flow, removing the type parameter T from DataFlow completely.

This does not affect the high-level API, but it will affect any custom actions.

Type of change

How Has This Been Tested?

Changes to the tests were necessary to account for dropping the type parameter from DataFlow but otherwise they remained the same, and unit and integration tests are passing.

coveralls commented 6 years ago

Pull Request Test Coverage Report for Build 61


Changes Missing Coverage Covered Lines Changed/Added Lines %
waimak-azure-table/src/main/scala/waimak/azure/table/SparkAzureTable.scala 0 1 0.0%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/InterceptorAction.scala 1 2 50.0%
waimak-rdbm-export/src/main/scala/com/coxautodata/waimak/rdbm/export/MSSQLExportActions.scala 0 1 0.0%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/SimpleDataFlow.scala 2 4 50.0%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/DataFlowEntities.scala 17 20 85.0%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/spark/SimpleSparkDataFlow.scala 0 5 0.0%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/spark/SparkActions.scala 6 17 35.29%
<!-- Total: 51 75 68.0% -->
Files with Coverage Reduction New Missed Lines %
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/DataFlowEntities.scala 1 76.67%
waimak-core/src/main/scala/com/coxautodata/waimak/log/Logging.scala 1 23.08%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/DataFlow.scala 1 98.63%
waimak-rdbm-ingestion/src/main/scala/com/coxautodata/waimak/rdbm/ingestion/SQLServerTemporalExtractor.scala 1 83.33%
waimak-rdbm-ingestion/src/main/scala/com/coxautodata/waimak/rdbm/ingestion/RDBMIngestionActions.scala 1 94.59%
waimak-storage/src/main/scala/com/coxautodata/waimak/storage/AuditTableFile.scala 2 95.0%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/spark/SparkDataFlow.scala 2 84.09%
waimak-storage/src/main/scala/com/coxautodata/waimak/storage/StorageActions.scala 3 82.22%
waimak-core/src/main/scala/com/coxautodata/waimak/dataflow/spark/SparkActions.scala 4 65.96%
<!-- Total: 16 -->
Totals Coverage Status
Change from base Build 50: -0.6%
Covered Lines: 725
Relevant Lines: 1027

💛 - Coveralls