Как бороться с Py4JJavaError, когда я использую pyspark для создания формата libsvm с помощью MLUtils.saveAsLibSVMFile?

Теперь у меня есть RDD LabeledPoint с именем dd. Моя версия Python 3.5.2 и версия pyspark 2.0.1. Я использую Anaconda Spyder для запуска кода Pyspark.

печати (dd.take(2)) [LabeledPoint(-0,05643994211287995, [+0,0142684401451,-0,0072049689441,-0,929159510172,-0,893124442121,-0,996100725507]), LabeledPoint(-0,02315484804630974, [+0,0408706166868,-0,00372670807453,-0,891585462256,-0,839681870708,- +0,96168588986])]

Поэтому я хочу сохранить этот файл формата libsvm. Затем я запускаю следующий код. MLUtils.saveAsLibSVMFile(dd, "D://spark-warehouse/part1")

На этот раз все пошло не так.

format(target_id, ".", name), value)

Py4JJavaError: Произошла ошибка при вызове o270.saveAsTextFile.

полная ошибка: org.apache.hadoop.mapred.FileAlreadyExistsException: выходной файл каталога:/D:/spark-warehouse/part1 уже существует в org.apache.hadoop.mapred.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:131) в org.apache.spark. 1161) в org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopDataset$1.apply(PairRDDFunctions.scala:1161) в org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope). apache.spark.rdd..scala: 1161) в org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopFile$4.apply$mcV$sp(PairRDDFunctions.scala:1064) в org.apache.spark.rdd.PairRDD Функции $$anonfun$saveAsHadoopFile$4.apply(PairRDDFunctions.scala:1030) в org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopFile$4.apply(PairRDDFunctions.scala:1030) в org.apache.RDDOperationScope$.withScope(RDDOperationScope.scala:151) в org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112) в org.apache.spark.rdd.RDD.withScope(RDD.scala: RDD.withScope (RDD.scala): в org.apache.spark.rdd.PairRDDFunctions.saveAsHadoopFile(PairRDDFunctions.scala:1030) в org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopFile$1.apply$mcV$sp (PairRDgala: sp..apache.spark.rdd.PairRDDFunctions $$ anonfun $ saveAsHadoopFile $ 1.apply (PairRDDFunctions.scala:956) в org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopFile$1.apply(PairRDFunctions) atg:.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151) в org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112) в org.apache.spark.rdd.RDD.withScope (Р DD.scala:358) в org.apache.spark.rdd.PairRDDFunctions.saveAsHadoopFile(PairRDDFunctions.scala:955) в org.apache.spark.rdd.RDD$$anonfun$saveAsTextFile$1.apply$mcV$sp(RD.scala:1459) в org.apache.spark.rdd.RDD$$anonfun$saveAsTextFile$1.apply(RDD.scala:1438) в org.apache.spark.rdd.RDD $$ anonfun $ saveAsTextFile $ 1.apply (СДР. scala: 1438) в org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151) в org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112) в org.apache.spark.rdd.RDD.withScope(RDD.scala:358) в org.apache.spark.rdd.RDD.saveAsTextFile(RDD.scala:1438) в org.apache.spark.api.java.JavaRDDLike$class.saveAsTextFile(JavaRD).scala:549) at org.apache.spark.api.java.AbstractJavaRDDLike.saveAsTextFile(JavaRDDLike.scala:45) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeormpOnt (неизвестный метод) в sun.reflect.DelegatingMethodAccessorImpl.invoke(неизвестный источник) в java.lang.reflect.Method.invoke(Неизвестный источник) в py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:237) в py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) в py4j.Gateway.invoke(Gateway.java:2) на py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) на py4j.commands.CallCommand.execute(CallCommand.java:79) на py4j.GatewayConnection.run(GatewayConnection.java:214) на java.lang.Thread. запустить (неизвестный источник)


Когда я запускаю второй раз, ошибки разные

Py4JJavaError: Произошла ошибка при вызове o323.saveAsTextFile.: org.apache.spark.SparkException: Задание прервано из-за сбоя этапа: Задача 0 на этапе 7.0 не выполнена 1 раз, последний сбой: Потерянная задача 0.0 на этапе 7.0 (TID 7, localhost): java.io.IOException: (null) запись в командной строке: null chmod 0644 D:\spark-warehouse\part1.txt_teditional \0_tevent \ попытки_201803300008_0007_m_000000_7\part-00000 в org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:770)


Я снова запускаю код, он показывает следующее.

Py4JJavaError: Произошла ошибка при вызове None.org.apache.spark.api.java.JavaSparkContext. -

Я действительно не знаю, как это сделать. Я с нетерпением жду вашего ответа.

0 ответов

Другие вопросы по тегам