【问题标题】:Getting Tableau to talk to Spark and Cassandra让 Tableau 与 Spark 和 Cassandra 对话
【发布时间】:2014-12-01 15:34:37
【问题描述】:

DataStax spark cassandra 连接器非常适合通过 Apache Spark 与 Cassandra 进行交互。使用 Spark SQL 1.1,我们可以使用 thrift 服务器与 Spark 和 Tableau 进行交互。由于 Tableau 可以与 Spark 对话,Spark 可以与 Cassandra 对话,因此肯定有一些方法可以让 Tableau 通过 Spark(或者更确切地说是 Spark SQL)与 Cassandra 对话。我不知道如何让它运行。理想情况下,我想用 Spark Standalone 集群 + 一个 cassandra 集群来做到这一点(即没有额外的 hadoop 设置)。这可能吗?任何指针表示赞赏。

【问题讨论】:

  • Tableau 刚刚宣布了 Spark SQL tableausoftware.com/about/blog/2014/10/… 的驱动程序。本文介绍了如何请求测试版副本。
  • 关于获取 spark + tableau 来查询 cassandra 的任何想法?
  • 由于 Spark SQL 可以访问 Cassandra,所以应该可以使用 Tableau Spark SQL 驱动程序。您使用的是 beta 驱动程序吗?如果是这样,您有什么具体问题? (或者更好的是,告诉测试版程序以便他们修复它)
  • spark sql 和 cassandra 的工作方式是 sc = new SparkContext(..); cc = 新 CassandraCqlContext(sc); cc.sql("选择 * ...") .当我运行 thriftserver 时,我将如何告诉 thriftserver 执行此操作?
  • 我没有答案,但如果您使用的是 Tableau 测试版驱动程序,他们会通过电子邮件联系您以获取反馈。他们正在与该驱动程序上的 Databricks 合作,因此这是一个更好的地方来引导您的问题。

标签: cassandra apache-spark tableau-api


【解决方案1】:

HiveThriftServer 有一个 HiveThriftServer2.startWithContext(sqlContext) 选项,因此您可以创建引用 C* 和相应表/CF 的 sqlContext,然后将该上下文传递给 thrift 服务器。

所以是这样的:

import  org.apache.spark.sql.hive.HiveContext
import  org.apache.spark.sql.catalyst.types._
import  java.sql.Date
val  sparkContext  =  sc
import  sparkContext._
val  sqlContext  =  new  HiveContext(sparkContext)
import  sqlContext._
makeRDD((1,"hello") :: (2,"world") ::Nil).toSchemaRDD.cache().registerTempTable("t")
import  org.apache.spark.sql.hive.thriftserver._
HiveThriftServer2.startWithContext(sqlContext)

因此,与其从 Spark 启动默认的 thriftserver,不如只用午餐自己定制一个。

【讨论】:

    猜你喜欢
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    相关资源
    最近更新 更多