Skip to content

Commit

Permalink
[SPARK-8156] [SQL] create table to specific database by 'use dbname'
Browse files Browse the repository at this point in the history
when i test the following code:
hiveContext.sql("""use testdb""")
val df = (1 to 3).map(i => (i, s"val_$i", i * 2)).toDF("a", "b", "c")
df.write
.format("parquet")
.mode(SaveMode.Overwrite)
.saveAsTable("ttt3")
hiveContext.sql("show TABLES in default")

found that the table ttt3 will be created under the database "default"

Author: baishuo <[email protected]>

Closes #6695 from baishuo/SPARK-8516-use-database and squashes the following commits:

9e155f9 [baishuo] remove no use comment
cb9f027 [baishuo] modify testcase
00a7a2d [baishuo] modify testcase
4df48c7 [baishuo] modify testcase
b742e69 [baishuo] modify testcase
3d19ad9 [baishuo] create table to specific database
  • Loading branch information
baishuo authored and marmbrus committed Jun 16, 2015
1 parent ca99875 commit 0b8c8fd
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -271,13 +271,11 @@ class HiveContext(sc: SparkContext) extends SQLContext(sc) {
* @since 1.3.0
*/
def refreshTable(tableName: String): Unit = {
// TODO: Database support...
catalog.refreshTable("default", tableName)
catalog.refreshTable(catalog.client.currentDatabase, tableName)
}

protected[hive] def invalidateTable(tableName: String): Unit = {
// TODO: Database support...
catalog.invalidateTable("default", tableName)
catalog.invalidateTable(catalog.client.currentDatabase, tableName)
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ private[hive] class HiveMetastoreCatalog(val client: ClientInterface, hive: Hive
provider: String,
options: Map[String, String],
isExternal: Boolean): Unit = {
val (dbName, tblName) = processDatabaseAndTableName("default", tableName)
val (dbName, tblName) = processDatabaseAndTableName(client.currentDatabase, tableName)
val tableProperties = new scala.collection.mutable.HashMap[String, String]
tableProperties.put("spark.sql.sources.provider", provider)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -833,4 +833,21 @@ class MetastoreDataSourcesSuite extends QueryTest with SQLTestUtils with BeforeA
(70 to 79).map(i => Row(i, s"str$i")))
}
}

test("SPARK-8156:create table to specific database by 'use dbname' ") {

val df = (1 to 3).map(i => (i, s"val_$i", i * 2)).toDF("a", "b", "c")
sqlContext.sql("""create database if not exists testdb8156""")
sqlContext.sql("""use testdb8156""")
df.write
.format("parquet")
.mode(SaveMode.Overwrite)
.saveAsTable("ttt3")

checkAnswer(
sqlContext.sql("show TABLES in testdb8156").filter("tableName = 'ttt3'"),
Row("ttt3", false))
sqlContext.sql("""use default""")
sqlContext.sql("""drop database if exists testdb8156 CASCADE""")
}
}

0 comments on commit 0b8c8fd

Please sign in to comment.