Tôi đã cài đặt Spark, chạy sbt assembly và có thể mở bin/pyspark mà không gặp vấn đề gì. Tuy nhiên, tôi đang gặp sự cố khi tải mô-đun pyspark vào ipython. Tôi nhận được lỗi sau:Tại sao PySpark không thể tìm thấy py4j.java_gateway?
In [1]: import pyspark
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-c15ae3402d12> in <module>()
----> 1 import pyspark
/usr/local/spark/python/pyspark/__init__.py in <module>()
61
62 from pyspark.conf import SparkConf
---> 63 from pyspark.context import SparkContext
64 from pyspark.sql import SQLContext
65 from pyspark.rdd import RDD
/usr/local/spark/python/pyspark/context.py in <module>()
28 from pyspark.conf import SparkConf
29 from pyspark.files import SparkFiles
---> 30 from pyspark.java_gateway import launch_gateway
31 from pyspark.serializers import PickleSerializer, BatchedSerializer, UTF8Deserializer, \
32 PairDeserializer, CompressedSerializer
/usr/local/spark/python/pyspark/java_gateway.py in <module>()
24 from subprocess import Popen, PIPE
25 from threading import Thread
---> 26 from py4j.java_gateway import java_import, JavaGateway, GatewayClient
27
28
ImportError: No module named py4j.java_gateway
Tôi không biết đây có phải là câu trả lời thực sự hay không, nhưng 'sudo pip install py4j' đã khắc phục sự cố này cho tôi. Tôi cho rằng lỗi này xuất hiện sau khi bạn đã thêm SPARK_HOME vào PYTHON_PATH? – emmagras
Tôi đã cung cấp câu trả lời cho vấn đề này (hoặc vấn đề tương tự ở đây). Tôi có thể hữu ích cho bạn: http://stackoverflow.com/questions/24249847/running-pyspark-on-and-ide-like-spyder/28380155#28380155 –
Tôi cũng đặt 'PYTHONPATH' để trỏ đến tất cả các python cần thiết phụ thuộc nhưng có cùng lỗi. Để giải quyết vấn đề này, tôi cũng phải 1) cài đặt một bản sao của py4j tại thư mục 'site-packages', nơi các gói python thông thường được cài đặt 2) thay đổi sự cho phép của mọi thứ trong thư mục py4j để các nút thực thi YARN có thể đọc/thi hành các tệp có liên quan. – karenyng