我正在研究一个简单的Spark脚本,并遇到将数据放到我想要的问题,并使工作正常工作的问题。具体来说,我需要在将数据帧注册到临时表时指定表的数据库。
hex_str=d02b2b00
上面的代码运行没有错误,但不会产生任何结果。删除数据库会产生结果,但是在生产中不能工作,其中必须存储临时表的数据库不是Spark正在使用的默认值。如何在Spark 1.6中将临时表注册到临时表时,临时表需要指定哪个数据库?
答案 0 :(得分:5)
由registerTempTable
或createOrReplaceTempView
创建的临时表/视图与任何数据库无关。它只是根据数据框的创建方式创建一个包含查询计划的数据框视图。
来自Apache Spark's Dataset.scala
本地临时视图是会话范围的。它的生命周期是创建它的会话的生命周期,即它会在会话终止时自动删除。它与任何数据库无关,即我们无法使用
db1.view1
来引用本地临时视图。
强调了我。