DATAFU-153 datafu-spark support for Python 3
Signed-off-by: Matthew Hayes <mhayes@apache.org>
diff --git a/datafu-spark/src/main/scala/spark/utils/overwrites/SparkPythonRunner.scala b/datafu-spark/src/main/scala/spark/utils/overwrites/SparkPythonRunner.scala
index 5ca9f0d..36e8615 100644
--- a/datafu-spark/src/main/scala/spark/utils/overwrites/SparkPythonRunner.scala
+++ b/datafu-spark/src/main/scala/spark/utils/overwrites/SparkPythonRunner.scala
@@ -110,13 +110,16 @@
writer: BufferedWriter,
reader: BufferedReader): String = {
writer.write("import traceback\n")
+ writer.write("import sys\n")
writer.write("try:\n")
- writer.write(" execfile('" + filename + "')\n")
+ writer.write(" if sys.version_info < (3, 0):\n")
+ writer.write(s" execfile('$filename')\n")
+ writer.write(" else:\n")
+ writer.write(s" exec(open('$filename').read())\n")
writer.write(" print (\"*!?flush reader!?*\")\n")
writer.write("except Exception as e:\n")
writer.write(" traceback.print_exc()\n")
writer.write(" print (\"*!?flush error reader!?*\")\n\n")
-// writer.write(" exit(1)\n\n")
writer.flush()
var output = ""
var line: String = reader.readLine
diff --git a/datafu-spark/src/test/resources/python_tests/pyfromscala.py b/datafu-spark/src/test/resources/python_tests/pyfromscala.py
index 3162ff4..03fcf92 100644
--- a/datafu-spark/src/test/resources/python_tests/pyfromscala.py
+++ b/datafu-spark/src/test/resources/python_tests/pyfromscala.py
@@ -28,7 +28,7 @@
import os
-print os.getcwd()
+print(os.getcwd())
###############################################################
@@ -70,9 +70,9 @@
txt_df = sqlContext.read.csv('src/test/resources/text.csv', sep=DEL, schema=schema)
-print type(txt_df)
-print dir(txt_df)
-print txt_df.count()
+print(type(txt_df))
+print(dir(txt_df))
+print(txt_df.count())
txt_df.show()