Почему запуск потокового запроса приводит к ExitCodeException exitCode=-1073741515?

Я пытался привыкнуть к новой структурированной потоковой передаче, но она продолжает выдавать мне ошибку ниже, как только я запускаю запрос .writeStream.

Любая идея, что может быть причиной этого? Самое близкое, что я мог найти, это постоянная ошибка Spark, если вы разделяете контрольные точки и папки метаданных между локальной и HDFS, но. Работает на Windows 10, Spark 2.2 и IntelliJ.

17/08/29 21:47:39 ERROR StreamMetadata: Error writing stream metadata StreamMetadata(41dc9417-621c-40e1-a3cb-976737b83fb7) to C:/Users/jason/AppData/Local/Temp/temporary-b549ee73-6476-46c3-aaf8-23295bd6fa8c/metadata
ExitCodeException exitCode=-1073741515: 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:582)
    at org.apache.hadoop.util.Shell.run(Shell.java:479)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:773)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:866)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:849)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:733)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:225)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:209)
    at org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:307)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:296)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:328)
    at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:398)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:461)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:440)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:911)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:892)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:789)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:778)
    at org.apache.spark.sql.execution.streaming.StreamMetadata$.write(StreamMetadata.scala:76)
    at org.apache.spark.sql.execution.streaming.StreamExecution$$anonfun$6.apply(StreamExecution.scala:116)
    at org.apache.spark.sql.execution.streaming.StreamExecution$$anonfun$6.apply(StreamExecution.scala:114)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.sql.execution.streaming.StreamExecution.<init>(StreamExecution.scala:114)
    at org.apache.spark.sql.streaming.StreamingQueryManager.createQuery(StreamingQueryManager.scala:240)
    at org.apache.spark.sql.streaming.StreamingQueryManager.startQuery(StreamingQueryManager.scala:278)
    at org.apache.spark.sql.streaming.DataStreamWriter.start(DataStreamWriter.scala:282)
    at FileStream$.main(FileStream.scala:157)
    at FileStream.main(FileStream.scala)
Exception in thread "main" ExitCodeException exitCode=-1073741515: 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:582)
    at org.apache.hadoop.util.Shell.run(Shell.java:479)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:773)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:866)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:849)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:733)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:225)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:209)
    at org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:307)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:296)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:328)
    at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:398)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:461)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:440)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:911)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:892)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:789)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:778)
    at org.apache.spark.sql.execution.streaming.StreamMetadata$.write(StreamMetadata.scala:76)
    at org.apache.spark.sql.execution.streaming.StreamExecution$$anonfun$6.apply(StreamExecution.scala:116)
    at org.apache.spark.sql.execution.streaming.StreamExecution$$anonfun$6.apply(StreamExecution.scala:114)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.sql.execution.streaming.StreamExecution.<init>(StreamExecution.scala:114)
    at org.apache.spark.sql.streaming.StreamingQueryManager.createQuery(StreamingQueryManager.scala:240)
    at org.apache.spark.sql.streaming.StreamingQueryManager.startQuery(StreamingQueryManager.scala:278)
    at org.apache.spark.sql.streaming.DataStreamWriter.start(DataStreamWriter.scala:282)
    at FileStream$.main(FileStream.scala:157)
    at FileStream.main(FileStream.scala)
17/08/29 21:47:39 INFO SparkContext: Invoking stop() from shutdown hook
17/08/29 21:47:39 INFO SparkUI: Stopped Spark web UI at http://192.168.178.21:4040
17/08/29 21:47:39 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
17/08/29 21:47:39 INFO MemoryStore: MemoryStore cleared
17/08/29 21:47:39 INFO BlockManager: BlockManager stopped
17/08/29 21:47:39 INFO BlockManagerMaster: BlockManagerMaster stopped
17/08/29 21:47:39 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
17/08/29 21:47:39 INFO SparkContext: Successfully stopped SparkContext
17/08/29 21:47:39 INFO ShutdownHookManager: Shutdown hook called
17/08/29 21:47:39 INFO ShutdownHookManager: Deleting directory C:\Users\jason\AppData\Local\Temp\temporary-b549ee73-6476-46c3-aaf8-23295bd6fa8c
17/08/29 21:47:39 INFO ShutdownHookManager: Deleting directory C:\Users\jason\AppData\Local\Temp\spark-117ed625-a588-4dcb-988b-2055ec5fa7ec

Process finished with exit code 1

