即使SparkContext
对象死亡,我也要求以表格格式将Spark中的数据保存在内存中,以便Tableau
可以访问它。
我使用了registerTempTable
,但是一旦SparkContext
对象死亡,数据就会被删除。
是否可以存储这样的数据?如果没有可能的方式我可以调查数据到Tableau而不从HDFS位置读取数据。
答案 0 :(得分:1)
您需要执行以下操作之一:
StreamingContext.awaitTermination()
时)。我自己从未尝试过,但我认为YARN和MESOS支持长期运行的任务。正如您在SparkContext
死亡时提到的那样,所有数据都将丢失(因为所有信息都存储在上下文中)。我认为spark-shell
是一个长期运行的应用程序,这就是大多数Tableau / Spark演示使用它的原因,因为上下文永远不会消失。答案 1 :(得分:0)
Tableau是否从自定义Spark应用程序中读取数据?
我使用PowerBi(而不是Tableau),它通过Thrift客户端查询Spark,所以每次它死掉并重新启动时,我都会通过odbc / jdbc驱动程序向他发送“cache table myTable”查询
答案 2 :(得分:0)
我开始知道上面提到的问题的一个非常有趣的答案。 TACHYON。 http://ampcamp.berkeley.edu/5/exercises/tachyon.html