j143 commented on a change in pull request #893:
URL: https://github.com/apache/systemml/pull/893#discussion_r415398205



##########
File path: src/main/java/org/apache/sysds/runtime/util/UtilFunctions.java
##########
@@ -41,6 +36,18 @@
 import org.apache.sysds.runtime.matrix.data.Pair;
 import org.apache.sysds.runtime.meta.TensorCharacteristics;
 
+import java.util.ArrayList;

Review comment:
       Changes such as 
   1. Formatting (whitespace addition/removal)
   2. Rearragement of imports
   
   These kind of changes, we cannot be decisive. Now, the reviewing person 
needs to be able give OK for the functionality and formatting changes.
   **TL;DR**: If there is a need for change of formatting opening a separate PR 
would be more helpful.
   

##########
File path: 
src/test/java/org/apache/sysds/test/functions/federated/FederatedConstructionTest.java
##########
@@ -62,28 +70,59 @@ public void setUp() {
        }
 
        @Test
-       public void federatedConstructionCP() {
-               federatedConstruction(Types.ExecMode.SINGLE_NODE);
+       public void federatedMatrixConstructionCP() {
+               federatedMatrixConstruction(Types.ExecMode.SINGLE_NODE);
+       }
+
+       @Test
+       public void federatedMatrixConstructionSP() {
+               federatedMatrixConstruction(Types.ExecMode.SPARK);
        }
 
+       public void federatedMatrixConstruction(Types.ExecMode execMode) {
+               getAndLoadTestConfiguration(TEST_NAME);
+               // write input matrix
+               double[][] A = getRandomMatrix(rows, cols, -1, 1, 1, 1234);
+               writeInputMatrixWithMTD("A", A, false, new 
MatrixCharacteristics(rows, cols, blocksize, rows * cols));
+               federatedConstruction(execMode, MATRIX_TEST_FILE_NAME, "A", 
null);
+       }
+       
        @Test
-       public void federatedConstructionSP() {
-               federatedConstruction(Types.ExecMode.SPARK);
+       public void federatedFrameConstructionCP() throws IOException {
+               federatedFrameConstruction(Types.ExecMode.SINGLE_NODE);
+       }
+       
+       /* like other federated functionality, SPARK execution mode is not yet 
working (waiting for better integration

Review comment:
       Should we mark this a TODO.

##########
File path: src/test/java/org/apache/sysds/test/TestUtils.java
##########
@@ -268,78 +268,171 @@ else if (Integer.parseInt(expRcn[2]) != 
Integer.parseInt(rcn[2])) {
                        fail("unable to read file: " + e.getMessage());
                }
        }
-
+       
        /**
         * <p>
-        * Compares the expected values calculated in Java by testcase and 
which are
-        * in the normal filesystem, with those calculated by SystemDS located 
in
-        * HDFS
+        * Read the cell values of the expected file and actual files. Schema 
is used for correct parsing if the file is a
+        * frame and if it is null FP64 will be used for all values (useful for 
Matrices).
         * </p>
-        * 
-        * @param expectedFile
-        *            file with expected values, which is located in OS 
filesystem
-        * @param actualDir
-        *            file with actual values, which is located in HDFS
-        * @param epsilon
-        *            tolerance for value comparison
+        *
+        * @param schema         the schema of the frame, can be null (for FP64)
+        * @param expectedFile   the file with expected values
+        * @param actualDir      the directory where the actual values were 
written
+        * @param expectedValues the HashMap where the expected values will be 
written to
+        * @param actualValues   the HashMap where the actual values will be 
written to
         */
-       @SuppressWarnings("resource")
-       public static void compareDMLMatrixWithJavaMatrix(String expectedFile, 
String actualDir, double epsilon) {
+       private static void readActualAndExpectedFile(ValueType[] schema, 
String expectedFile, String actualDir,
+               HashMap<CellIndex, Object> expectedValues, HashMap<CellIndex, 
Object> actualValues) {
                try {
                        Path outDirectory = new Path(actualDir);
                        Path compareFile = new Path(expectedFile);
                        FileSystem fs = 
IOUtilFunctions.getFileSystem(outDirectory, conf);
                        FSDataInputStream fsin = fs.open(compareFile);
-                       
-                       HashMap<CellIndex, Double> expectedValues = new 
HashMap<>();
-                       
-                       try( BufferedReader compareIn = new BufferedReader(new 
InputStreamReader(fsin)) ) {
+
+                       try(BufferedReader compareIn = new BufferedReader(new 
InputStreamReader(fsin))) {

Review comment:
       The test configuration has been modified, would you mind rebasing the 
latest.

##########
File path: 
src/main/java/org/apache/sysds/runtime/controlprogram/caching/FrameObject.java
##########
@@ -155,15 +182,46 @@ public long getNumColumns() {
                return dc.getCols();
        }
        
+       private FrameBlock readFederated() {
+               FrameBlock result = new FrameBlock(_schema);
+               // provide long support?

Review comment:
       `int` may not be sufficient. Either this be marked a TODO or rationally 
assume to that cases would fall within range.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to