Я пытаюсь запустить простое приложение с искрой.Я скачал spark - "pip install spark. И теперь, когда я пытаюсь запустить мой код, возникает ошибка:
ОШИБКА Оболочка: не удалось найти двоичный файл winutils в двоичном пути hadoop java.io.IOException:Не удалось найти исполняемый файл null \ bin \ winutils.exe в двоичных файлах Hadoop в org.apache.hadoop.util.Shell.getQualifiedBinPath (Shell.java:379) в org.apache.hadoop.util.Shell.getWinUtilsPath (Shell.Java: 394) в org.apache.hadoop.util.Shell. (Shell.java:387) в org.apache.hadoop.util.StringUtils. (StringUtils.java:80) в org.apache.hadoop.security.SecurityUtil.getAuthenticationMethod (SecurityUtil.java:611) в org.apache.hadoop.security.UserGroupInformation.initialize (UserGroupInformation.java:273) в org.apache.hadoop.security.UserGroupInformation.ensureInitialized (UserGroupInformation.java:26).apache.hadoop.security.UserGroupInformation.loginUserFromSubject (UserGroupInformation.java:791) в org.apache.hadoop.security.UserGroupInformation.getLoginUser (UserGroupInformation.java:761) в org.apache.hadoop.security.UserGroupInformation.getCurrentUser (UserGroupInformation.java:634) в org.apache.spark.util.Utils $$ anonfun $ getCurrentUserName $ 1.apply (Utils.scala: 2422) в org.apache.spark.util.Utils $$ anonfun $ getCurrentUserName $ 1.apply (Utils.scala: 2422) в scala.Option.getOrElse (Option.scala: 121) в org.apache.spark.util.Utils $ .getCurrentUserName (Utils.scala: 2422) в org.apache.spark.SecurityManager. (SecurityManager.scala: 79) в org.apache.spark.deploy.SparkSubmit.secMgr $ lzycompute $ 1 (SparkSubmit.scala: 359) в org.apache.spark.deploy.SparkSubmit.org $ apache $ spark $ deploy $ SparkSubmit $$ secMgr $ 1 (SparkSubmit.scala: 359) в org.apache.spark.deploy.SparkSubmit $$ anonfun $ prepareSubmitEnvironment $ 7.apply (SparkSubmit.scala: 367) в организации.apache.spark.deploy.SparkSubmit $$ anonfun $ prepareSubmitEnvironment $ 7.apply (SparkSubmit.scala: 367) в scala.Option.map (Option.scala: 146) в org.apache.spark.deploy.SparkSubmit.prepareSubmitSubmitSubmitEnvironment.scala: 366) в org.apache.spark.deploy.SparkОтправить (SparkSubmit.scala: 143) в org.apache.spark.deploy.SparkSubmit.doSubmit (SparkSubmit.scala: 86) в org.apache.spark.deploy.SparkSubmit $$ anon $ 2.doSubmit (SparkSubmit.scala:924) в org.apache.spark.deploy.SparkSubmit $ .main (SparkSubmit.scala: 933) в org.apache.spark.deploy.SparkSubmit.main (SparkSubmit.scala) 19/05/13 22:57:18 ПРЕДУПРЕЖДЕНИЕNativeCodeLoader: невозможно загрузить библиотеку native-hadoop для вашей платформы ... с использованием встроенных классов java, где это применимо. Использование профиля log4j Spark по умолчанию: org / apache / spark / log4j-defaults.properties Установка уровня журнала по умолчанию "WARN".Чтобы настроить уровень ведения журнала, используйте sc.setLogLevel (newLevel).Для SparkR используйте setLogLevel (newLevel).
Хорошо, я скачал winutils.exe, создал «c: \ winutils \ bin» и скопировал winutils.Также создан путь среды HADOOP_HOME.Но я не могу понять, почему это не работает.Мой код
from pyspark.shell import sc
os.environ ['HADOOP_HOME']= "C:\\winutils"
lines = sc.textFile("ob.txt")
pythonLines = lines .filter(lambda line: "python" in line)
print(pythonLines)