2016-06-16 7 views
-1
**Python Version = 2.6.6** 

**numpy version = 1.3.0** 

**** The python file dokmeans.py is located in /home/cloudera**** 






Welcome to 
      ____    __ 
     /__/__ ___ _____/ /__ 
     _\ \/ _ \/ _ `/ __/ '_/ 
     /__/.__/\_,_/_/ /_/\_\ version 1.3.0 
      /_/ 

    Using Python version 2.6.6 (r266:84292, Feb 22 2013 00:00:18) 
    SparkContext available as sc, HiveContext available as sqlCtx. 
    >>> exec(open('dokmeans.py').read()) 
    Traceback (most recent call last): 
     File "<stdin>", line 1, in <module> 
     File "<string>", line 5, in <module> 
     File "/usr/lib/spark/python/pyspark/mllib/__init__.py", line 26, in <module> 
     raise Exception("MLlib requires NumPy 1.4+") 
    Exception: MLlib requires NumPy 1.4+ 
    >>> from pyspark.mllib.clustering import KMeans,KMeansModel 
    Traceback (most recent call last): 
     File "<stdin>", line 1, in <module> 
     File "/usr/lib/spark/python/pyspark/mllib/__init__.py", line 26, in <module> 
     raise Exception("MLlib requires NumPy 1.4+") 
    Exception: MLlib requires NumPy 1.4+ 

답변

1

글쎄, 오류 코드에 모두 나와 있습니다. MLlib를 사용하려면 numpy 1.4를 설치해야합니다. 1.3이 설치되어 있습니다.

+0

numpy 1.4는 어떻게 설치합니까? –

+0

이 내용을 읽어야합니다. https://pypi.python.org/pypi/numpy/1.4.0 – eliasah

+0

이 작업은 매우 혼란 스럽습니다. 유닉스 시스템에 numpy 1.4를 설치하는 것을 도와주십시오. –

-1

mllib 코드에 numpy 버전을 올바르게 해석하지 않는 버그가 있습니다. 1.10을 1.1로 해석하므로 numpy 버전 검사가 실패합니다.

**if numpy.version.version < '1.4':** 
raise Exception("MLlib requires NumPy 1.4+") 

에 :

ver = [int(x) for x in numpy.version.version.split('.')[:2]] 
if ver < [1, 4]: 
    raise Exception("MLlib requires NumPy 1.4+") 

아래의 파일 는/usr/lib 디렉토리/스파크/파이썬/pyspark/mllib/초기화

에서의 코드를 변경해주십시오

+0

이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [리뷰에서] (리뷰/저품절 포스트/13297973) –

+2

필요한 chnages를 만들었습니다. 이것이 받아 들일 수 있기를 바랍니다. –