【问题标题】:Running complex SQL queries on Cassandra tables using Spark SQL使用 Spark SQL 在 Cassandra 表上运行复杂的 SQL 查询
【发布时间】:2017-08-15 22:59:34
【问题描述】:

这里我已经用 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

【问题讨论】:

  • Spark SQL 比 CQL 丰富,所以想用它来实现分析。
  • 我能够使用 scala 获取为 Cassandra 表创建的 rdds。 (我使用的是 Ubuntu 终端),但无法获得使用 spark-sql 查询 Cassandra 表的确切过程。你能帮忙吗
  • 以下命令用于根据以下问题之一启动 spark -sql:stackoverflow.com/questions/30293070/… 但出现错误。 $SPARK_HOME/bin/spark-sql --packages datastax:spark-cassandra-connector:2.0.0-s_2.11 --conf spark.cassandra.connection.host=127.0.0.1
  • 您好包括错误截图和使用的查询,请检查

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


【解决方案1】:

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

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

【讨论】:

  • 感谢balaji,这次我收到错误:错误未找到值sqlContext将屏幕截图添加到描述中
  • 上一个错误:sql 不是 org.apache 的成员...**.. sparkcontext 现在:找不到值 sqlContext
  • 只需给 sc 并按 enter 。看看会发生什么。并为 sqlContext 做同样的事情。
  • sc : 找不到与 sqlContext 相同的值 sc
  • 是的,现在在 Scala 中
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2015-04-04
    • 2018-10-31
    • 1970-01-01
    • 2015-03-02
    • 2018-01-01
    • 2017-08-19
    相关资源
    最近更新 更多