person Trisivieta    schedule 29.08.2017    source источник
comment
Из консоли в IDE запрос был просто для проверки, будет ли он работать. Я попробую вариант checkpointLocation, что-нибудь на C: должно подойти, я думаю? Кстати, ваша страница на github отличная. Люблю объяснения и примеры, отличные детали! val query = fileStreamDf.writeStream .format(console) .outputMode(OutputMode.Append()).start() query.awaitTermination()   -  person Trisivieta    schedule 30.08.2017
comment
Починил это! mscvr100.dll был поврежден, переустановка решила проблему, и теперь запрос запускается в потоковом режиме.   -  person Trisivieta    schedule 30.08.2017
comment
-1073741515 == 0xC0000135 == STATUS_DLL_NOT_FOUND, программа не может запуститься, так как на вашем компьютере отсутствует %hs. Попробуйте переустановить программу, чтобы решить эту проблему. Стандартная проблема DLL Hell, включите снимки загрузчика или используйте Process Monitor SysInternals, чтобы узнать, какая DLL отсутствует.   -  person Hans Passant    schedule 31.08.2017


Ответы (4)


На самом деле, у меня была такая же проблема при запуске модульных тестов Spark на моей локальной машине. Это было вызвано ошибкой WinUtils.exe в папке %HADOOP_HOME%:

Ввод: %HADOOP_HOME%\bin\winutils.exe chmod 777 %SOME_TEMP_DIRECTORY%

Вывод:

winutils.exe — системная ошибка
Невозможно продолжить выполнение кода, так как MSVCR100.dll не найден.
Переустановка программы может решить эту проблему.

После некоторого серфинга в Интернете я обнаружил проблему в проекте winutils Стива Лофрана: Windows 10: winutils.exe не работает.
В частности, говорится, что установка распространяемых пакетов VC++ должна решить проблему (и это сработало в моем случае): Как исправить ошибку "msvcp100.dll отсутствует"

person GoodDok    schedule 27.12.2017
comment
Потрясающий!! Спасибо большое!! - person Israel Rodriguez; 16.11.2018
comment
Благодарю вас! ЮСМД! - person Igorock; 07.06.2021

Это проблема Windows

Программа не может запуститься, так как MSVCP100.dll отсутствует на вашем компьютере. Попробуйте переустановить программу, чтобы решить эту проблему

Вам нужно будет установить распространяемые пакеты VC++:

  • Download Распространяемый пакет Microsoft Visual C++ 2010 (x86) from Official Microsoft Download Center

http://www.microsoft.com/en-us/download/details.aspx?id=5555

Установите vcredist_x86.exe

  • Download Распространяемый пакет Microsoft Visual C++ 2010 (x64) from Official Microsoft Download Center

http://www.microsoft.com/en-us/download/details.aspx?id=14632

Установите vcredist_x64.exe

person Moises Trelles    schedule 07.02.2018

В моем случае я использовал Windows 10, и мне пришлось изменить Переменные среды -> Переменные пользователя.

TMP и TEMP в произвольное расположение на другом томе (D:\Temp или E:\Temp и т. д.) вместо значения по умолчанию

%USERPROFILE%\AppData\Local\Temp

а также установить HADOOP_HOME

System.setProperty("hadoop.home.dir", "$HADOOP_HOME\winutils-master\hadoop-2.xx" )

Не забудьте скопировать hadoop.dll в C:\Windows\System32.

Вы можете скачать соответствующую версию по этой ссылке. СКАЧАТЬ WINUTILS.exe

Для меня версия hadoop-2.7.1 устранила проблему.

person vijayraj34    schedule 06.04.2019

Проблема, с которой я столкнулся при преобразовании DataFrame в файл Parquet. Он создаст каталог, но выдаст ошибку «ExitCodeException exitCode=-1073741515».

Я запускал Spark от Intellij 2020.2.2 x64 в Windows 10 (версия 2004). У меня есть spark-3.0.1-bin-hadoop3.2, установленный в GitBash на моем диске C. Я скачал winutils из этого репозитория Github https://github.com/cdarlint/winutils после перенаправления из этого репозитория https://github.com/steveloughran/winutils.

Я установил их в каталог C:\winutils (верхний уровень), который содержал один подкаталог с именем /bin/, содержащий winutil.exe и связанные с ним файлы. Этот путь верхнего уровня был добавлен как переменная среды Windows в системных переменных с именем HADOOP_HOME. У меня также есть переменная для SPARK_HOME в C:\Users\name\spark-3.0.1-bin-hadoop3.2\

Я получал эту ошибку, пока не нашел этот пост SO и ответ Мойзеса Треллеса выше, а также эту страницу https://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_repair/как-я-исправить-эту-ошибку-msvcp100dll-is-missing/c167d686-044e-44ab-8e8f-968fac9525c5?auth=1

У меня 64-разрядная система, поэтому я установил версии msvcp100.dll для x86 и x64, как это рекомендовано в ответе на answer.microsoft.com. Я не перезагружался, но закрыл Intellij и перезагрузился, и после повторного запуска был сгенерирован правильный вывод (файл паркета). Удачи! Я так благодарен за stackoverflow/google/internet/community полезных людей.

person dannylee8    schedule 12.11.2020