在命令行界面中初始化spark时,默认情况下sparkcontext初始化为sc,sqlcontext初始化为sqlcontext。
但是我需要hivecontext,因为我正在使用一个函数 collect_list
sparkcontext不支持,但hivecontext支持。既然hivecontext是sparkcontext的一个超类,那么它应该可以工作,但事实并非如此。
如何使用spark cli在scala中初始化hivecontext?
在命令行界面中初始化spark时,默认情况下sparkcontext初始化为sc,sqlcontext初始化为sqlcontext。
但是我需要hivecontext,因为我正在使用一个函数 collect_list
sparkcontext不支持,但hivecontext支持。既然hivecontext是sparkcontext的一个超类,那么它应该可以工作,但事实并非如此。
如何使用spark cli在scala中初始化hivecontext?
3条答案
按热度按时间jljoyd4f1#
您可以按照以下步骤进行操作:
r1zk6ea12#
在sparkshell中,默认情况下sqlcontext是hivecontext的示例。你可以在我之前的回答中看到。
尽管如此,
collect_list
在spark 1.5.2中不可用。它是在spark 1.6中引入的,所以您可以找到它是很正常的。参考文献:https://github.com/apache/spark/blob/v1.6.2/sql/core/src/main/scala/org/apache/spark/sql/functions.scala#l213
你也不需要导入
org.apache.spark.sql.functions._
在贝壳里。默认情况下导入。dojqjjoe3#
sqlcontext是hivecontext
[编辑]
在使用之前导入函数。