跨spark sql会话保存未具体化的Dataframe

yiytaume  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(376)

我用spark分析存储在cassandra星团上的数据。在一个会话中,这可以正常工作,但在将来我希望能够使用sparksql连接器连接到tableau。由于我们对宽行/动态列的依赖,数据没有以适合直接用作分析表的格式存储在cassandra中,因此我有一系列sparksql操作,这些操作将选定的数据透视到一个更可用的结构中。
我希望能够跨spark会话存储此数据透视表的定义,以便新的spark应用程序可以在不需要额外设置的情况下获取该数据透视表,并且理想情况下也可以在tableau中使用有很多关于使用hive跨会话保存实质化RDD的文档,但是数据集很大,而且经常发生更改。我不想缓存计算出的数据集,我只希望能够轻松地重用它的定义。
有可能Hive的工作方式和我想象的不一样,但我觉得我错过了一些明显的解决方案。

waxmsbnn

waxmsbnn1#

我对hbase和qliksense有一个非常相似的用例,这也适用于tableu。如果你真的想用spark sql连接器解决这个问题,据我所知,你需要一个spark服务器,我不确定你是否想这样做(但这是可能的)在我的情况下,我使用hive,正如你所说的hive不能很好地处理更新,但一般来说,你不应该太频繁地更新这个bi工具,在我们的例子中,我们每周创建一个配置单元表,每周更新一次bi工具,也有可能每天都这样做,我怀疑您是否能够更快地完成这项工作,因为即使您使用spark server,您仍然需要将数据上载到bi工具,对于大型数据集,不应该每天执行一次以上的操作。
无论如何,关于配置单元,在配置单元中保存数据应该很简单,即使数据集很大,也应该比您的cassandra表小很多,所以应该可以,所以我建议仍然使用配置单元作为数据保持器,并使用tableu配置单元连接器上载数据。

相关问题