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

    https://github.com/apache/spark/pull/16636#discussion_r99647218
  
    --- Diff: 
sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveDDLSuite.scala 
---
    @@ -79,6 +79,25 @@ class HiveDDLSuite
         }
       }
     
    +  test("create a hive table without schema") {
    +    import testImplicits._
    +    withTempPath { tempDir =>
    +      withTable("tab1", "tab2") {
    +        (("a", "b") :: Nil).toDF().write.json(tempDir.getCanonicalPath)
    +
    +        var e = intercept[AnalysisException] { sql("CREATE TABLE tab1 
USING hive") }.getMessage
    +        assert(e.contains("Unable to infer the schema. The schema 
specification is required to " +
    +          "create the table `default`.`tab1`"))
    +
    +        e = intercept[AnalysisException] {
    +          sql(s"CREATE TABLE tab2 location '${tempDir.getCanonicalPath}'")
    --- End diff --
    
    Found an interesting case. I am thinking we need to support what Hive did 
in `CREATE TABLE LIKE`. That is, allowing users to create another table with a 
different data source provider:
    ```
    CREATE TABLE avro_test ROW FORMAT SERDE 
'org.apache.hadoop.hive.serde2.avro.AvroSerDe' STORED AS AVRO TBLPROPERTIES 
('avro.schema.url'='myHost/myAvroSchema.avsc'); 
    CREATE EXTERNAL TABLE parquet_test LIKE avro_test STORED AS PARQUET 
LOCATION 'hdfs://myParquetFilesPath';
    ```


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to