在IBM DSX上,我遇到以下問題。新的SQLContext:Spark 1.6向後兼容Spark 2.1
有關DSX這是星火1.6粒/是必要的,以避免與metastore_db
和HiveContext
問題,創造新SQLContext對象:http://stackoverflow.com/questions/38117849/you-must-build-spark-with-hive-export-spark-hive-true/38118112#38118112
下面的代碼片段中使用的Spark 1.6實現,都跑了星火2.0.2,而不是2.1星火:
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.createDataFrame([(1, "a"), (2, "b"), (3, "c"), (4, "d")], ("k", "v"))
df.count()
和
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
properties= {
'jdbcurl': 'JDBCURL',
'user': 'USER',
'password': 'PASSWORD!'
}
data_df_1 = sqlContext.read.jdbc(properties['jdbcurl'], table='GOSALES.BRANCH', properties=properties)
data_df_1.head()
我得到這個錯誤:
IllegalArgumentException: u"Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':"
但是,當我再次執行相同的代碼時,它再次工作。