Apache Spark 1.3 数据框 SaveAsTable 数据库(默认)

loc*_*obr 3 scala apache-spark

我正在尝试使用saveAsTable将数据帧保存为表,并且它可以工作,但我想将表保存到不是默认数据库,有谁知道是否有办法设置要使用的数据库?我尝试使用 hiveContext.sql("use db_name") 这似乎没有做到这一点。有一个saveAsTable接受一些选项。有没有一种方法可以让我使用选项来做到这一点?

loc*_*obr 5

看起来您还不能设置数据库名称...如果您阅读HiveContext.scala代码,您会看到很多注释,例如...

    // TODO: Database support...
Run Code Online (Sandbox Code Playgroud)

所以我猜测它还不支持。

更新:

在 Spark 1.5.1 中,此功能有效,但在早期版本中不起作用。在早期版本中,您必须使用类似“deformitysnot answer”中的 using 语句。

 df.write.format("parquet").mode(SaveMode.Append).saveAsTable("databaseName.tablename")
Run Code Online (Sandbox Code Playgroud)