Github user janewangfb commented on a diff in the pull request:

    https://github.com/apache/spark/pull/18975#discussion_r134382831
  
    --- Diff: 
sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/SQLQuerySuite.scala 
---
    @@ -2040,4 +2040,80 @@ class SQLQuerySuite extends QueryTest with 
SQLTestUtils with TestHiveSingleton {
           assert(setOfPath.size() == pathSizeToDeleteOnExit)
         }
       }
    +
    +  test("insert overwrite to dir from hive metastore table") {
    +    import org.apache.spark.util.Utils
    +
    +    val path = Utils.createTempDir()
    +    path.delete()
    +    checkAnswer(
    +      sql(s"INSERT OVERWRITE LOCAL DIRECTORY '${path.toString}' SELECT * 
FROM src where key < 10"),
    +      Seq.empty[Row])
    +
    +    checkAnswer(
    +      sql(s"""INSERT OVERWRITE LOCAL DIRECTORY '${path.toString}'
    +             |STORED AS orc
    +             |SELECT * FROM src where key < 10""".stripMargin),
    +      Seq.empty[Row])
    +
    +    // use orc data source to check the data of path is right.
    +    sql(
    +      s"""CREATE TEMPORARY TABLE orc_source
    +         |USING org.apache.spark.sql.hive.orc
    +         |OPTIONS (
    +         |  PATH '${path.getCanonicalPath}'
    +         |)
    +       """.stripMargin)
    +    checkAnswer(
    +      sql("select * from orc_source"),
    +      sql("select * from src where key < 10").collect()
    +    )
    +
    +    Utils.deleteRecursively(path)
    +    dropTempTable("orc_source")
    +  }
    +
    +  test("insert overwrite to dir from temp table") {
    +    import org.apache.spark.util.Utils
    +
    +    sparkContext
    +      .parallelize(1 to 10)
    +      .map(i => TestData(i, i.toString))
    +      .toDF()
    +      .registerTempTable("test_insert_table")
    +
    +    val path = Utils.createTempDir()
    +    path.delete()
    +    checkAnswer(
    +      sql(
    +        s"""
    +           |INSERT OVERWRITE LOCAL DIRECTORY '${path.toString}'
    +           |ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    +           |SELECT * FROM test_insert_table
    +         """.stripMargin),
    +      Seq.empty[Row])
    +
    +    checkAnswer(
    +      sql(s"""
    +        INSERT OVERWRITE LOCAL DIRECTORY '${path.toString}'
    +             |STORED AS orc
    +             |SELECT * FROM test_insert_table""".stripMargin),
    +      Seq.empty[Row])
    +
    +    // use orc data source to check the data of path is right.
    +    sql(
    +      s"""CREATE TEMPORARY TABLE orc_source
    +         |USING org.apache.spark.sql.hive.orc
    +         |OPTIONS (
    +         |  PATH '${path.getCanonicalPath}'
    +         |)
    +       """.stripMargin)
    +    checkAnswer(
    +      sql("select * from orc_source"),
    +      sql("select * from test_insert_table").collect()
    +    )
    +    Utils.deleteRecursively(path)
    +    dropTempTable("test_insert_table")
    --- End diff --
    
    updated


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to