Ошибка вставки фрейма данных Spark в таблицу куста, так как некоторые файлы промежуточной части, созданные с помощью имени пользователя mapr

Я использую фрейм данных Spark для вставки в таблицу кустов. Несмотря на то, что приложение отправляется с использованием имени пользователя myuser, некоторые файлы промежуточной части улья создаются с именем пользователя mapr. Таким образом, последняя запись в таблицу куста завершается ошибкой при переименовании промежуточных файлов с указанием отказа в доступе. Команда:

resultDf.write.mode ("добавить"). insertInto (insTable)

Ошибка:

Ниже приведены сведения о среде:

Искра 1.6.1

  • Распространение Mapr
  • Попробуйте следующее и оставьте отзыв

person Shasankar    schedule 29.12.2017    source источник


Ответы (1)


Исключение в потоке "main" org.apache.hadoop.security.AccessControlException: пользователю myuser (идентификатор пользователя 2547) было отказано в доступе к rename / ded /data/db/da_mydb.db/managed/da_primary/.hive-staging_hive_2017- 12-27_13-25-22_586_3120774356819313410-1 / -ext-10000 / _porary / 0 / task_201712271325_0080_m_000000 / part-00000 в / ded /data/db/da_mydb.db/managed/da_primary/.hive-staging_hive_2017 -22_586_3120774356819313410-1 / -ext-10000 / part-00000 на com.mapr.fs.MapRFileSystem.rename (MapRFileSystem.java:1112) на org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.mergejavaPaths (FileOutputCommitter.mergejavaPaths (FileOutputCommitter.mergejavaPaths : 461) в org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.mergePaths (FileOutputCommitter.java:475) в org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.commitJobInternal (FileOutputCommit392) org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter.commitJob (FileOutputCommitter.java:364) в организации .apache.hadoop.mapred.FileOutputCommitter.commitJob (FileOutputCommitter.java:136) в org.apache.spark.sql.hive.SparkHiveWriterContainer.commitJob (hiveWriterContainers.scala: 108) в org.apachel.spark.sq .InsertIntoHiveTable.saveAsHiveFile (InsertIntoHiveTable.scala: 85) по адресу org.apache.spark.sql.hive.execution.InsertIntoHiveTable.sideEffectResult $ lzycompute (InsertIntoHutionTable.scala: 201) в org.apache.apq. .sideEffectResult (InsertIntoHiveTable.scala: 127) в org.apache.spark.sql.hive.execution.InsertIntoHiveTable.doExecute (InsertIntoHiveTable.scala: 276) в org.apache.spark.sql.execution.SparkPlan $$ .apply (SparkPlan.scala: 132) в org.apache.spark.sql.execution.SparkPlan $$ anonfun $ execute $ 5.apply (SparkPlan.scala: 130) в org.apache.spark.rdd.RDDOperationScope $ .withScope ( RDDOperationScope.scala: 150) в org.apache.spark.sql.execution.SparkPl an.execute (SparkPlan.scala: 130) в org.apache.spark.sql.execution.QueryExecution.toRdd $ lzycompute (QueryExecution.scala: 55) в org.apache.spark.sql.execution.QueryExecution.toRdd (. QueryExecution.toRdd (. scala: 55) в org.apache.spark.sql.DataFrameWriter.insertInto (DataFrameWriter.scala: 189) в org.apache.spark.sql.DataFrameWriter.insertInto (DataFrameWriter.scalaying: 166) в com.iri.RunsuppChain. $ .execXForm (RunKeying.scala: 74) в com.iri.suppChain. RunKeying $$ anonfun $ 1.применить (RunKeying.scala: 36) в com.iri.suppChain.RunKeying $$ anonfun $ 1.применить (RunKeying.scala: 36) в scala.collection.immutable.List.foreach (List.scala: 318) в com.iri.suppChain.RunKeying $ delayedInit $ body.apply (RunKeying.scala: 36) в scala.Function0 $ class.apply $ mcV $ sp (Function0.scala: 40) в scala.runtime.AbstractFunction0.apply $ mcV $ sp (AbstractFunction0.scala: 12)

resultDF.registerTempTable("results_tbl")
sqlContext.sql("INSERT INTO TABLE insTable SELECT * FROM results_tbl")
person Bala    schedule 29.12.2017