保存到持久化的表
当使用HiveContext的时候,DataFrames也可以使用saveAsTable
命令被保存为持久化的表。不像registerTempTable
命令,saveAsTable
将物化DataFrame的内容并在HiveMetastore里的数据创建一个pointer。持久化的表在你的Spark程序重启后都仍然存在,存在周期就像维持你的连接在相同的元存储一样长。对于一个持久化表的DataFrame能够通过调用SQLContext的table
方法,附上表名,然后被创建。
默认情况下,saveAsTable
将创建一个“托管表”,意思就是这个表的数据的位置将由元存储控制。当一个表被删除时,“托管表”也将被自动删除数据。