我想从表中的sparksql访问内存中的数据。
我阅读了本教程并做了以下工作:http://downloads.tableau.com/beta/tableau%20spark%20sql%20setup%20instructions.pdf
在linux上的virtualbox中:
从下载了带有hadoop 2.6的sparksql 1.5.2http://www.apache.org/dyn/closer.lua/spark/spark-1.6.0/spark-1.6.0-bin-hadoop2.6.tgz
运行start-master.sh和start-slaves.sh
运行此命令:
start-thriftserver.sh—主服务器spark://localhost:7077--驱动程序类路径$classpath--hiveconf hive.server2.thrift.bind.host localhost--hiveconf hive.server2.thrift.port 10001
在主机站点(windows 8)上:
下载的画面,
转发端口(主机8124=访客10001)
已安装spark odbc驱动程序。
之后,我成功地将tableau与sparksql连接起来。
现在我想在sparkshell中创建一些表,并使用tableau访问它们。我在spark shell上运行以下命令:
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
case class Person(name: String, age: Int)
val people = sc.textFile("examples/src/main/resources/people.txt").map(_.split(",")).map(p => Person(p(0), p(1).trim.toInt)).toDF()
people.registerTempTable("people")
之后,我再次连接到spark thrift服务器,但仍然看不到任何数据。问题是:
我不知道该怎么做才能让“人”的table在桌面上可见。
我不知道,是什么决定了sparksql中的数据可以被tableau访问。
如何使这些数据对tableau可见?
1条答案
按热度按时间3wabscal1#
您只需使用
saveAsTable
或者类似的。下面假设spark 2.0,但与其他版本也类似。
之后
saveAsTable
已经完成了,你应该看看people
来自任何客户机的表,可以与正在使用的配置单元元存储进行对话,包括tableau。