Arvind Surve created SYSTEMML-1951:
--------------------------------------

             Summary: Spark Dataframe not recognized when passed through 
Python/MLContext
                 Key: SYSTEMML-1951
                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1951
             Project: SystemML
          Issue Type: Bug
            Reporter: Arvind Surve
         Attachments: X.csv, recreate.py, y.csv

When Spark DataFrame was passed to SystemML, it throws an exception: 
"getMatrixObject not set for parameter: X"

Traceback (most recent call last):
  File 
"/Users/asurve/git/systemml_dl/systemml/scripts/perftest/data/./recreate.py", 
line 31, in <module>
    w = ml.execute(prog).get('beta_out')
  File "/usr/local/lib/python2.7/site-packages/systemml/mlcontext.py", line 
722, in execute
    return MLResults(self._ml.execute(script_java), self._sc)
  File 
"/Users/asurve/Documents/Docs/SystemML/Spark/downloads/spark-2.0.2-bin-hadoop2.7/python/lib/py4j-0.10.3-src.zip/py4j/java_gateway.py",
 line 1133, in __call__
  File 
"/Users/asurve/Documents/Docs/SystemML/Spark/downloads/spark-2.0.2-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/utils.py",
 line 63, in deco
  File 
"/Users/asurve/Documents/Docs/SystemML/Spark/downloads/spark-2.0.2-bin-hadoop2.7/python/lib/py4j-0.10.3-src.zip/py4j/protocol.py",
 line 319, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o57.execute.
: org.apache.sysml.api.mlcontext.MLContextException: Exception when executing 
script
        at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:359)
        at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:332)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:237)
        at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
        at py4j.Gateway.invoke(Gateway.java:280)
        at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
        at py4j.commands.CallCommand.execute(CallCommand.java:79)
        at py4j.GatewayConnection.run(GatewayConnection.java:214)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.sysml.api.mlcontext.MLContextException: getMatrixObject 
not set for parameter: X
        at 
org.apache.sysml.api.mlcontext.MLContext$InternalProxy.getMatrixObject(MLContext.java:591)
        at 
org.apache.sysml.api.mlcontext.MLContext$InternalProxy.setAppropriateVarsForRead(MLContext.java:535)
        at 
org.apache.sysml.utils.MLContextProxy.setAppropriateVarsForRead(MLContextProxy.java:58)
        at 
org.apache.sysml.parser.StatementBlock.validateAssignmentStatement(StatementBlock.java:629)
        at 
org.apache.sysml.parser.StatementBlock.validate(StatementBlock.java:579)
        at 
org.apache.sysml.parser.DMLTranslator.validateParseTree(DMLTranslator.java:158)
        at 
org.apache.sysml.api.mlcontext.ScriptExecutor.validateScript(ScriptExecutor.java:546)
        at 
org.apache.sysml.api.mlcontext.ScriptExecutor.compile(ScriptExecutor.java:308)
        at 
org.apache.sysml.api.mlcontext.ScriptExecutor.compile(ScriptExecutor.java:267)
        at 
org.apache.sysml.api.mlcontext.ScriptExecutor.execute(ScriptExecutor.java:344)
        at org.apache.sysml.api.mlcontext.MLContext.execute(MLContext.java:355)
        ... 12 more


How to recreate?
   Download all attached files in a folder and run 
   spark-submit recreate.py

Problem exist on SystemML 0.14 as well latest code.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to