Hi, Some suggestions: 1 You should tell us the version of spark and hive you are using. 2 You shoul paste the full trace stack of the exception.
In this case, I guess you have a nested directory in the path which |bak_startup_log_uid_20150227| point to.
and the config field |hive.mapred.supports.subdirectories| is |false| by default.
so… |if (!conf.getBoolVar(HiveConf.ConfVars.HIVE_HADOOP_SUPPORTS_SUBDIRECTORIES) && item.isDir()) { throw new HiveException("checkPaths: " + src.getPath() + " has nested directory" + itemSource); } | On 3/3/15 14:36, LinQili wrote:
Hi all, I was doing select using spark sql like: insert into table startup_log_uid_20150227 select * from bak_startup_log_uid_20150227 where login_time < 1425027600 Usually, it got a exception: org.apache.hadoop.hive.ql.metadata.Hive.checkPaths(Hive.java:2157) org.apache.hadoop.hive.ql.metadata.Hive.copyFiles(Hive.java:2298) org.apache.hadoop.hive.ql.metadata.Table.copyFiles(Table.java:686) org.apache.hadoop.hive.ql.metadata.Hive.loadTable(Hive.java:1469) org.apache.spark.sql.hive.execution.InsertIntoHiveTable.sideEffectResult$lzycompute(InsertIntoHiveTable.scala:243) org.apache.spark.sql.hive.execution.InsertIntoHiveTable.sideEffectResult(InsertIntoHiveTable.scala:137) org.apache.spark.sql.execution.Command$class.execute(commands.scala:46) org.apache.spark.sql.hive.execution.InsertIntoHiveTable.execute(InsertIntoHiveTable.scala:51) org.apache.spark.sql.SQLContext$QueryExecution.toRdd$lzycompute(SQLContext.scala:425) org.apache.spark.sql.SQLContext$QueryExecution.toRdd(SQLContext.scala:425) org.apache.spark.sql.SchemaRDDLike$class.$init$(SchemaRDDLike.scala:58) org.apache.spark.sql.SchemaRDD.<init>(SchemaRDD.scala:108) org.apache.spark.sql.hive.HiveContext.sql(HiveContext.scala:94) com.nd.home99.LogsProcess$anonfun$main$1$anonfun$apply$1.apply(LogsProcess.scala:286) com.nd.home99.LogsProcess$anonfun$main$1$anonfun$apply$1.apply(LogsProcess.scala:83) scala.collection.immutable.List.foreach(List.scala:318) com.nd.home99.LogsProcess$anonfun$main$1.apply(LogsProcess.scala:83) com.nd.home99.LogsProcess$anonfun$main$1.apply(LogsProcess.scala:82) scala.collection.immutable.List.foreach(List.scala:318) com.nd.home99.LogsProcess$.main(LogsProcess.scala:82) com.nd.home99.LogsProcess.main(LogsProcess.scala) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:601) org.apache.spark.deploy.yarn.ApplicationMaster$anon$2.run(ApplicationMaster.scala:427) Is there any hints about this?