나는 아파치 스파크를 처음 사용했으며 분명히 내 맥북에 홈브류와 함께 아파치 스파크를 설치했습니다.
Last login: Fri Jan 8 12:52:04 on console
user@MacBook-Pro-de-User-2:~$ pyspark
Python 2.7.10 (default, Jul 13 2015, 12:05:58)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
16/01/08 14:46:44 INFO SparkContext: Running Spark version 1.5.1
16/01/08 14:46:46 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/01/08 14:46:47 INFO SecurityManager: Changing view acls to: user
16/01/08 14:46:47 INFO SecurityManager: Changing modify acls to: user
16/01/08 14:46:47 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(user); users with modify permissions: Set(user)
16/01/08 14:46:50 INFO Slf4jLogger: Slf4jLogger started
16/01/08 14:46:50 INFO Remoting: Starting remoting
16/01/08 14:46:51 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkDriver@192.168.1.64:50199]
16/01/08 14:46:51 INFO Utils: Successfully started service 'sparkDriver' on port 50199.
16/01/08 14:46:51 INFO SparkEnv: Registering MapOutputTracker
16/01/08 14:46:51 INFO SparkEnv: Registering BlockManagerMaster
16/01/08 14:46:51 INFO DiskBlockManager: Created local directory at /private/var/folders/5x/k7n54drn1csc7w0j7vchjnmc0000gn/T/blockmgr-769e6f91-f0e7-49f9-b45d-1b6382637c95
16/01/08 14:46:51 INFO MemoryStore: MemoryStore started with capacity 530.0 MB
16/01/08 14:46:52 INFO HttpFileServer: HTTP File server directory is /private/var/folders/5x/k7n54drn1csc7w0j7vchjnmc0000gn/T/spark-8e4749ea-9ae7-4137-a0e1-52e410a8e4c5/httpd-1adcd424-c8e9-4e54-a45a-a735ade00393
16/01/08 14:46:52 INFO HttpServer: Starting HTTP Server
16/01/08 14:46:52 INFO Utils: Successfully started service 'HTTP file server' on port 50200.
16/01/08 14:46:52 INFO SparkEnv: Registering OutputCommitCoordinator
16/01/08 14:46:52 INFO Utils: Successfully started service 'SparkUI' on port 4040.
16/01/08 14:46:52 INFO SparkUI: Started SparkUI at http://192.168.1.64:4040
16/01/08 14:46:53 WARN MetricsSystem: Using default name DAGScheduler for source because spark.app.id is not set.
16/01/08 14:46:53 INFO Executor: Starting executor ID driver on host localhost
16/01/08 14:46:53 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 50201.
16/01/08 14:46:53 INFO NettyBlockTransferService: Server created on 50201
16/01/08 14:46:53 INFO BlockManagerMaster: Trying to register BlockManager
16/01/08 14:46:53 INFO BlockManagerMasterEndpoint: Registering block manager localhost:50201 with 530.0 MB RAM, BlockManagerId(driver, localhost, 50201)
16/01/08 14:46:53 INFO BlockManagerMaster: Registered BlockManager
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__ / .__/\_,_/_/ /_/\_\ version 1.5.1
/_/
Using Python version 2.7.10 (default, Jul 13 2015 12:05:58)
SparkContext available as sc, HiveContext available as sqlContext.
>>>
MLlib에 대해 자세히 알아보기 위해 게임을 시작하고 싶습니다. 그러나 나는 Pycharm을 사용하여 파이썬으로 스크립트를 작성합니다. 문제는 Pycharm으로 이동하여 pyspark를 호출하려고하면 Pycharm이 모듈을 찾을 수 없다는 것입니다. 다음과 같이 Pycharm에 경로를 추가해 보았습니다.
그런 다음 블로그에서 이것을 시도했습니다.
import os
import sys
# Path for spark source folder
os.environ['SPARK_HOME']="/Users/user/Apps/spark-1.5.2-bin-hadoop2.4"
# Append pyspark to Python Path
sys.path.append("/Users/user/Apps/spark-1.5.2-bin-hadoop2.4/python/pyspark")
try:
from pyspark import SparkContext
from pyspark import SparkConf
print ("Successfully imported Spark Modules")
except ImportError as e:
print ("Can not import Spark Modules", e)
sys.exit(1)
그리고 PyCharm과 함께 PySpark를 사용할 수 없습니다. PyCharm을 apache-pyspark와 “연결”하는 방법에 대한 아이디어가 있습니까?
최신 정보:
그런 다음 Pycharm의 환경 변수를 설정하기 위해 apache-spark 및 python 경로를 검색합니다.
아파치 스파크 경로 :
user@MacBook-Pro-User-2:~$ brew info apache-spark
apache-spark: stable 1.6.0, HEAD
Engine for large-scale data processing
https://spark.apache.org/
/usr/local/Cellar/apache-spark/1.5.1 (649 files, 302.9M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/apache-spark.rb
파이썬 경로 :
user@MacBook-Pro-User-2:~$ brew info python
python: stable 2.7.11 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org
/usr/local/Cellar/python/2.7.10_2 (4,965 files, 66.9M) *
그런 다음 위의 정보를 사용하여 다음과 같이 환경 변수를 설정하려고했습니다.
Pycharm을 pyspark와 올바르게 연결하는 방법에 대한 아이디어가 있습니까?
그런 다음 위의 구성으로 파이썬 스크립트를 실행할 때 다음 예외가 있습니다.
/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/user/PycharmProjects/spark_examples/test_1.py
Traceback (most recent call last):
File "/Users/user/PycharmProjects/spark_examples/test_1.py", line 1, in <module>
from pyspark import SparkContext
ImportError: No module named pyspark
업데이트 :
그런 다음 @ zero323이 제안한이 구성을 시도했습니다.
구성 1 :
/usr/local/Cellar/apache-spark/1.5.1/
밖:
user@MacBook-Pro-de-User-2:/usr/local/Cellar/apache-spark/1.5.1$ ls
CHANGES.txt NOTICE libexec/
INSTALL_RECEIPT.json README.md
LICENSE bin/
구성 2 :
/usr/local/Cellar/apache-spark/1.5.1/libexec
밖:
user@MacBook-Pro-de-User-2:/usr/local/Cellar/apache-spark/1.5.1/libexec$ ls
R/ bin/ data/ examples/ python/
RELEASE conf/ ec2/ lib/ sbin/
답변
PySpark 패키지 사용 (Spark 2.2.0 이상)
함께 SPARK-1267 존재가 합병 당신으로 과정을 단순화 할 수 있어야한다 pip
당신이 PyCharm 개발을 위해 사용하는 환경에서 스파크를 설치.
사용자 제공 Spark 설치를 사용하여 수동으로
실행 구성 만들기 :
- 실행 -> 구성 편집으로 이동 하십시오.
- 새 Python 구성 추가
- 실행할 스크립트를 가리 키도록 스크립트 경로 설정
-
최소한 다음을 포함하도록 환경 변수 필드를 편집하십시오 .
SPARK_HOME
-Spark가 설치된 디렉토리를 가리켜 야합니다. 그것은 다음과 같은 디렉토리를 포함해야한다bin
(와spark-submit
,spark-shell
등,)과conf
(와spark-defaults.conf
,spark-env.sh
등)-
PYTHONPATH
-포함해야하며 그렇지 않은 경우$SPARK_HOME/python
선택적으로$SPARK_HOME/python/lib/py4j-some-version.src.zip
사용할 수 없습니다.some-version
지정된 Spark 설치에서 사용하는 Py4J 버전과 일치해야합니다 (0.8.2.1-1.5, 0.9-1.6, 0.10.3-2.0, 0.10.4-2.1, 0.10.4-2.2, 0.10.6-2.3, 0.10.7-2.4) )
-
설정 적용
인터프리터 경로에 PySpark 라이브러리를 추가합니다 (코드 완성에 필요) :
- 이동 파일 -> 설정 -> 프로젝트 통역
- Spark에서 사용할 인터프리터에 대한 설정 열기
- 인터프리터 경로를 편집하여 경로를 포함합니다
$SPARK_HOME/python
(필요한 경우 Py4J). - 설정 저장
선택적으로
- 더 나은 완료 및 정적 오류 감지를 위해 설치된 Spark 버전과 일치하는 경로 유형 주석 을 설치하거나 추가합니다 (면책 조항-저는 프로젝트 작성자입니다).
드디어
새로 생성 된 구성을 사용하여 스크립트를 실행합니다.
답변
Mac OSX에서이 문제를 해결 한 방법은 다음과 같습니다.
brew install apache-spark
-
이것을 ~ / .bash_profile에 추가하십시오.
export SPARK_VERSION=`ls /usr/local/Cellar/apache-spark/ | sort | tail -1` export SPARK_HOME="/usr/local/Cellar/apache-spark/$SPARK_VERSION/libexec" export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
-
콘텐츠 루트에 pyspark 및 py4j를 추가합니다 (올바른 Spark 버전 사용).
/usr/local/Cellar/apache-spark/1.6.1/libexec/python/lib/py4j-0.9-src.zip /usr/local/Cellar/apache-spark/1.6.1/libexec/python/lib/pyspark.zip
답변
저에게 적합한 설정은 다음과 같습니다 (Win7 64bit, PyCharm2017.3CE).
Intellisense 설정 :
파일-> 설정-> 프로젝트 :-> 프로젝트 인터프리터를 클릭하십시오.
프로젝트 인터프리터 드롭 다운 오른쪽에있는 톱니 바퀴 아이콘을 클릭합니다.
상황에 맞는 메뉴에서 자세히 …를 클릭합니다.
인터프리터를 선택한 다음 “경로 표시”아이콘 (오른쪽 하단)을 클릭합니다.
+ 아이콘 2를 클릭하여 다음 경로를 추가하십시오.
\ python \ lib \ py4j-0.9-src.zip
\ bin \ python \ lib \ pyspark.zip
확인, 확인, 확인을 클릭하십시오.
계속해서 새로운 인텔리 센스 기능을 테스트하십시오.
답변
pycharm에서 pyspark 구성 (Windows)
File menu - settings - project interpreter - (gearshape) - more - (treebelowfunnel) - (+) - [add python folder form spark installation and then py4j-*.zip] - click ok
Windows 환경에 SPARK_HOME이 설정되어 있는지 확인하십시오. pycharm이 거기에서 가져옵니다. 확인 :
Run menu - edit configurations - environment variables - [...] - show
선택적으로 환경 변수에 SPARK_CONF_DIR을 설정합니다.
답변
다음 페이지를 참조로 사용했으며 PyCharm 5에서 가져온 pyspark / Spark 1.6.1 (homebrew를 통해 설치됨)을 가져올 수있었습니다.
http://renien.com/blog/accessing-pyspark-pycharm/
import os
import sys
# Path for spark source folder
os.environ['SPARK_HOME']="/usr/local/Cellar/apache-spark/1.6.1"
# Append pyspark to Python Path
sys.path.append("/usr/local/Cellar/apache-spark/1.6.1/libexec/python")
try:
from pyspark import SparkContext
from pyspark import SparkConf
print ("Successfully imported Spark Modules")
except ImportError as e:
print ("Can not import Spark Modules", e)
sys.exit(1)
위의 경우 pyspark가로드되지만 SparkContext를 만들려고하면 게이트웨이 오류가 발생합니다. homebrew의 Spark에 문제가 있으므로 Spark 웹 사이트에서 Spark를 가져와 (Hadoop 2.6 이상용으로 사전 빌드 됨) 그 아래의 spark 및 py4j 디렉터리를 가리 킵니다. 작동하는 pycharm의 코드는 다음과 같습니다!
import os
import sys
# Path for spark source folder
os.environ['SPARK_HOME']="/Users/myUser/Downloads/spark-1.6.1-bin-hadoop2.6"
# Need to Explicitly point to python3 if you are using Python 3.x
os.environ['PYSPARK_PYTHON']="/usr/local/Cellar/python3/3.5.1/bin/python3"
#You might need to enter your local IP
#os.environ['SPARK_LOCAL_IP']="192.168.2.138"
#Path for pyspark and py4j
sys.path.append("/Users/myUser/Downloads/spark-1.6.1-bin-hadoop2.6/python")
sys.path.append("/Users/myUser/Downloads/spark-1.6.1-bin-hadoop2.6/python/lib/py4j-0.9-src.zip")
try:
from pyspark import SparkContext
from pyspark import SparkConf
print ("Successfully imported Spark Modules")
except ImportError as e:
print ("Can not import Spark Modules", e)
sys.exit(1)
sc = SparkContext('local')
words = sc.parallelize(["scala","java","hadoop","spark","akka"])
print(words.count())
나는 저를 PyDev에서 문제를 해결 한 후이 PyCharm 작업 얻을 도움이되는,이 지침의 도움을 많이했다 – https://enahwe.wordpress.com/2015/11/25/how-to-configure-eclipse-for-developing -with-python-and-spark-on-hadoop /
나는 누군가가 이것을 작동시키기 위해 모니터에 머리를 대고 몇 시간을 보냈을 것이라고 확신합니다.
답변
conda
Python 패키지를 관리하는 데 사용 합니다. 그래서 PyCharm 외부의 터미널에서 한 일은 다음과 같습니다.
conda install pyspark
또는 2.2.0과 같이 이전 버전을 원하면 다음을 수행하십시오.
conda install pyspark=2.2.0
이것은 자동으로 py4j도 가져옵니다. 그런 다음 PyCharm은 더 이상 불평하지 않았고 import pyspark...
코드 완성도 작동했습니다. 내 PyCharm 프로젝트는 이미 Anaconda와 함께 제공되는 Python 인터프리터를 사용하도록 구성되었습니다.
답변
스파크 파이썬 디렉토리가 다음과 같다고 가정합니다. /home/user/spark/python
Py4j 소스가 다음과 같다고 가정합니다. /home/user/spark/python/lib/py4j-0.9-src.zip
기본적으로 Spark python 디렉토리와 그 안의 py4j 디렉토리를 인터프리터 경로에 추가합니다. 스크린 샷을 게시 할 평판이 충분하지 않습니다.
비디오에서 사용자는 pycharm 자체 내에 가상 환경을 만들지 만 pycharm 외부에 가상 환경을 만들거나 기존 가상 환경을 활성화 한 다음 pycharm을 시작하고 해당 경로를 가상 환경 인터프리터 경로에 추가 할 수 있습니다. pycharm 내에서.
다른 방법을 사용하여 pycharm 외부에서 잘 작동하는 bash 환경 변수를 통해 스파크를 추가했지만 어떤 이유로 pycharm 내에서 인식되지 않았지만이 방법은 완벽하게 작동했습니다.
