默认情况下,在命令行接口中初始化星火时,SparkContext被初始化为sc,sqlContext初始化为SQLContext。
但是我需要HiveContext,因为我使用的是一个函数collect_list,它不是SparkContext支持的,而是由HiveContext支持的。因为HiveContext是SparkContext的超类,所以它应该能工作,但它不是。
如何使用Spark 在Scala中初始化HiveContext
发布于 2016-07-04 07:33:10
在星火壳中,sqlContext默认是HiveContext的一个实例。你可以在我以前的回答中读到这一点,here。
尽管如此,spark 1.5.2中没有collect_list。它是在火花1.6中引入的,所以你可以找到它是很正常的。
另外,您也不需要在shell中导入org.apache.spark.sql.functions._。默认情况下是导入的。
发布于 2018-03-13 09:19:48
您可以通过以下步骤来做到这一点:
import org.apache.spark.sql.hive.HiveContext
val sqlContext = new HiveContext(sc)
val depts = sqlContext.sql("select * from departments")`发布于 2016-07-04 06:52:22
sqlContext是一个HiveContext
scala> sqlContext
res11: org.apache.spark.sql.SQLContext = org.apache.spark.sql.hive.HiveContext@4756c8f3编辑
在使用之前导入函数。
import org.apache.spark.sql.functions._ https://stackoverflow.com/questions/38178311
复制相似问题