[SYSTEMDS-2540] Rework stop exception and test framework

Throw exceptions out through main, not Logging. This will still print in
normal execution, but also allows tests to catch the errors correctly.

functional changes:

- If an error occurs in the system don't print stats to std.err
- Change Read CSV to use naString not na.string
This is done to enable inscript argument later for naString, on read
commands if the input file for the read is csv and contains
NA fields of different names. Such as `null` `na` `??` `Gibberish fact`

Fix Errors:

- Fix Error in MM reading
- Fix IO tests to expect Language Exception
- Fix StringAppendTest
- Fix Element wise binary matrix operations
- Fix Exception test in ToOneHot and MultiClassSVM
- Fix data Misc ReadMMTest to reflect correct Exceptions
- Fix typo in RewriteRemoveUnnecessaryCTableTest
- Fix Stop Tests
- Fix Language Exception in unary.scalar.ExponenetTest
- Fix Print Tests to use std out buffer not old method
- Fix unary.matrix.DiagTest to catch LanguageException not DML Exception
- Fix Aggregate Sum and Trace Test
- Fix Aggregate RowSum and Prod Test
- Fix Aggregate Max Min and NCol Test
- Fix Aggregate Length FullGroupedAggregateMatrix and ColSum
- Fix Aggregate NRow test
- Fix FullGroupedAggregateMatrix test
- Fix catch correct error type in ParamservSparkNNTest and
ParamservSyntaxTest
- Fix ParamServRuntimeNegativeTest
- Fix KMeans Infinite value by replace function
- Fix StepGLM test (by skipping invalid tests)

Closes #984.
234 files changed
tree: 692c44b449b55070fa95fa638fb53e4977ff32fe
  1. .github/
  2. bin/
  3. conf/
  4. dev/
  5. docker/
  6. docs/
  7. scripts/
  8. src/
  9. .gitattributes
  10. .gitignore
  11. CONTRIBUTING.md
  12. LICENSE
  13. NOTICE
  14. pom.xml
  15. README.md
README.md

Apache SystemDS

Overview: SystemDS is a versatile system for the end-to-end data science lifecycle from data integration, cleaning, and feature engineering, over efficient, local and distributed ML model training, to deployment and serving. To this end, we aim to provide a stack of declarative languages with R-like syntax for (1) the different tasks of the data-science lifecycle, and (2) users with different expertise. These high-level scripts are compiled into hybrid execution plans of local, in-memory CPU and GPU operations, as well as distributed operations on Apache Spark. In contrast to existing systems - that either provide homogeneous tensors or 2D Datasets - and in order to serve the entire data science lifecycle, the underlying data model are DataTensors, i.e., tensors (multi-dimensional arrays) whose first dimension may have a heterogeneous and nested schema.

Quick Start Install, Quick Start and Hello World

Documentation: SystemDS Documentation

Python Documentation Python SystemDS Documentation

Status and Build: SystemDS is still in pre-alpha status. The original code base was forked from Apache SystemML 1.2 in September 2018. We will continue to support linear algebra programs over matrices, while replacing the underlying data model and compiler, as well as substantially extending the supported functionalities. Until the first release, you can build your own snapshot via Apache Maven: mvn clean package -P distribution.

Build Documentation Component Test Application Test Function Test Python Test Federated Python Test