SparkとHadoopの新機能です。私はSpark 2.0でEC2クラスタをセットアップしようとしています。PySparkからHDFSのファイルにアクセスできない
一時的なHDFSにファイルをコピーしましたが、そこには cd ../を使用していることがわかります。
[email protected] bin]$ ./hadoop fs -ls /root/
Warning: $HADOOP_HOME is deprecated.
Found 2 items
drwxr-xr-x - root supergroup 0 2017-05-23 12:08
/root/_distcp_logs_sls6bc
-rw-r--r-- 3 root supergroup 543046714 2017-05-23 12:08
/root/input.csv
ここで私が提出していますPythonのコードです:
import sys
import numpy as np
from pyspark.sql import SparkSession
if __name__ == "__main__":
spark = SparkSession\
.builder\
.appName("MatrixMult")\
.getOrCreate()
df = spark.read.option("header","true").csv("hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000/root/input.csv")
df.show(10)
spark.close()
マイHadoopのコア-site.xmlのには、次のセットがあります。
<property>
<name>fs.default.name</name>
<value>hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000</value>
</property>
をここに私が提出したときに私が手にエラーがあります仕事:
Traceback (most recent call last):
File "/root/python_code/matrix_mult.py", line 12, in <module>
df = spark.read.option("header","true").csv("hdfs://ec2-54-144-193-191.compute-1.amazonaws.com:9000/root/input.csv")
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/readwriter.py", line 380, in csv
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py", line 1133, in __call__
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/utils.py", line 63, in deco
File "/root/spark-2.1.1-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py", line 319, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o32.csv.
: java.io.IOException: Failed on local exception: java.io.IOException: Broken pipe; Host Details : local host is: "ip-172-31-58-53.ec2.internal/172.31.58.53"; destination host is: "ec2-54-144-193-191.compute-1.amazonaws.com":9000;
...
任意のideなぜこれが起こっているのでしょうか?どのようにそれをデバッグするためのヒント?内部名を使用しようとしましたが、どちらも機能しません。前もって感謝します。
'#!/ usr/bin/python'が先頭にありますか? – philantrovert