使用Spark SQL在Cassandra表上运行复杂的SQL查询

时间:2017-03-23 11:50:12

标签: scala apache-spark cassandra apache-spark-sql

这里我用Cassandra-spark连接器设置了Cassandra和Spark。我可以使用Scala创建RDD。但是我想在Cassandra表上使用Spark SQL运行复杂的SQL查询(聚合/分析函数/窗口函数),你能帮忙我该怎么办?getting error like this

以下是使用的查询: sqlContext.sql(    “”创建临时表单词      |使用org.apache.spark.sql.cassandra      |选项(      |表“字”,      |键空间“测试”,      |集群“测试集群”,      |下推“真实”      |)。 “”” stripMargin)

以下是错误:[在此输入图像说明] [2]

新错误: enter image description here

2 个答案:

答案 0 :(得分:0)

我在帖子中注意到的第一件事是,sqlContext.sql(...)在您的查询中使用,但您的屏幕截图显示sc.sql(...)

我将屏幕截图内容作为您的实际问题。在Spark shell中,一旦你加载了shell,SparkContext(sc)和SQLContext(sqlContext)都已经加载并准备好了。 sql(...)不会在SparkContext中退出,因此您应该尝试使用sqlContext.sql(...)

答案 1 :(得分:0)

最有可能在spark-shell上下文中以Spark Session开头,其值为spark。使用spark代替sqlContext来尝试您的命令。