gatorsmile commented on a change in pull request #23506: [SPARK-26577][SQL] Add 
input optimizer when reading Hive table by SparkSQL
URL: https://github.com/apache/spark/pull/23506#discussion_r247665933
 
 

 ##########
 File path: 
sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveTableScanSuite.scala
 ##########
 @@ -192,4 +192,47 @@ class HiveTableScanSuite extends HiveComparisonTest with 
SQLTestUtils with TestH
       case p: HiveTableScanExec => p
     }.get
   }
-}
+
+  test("Test the InputFormat optimizer") {
+    withTable("table_old", "table_pt_old", "table_new", "table_pt_new") {
+      sql("set spark.sql.hive.fileInputFormat.enabled=true")
+      sql("set spark.sql.hive.fileInputFormat.split.maxsize=134217728")
+      sql("set spark.sql.hive.fileInputFormat.split.minsize=134217728")
+      sql(
+        s"""
+           |CREATE TABLE table_old (id int)
+           |STORED AS
+           |INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
+           |OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
+         """.stripMargin)
+      sql(
+        s"""
+           |CREATE TABLE table_pt_old (id int)
+           |PARTITIONED BY (a int, b int)
+           |STORED AS
+           |INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'
+           |OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
+         """.stripMargin)
+      sql(
+        s"""
+           |CREATE TABLE table_new (id int)
+           |STORED AS
+           |INPUTFORMAT 'org.apache.hadoop.mapreduce.lib.input.TextInputFormat'
+           |OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
+       """.stripMargin)
+      sql(
+        s"""
+           |CREATE TABLE table_pt_new (id int)
+           |PARTITIONED BY (a int, b int)
+           |STORED AS
+           |INPUTFORMAT 'org.apache.hadoop.mapreduce.lib.input.TextInputFormat'
+           |OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
+       """.stripMargin)
+
+      sql("SELECT count(1) FROM table_old")
+      sql("SELECT count(1) FROM table_pt_old")
+      sql("SELECT count(1) FROM table_new")
 
 Review comment:
   You need to call `show` to trigger the execution. Your test case exposed a 
bug in the support of `org.apache.hadoop.mapreduce.lib.input.TextInputFormat`. 
Could you open a JIRA and submit a separate PR to fix the issue? I think this 
PR does not resolve it. 
   
   For supporting `org.apache.hadoop.mapreduce.lib.input.TextInputFormat`, you 
need to use `NewHadoopRDD` instead of `HadoopRDD`. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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

Reply via email to