You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Dongjoon Hyun (Jira)" <ji...@apache.org> on 2020/10/19 02:04:00 UTC

[jira] [Resolved] (SPARK-32069) Improve error message on reading unexpected directory which is not a table partition

     [ https://issues.apache.org/jira/browse/SPARK-32069?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dongjoon Hyun resolved SPARK-32069.
-----------------------------------
    Fix Version/s: 3.1.0
       Resolution: Fixed

Issue resolved by pull request 30027
[https://github.com/apache/spark/pull/30027]

> Improve error message on reading unexpected directory which is not a table partition
> ------------------------------------------------------------------------------------
>
>                 Key: SPARK-32069
>                 URL: https://issues.apache.org/jira/browse/SPARK-32069
>             Project: Spark
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: Gengliang Wang
>            Priority: Minor
>              Labels: starter
>             Fix For: 3.1.0
>
>
> To reproduce:
> {code:java}
> spark-sql> create table test(i long);
> spark-sql> insert into test values(1);
> {code}
> {code:java}
> bash $ mkdir ./spark-warehouse/test/data
> {code}
> There will be such error messge
> {code:java}
> java.io.IOException: Not a file: file:/Users/gengliang.wang/projects/spark/spark-warehouse/test/data
> 	at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:322)
> 	at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:205)
> 	at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:300)
> 	at scala.Option.getOrElse(Option.scala:189)
> 	at org.apache.spark.rdd.RDD.partitions(RDD.scala:296)
> 	at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
> 	at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:300)
> 	at scala.Option.getOrElse(Option.scala:189)
> 	at org.apache.spark.rdd.RDD.partitions(RDD.scala:296)
> 	at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
> 	at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:300)
> 	at scala.Option.getOrElse(Option.scala:189)
> 	at org.apache.spark.rdd.RDD.partitions(RDD.scala:296)
> 	at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
> 	at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:300)
> 	at scala.Option.getOrElse(Option.scala:189)
> 	at org.apache.spark.rdd.RDD.partitions(RDD.scala:296)
> 	at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:49)
> 	at org.apache.spark.rdd.RDD.$anonfun$partitions$2(RDD.scala:300)
> 	at scala.Option.getOrElse(Option.scala:189)
> 	at org.apache.spark.rdd.RDD.partitions(RDD.scala:296)
> 	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2173)
> 	at org.apache.spark.rdd.RDD.$anonfun$collect$1(RDD.scala:1030)
> 	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
> 	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
> 	at org.apache.spark.rdd.RDD.withScope(RDD.scala:414)
> 	at org.apache.spark.rdd.RDD.collect(RDD.scala:1029)
> 	at org.apache.spark.sql.execution.SparkPlan.executeCollect(SparkPlan.scala:385)
> 	at org.apache.spark.sql.execution.SparkPlan.executeCollectPublic(SparkPlan.scala:412)
> 	at org.apache.spark.sql.execution.HiveResult$.hiveResultString(HiveResult.scala:76)
> 	at org.apache.spark.sql.hive.thriftserver.SparkSQLDriver.$anonfun$run$1(SparkSQLDriver.scala:65)
> 	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$5(SQLExecution.scala:103)
> 	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:163)
> 	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:90)
> 	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:763)
> 	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64)
> 	at org.apache.spark.sql.hive.thriftserver.SparkSQLDriver.run(SparkSQLDriver.scala:65)
> 	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.processCmd(SparkSQLCLIDriver.scala:377)
> 	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.$anonfun$processLine$1(SparkSQLCLIDriver.scala:496)
> 	at scala.collection.Iterator.foreach(Iterator.scala:941)
> 	at scala.collection.Iterator.foreach$(Iterator.scala:941)
> 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1429)
> 	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
> 	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
> 	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
> 	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.processLine(SparkSQLCLIDriver.scala:490)
> 	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver$.main(SparkSQLCLIDriver.scala:282)
> 	at org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver.main(SparkSQLCLIDriver.scala)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
> 	at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:934)
> 	at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180)
> 	at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)
> 	at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)
> 	at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1013)
> 	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1022)
> 	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
> {code}
> We can improve it by explaining it is a directory and it is not allowed for hive serde table reader.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org