2017-09-26 177 views
1

我正在使用SparkR构建一些旧代码的新版本。在这样的如何解决“sql(sqlContext ...)'已弃用”SparkR中的警告

hiveContext <- sparkRHive.init(sc) 
hive_db = 'our_database' 
db <- sql(hiveContext, paste0("use ", hive_db)) 

块我听说'sparkRHive.init' is deprecated. Use 'sparkR.session' instead.那么,好,好,我现在有:

hiveContext <- sparkR.session(sc) 
hive_db = 'our_database' 
db <- sql(hiveContext, paste0("use ", hive_db)) 

这将运行,但现在的Spark警告'sql(sqlContext...)' is deprecated. Use 'sql(sqlQuery)' instead.我在一个损失它在这里期待什么样的输入并希望解决这个问题。有没有人想过要在这里做什么?

回答

2

由于Spark 2.0 sql和其他函数的数量(如createDataFrame)不需要SQLContext实例。只是:

sql(paste0("use ", hive_db)) 

在内部,这将使用getSparkSession检索会话对象。

+0

完美工作。感谢您的解释。奇怪的对象,那些SparkContexts ... –