Заставить Табло поговорить со Спарком и Кассандрой

Соединитель DataStax spark cassandra отлично подходит для взаимодействия с Cassandra через Apache Spark. С Spark SQL 1.1 мы можем использовать комиссионный сервер для взаимодействия со Spark с Tableau. Поскольку Tableau может общаться со Spark, а Spark может общаться с Cassandra, наверняка есть способ заставить Tableau общаться с Cassandra через Spark (или, скорее, Spark SQL). Я не могу понять, как это запустить. В идеале я хотел бы сделать это с автономным кластером Spark + кластером cassandra (т.е. без дополнительной настройки hadoop). Это возможно? Любые указатели приветствуются.


person ashic    schedule 07.10.2014    source источник
comment
Tableau только что анонсировала драйвер для Spark SQL tableausoftware.com/about/blog/2014/10/. В статье описано, как запросить бета-копию.   -  person Alex Blakemore    schedule 17.10.2014
comment
Любая идея о том, как получить искру + таблицу для запроса Кассандры?   -  person ashic    schedule 18.02.2015
comment
Поскольку Spark SQL может получить доступ к Cassandra, это должно быть возможно с помощью драйвера Tableau Spark SQL. Вы используете бета-версию драйвера? Если да, то какая конкретно у вас проблема? (или еще лучше, сообщите бета-программе, чтобы они могли это исправить)   -  person Alex Blakemore    schedule 18.02.2015
comment
Как работает spark sql и cassandra, вы делаете sc = new SparkContext(..); cc = новый CassandraCqlContext (sc); cc.sql(Выберите * ...) . Когда я запускаю комиссионный сервер, как я могу указать ему сделать это?   -  person ashic    schedule 18.02.2015
comment
У меня нет ответа, но если вы используете бета-драйвер Tableau, они отправят вам электронное письмо для обратной связи. Они работают с Databricks над этим драйвером, поэтому вам лучше задать свой вопрос.   -  person Alex Blakemore    schedule 18.02.2015


Ответы (1)


HiveThriftServer имеет параметр HiveThriftServer2.startWithContext(sqlContext), поэтому вы можете создать свой sqlContext со ссылкой на C* и соответствующую таблицу/CF, а затем передать этот контекст на сервер бережливости.

Что-то вроде этого:

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, вы можете просто пообедать одним из них.

person user4746156    schedule 03.04.2015