aboutsummaryrefslogtreecommitdiff
path: root/python/pyspark/sql
diff options
context:
space:
mode:
authorDavies Liu <davies@databricks.com>2015-02-17 15:44:37 -0800
committerMichael Armbrust <michael@databricks.com>2015-02-17 15:44:37 -0800
commit4d4cc760fa9687ce563320094557ef9144488676 (patch)
tree4293fdd83f5c6872783b9fc8a377b019ce847318 /python/pyspark/sql
parent3df85dccbc8fd1ba19bbcdb8d359c073b1494d98 (diff)
downloadspark-4d4cc760fa9687ce563320094557ef9144488676.tar.gz
spark-4d4cc760fa9687ce563320094557ef9144488676.tar.bz2
spark-4d4cc760fa9687ce563320094557ef9144488676.zip
[SPARK-5872] [SQL] create a sqlCtx in pyspark shell
The sqlCtx will be HiveContext if hive is built in assembly jar, or SQLContext if not. It also skip the Hive tests in pyspark.sql.tests if no hive is available. Author: Davies Liu <davies@databricks.com> Closes #4659 from davies/sqlctx and squashes the following commits: 0e6629a [Davies Liu] sqlCtx in pyspark
Diffstat (limited to 'python/pyspark/sql')
-rw-r--r--python/pyspark/sql/tests.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/python/pyspark/sql/tests.py b/python/pyspark/sql/tests.py
index aa80bca346..52f7e65d9c 100644
--- a/python/pyspark/sql/tests.py
+++ b/python/pyspark/sql/tests.py
@@ -25,6 +25,8 @@ import pydoc
import shutil
import tempfile
+import py4j
+
if sys.version_info[:2] <= (2, 6):
try:
import unittest2 as unittest
@@ -329,9 +331,12 @@ class HiveContextSQLTests(ReusedPySparkTestCase):
def setUpClass(cls):
ReusedPySparkTestCase.setUpClass()
cls.tempdir = tempfile.NamedTemporaryFile(delete=False)
+ try:
+ cls.sc._jvm.org.apache.hadoop.hive.conf.HiveConf()
+ except py4j.protocol.Py4JError:
+ cls.sqlCtx = None
+ return
os.unlink(cls.tempdir.name)
- print "type", type(cls.sc)
- print "type", type(cls.sc._jsc)
_scala_HiveContext =\
cls.sc._jvm.org.apache.spark.sql.hive.test.TestHiveContext(cls.sc._jsc.sc())
cls.sqlCtx = HiveContext(cls.sc, _scala_HiveContext)
@@ -344,6 +349,9 @@ class HiveContextSQLTests(ReusedPySparkTestCase):
shutil.rmtree(cls.tempdir.name, ignore_errors=True)
def test_save_and_load_table(self):
+ if self.sqlCtx is None:
+ return # no hive available, skipped
+
df = self.df
tmpPath = tempfile.mkdtemp()
shutil.rmtree(tmpPath)