2016-09-18 2 views
0

이 웹 페이지에서 ML 예제 (IndexToString)를 시도했습니다 : http://spark.apache.org/docs/latest/ml-features.html#onehotencoder, jupyter 노트북 (Pyspark 실행 중)을 사용하여 간단한 df (데이터 프레임)를 생성하고 있으며 오랜 오류 메시지가 계속 나타납니다. 그 중 하나가 다음과 같이 말했습니다 :Apache pyspark ML 예제가 작동하지 않습니다.

Py4JJavaError: An error occurred while calling o23.applySchemaToPythonRDD. : java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

DataFrame을 구축하려면 먼저 RDD가 있어야합니까? 또한, MLlib 메소드를 사용해 보았지만 정상적으로 작동했습니다. ML 메소드를 사용하면 오류가 계속 발생합니다.

답변

0

어떤 버전의 스파크를 사용하고 있습니까? 귀하의 링크의 예는이 링크에서 스파크 2.0.0

이 필요합니다, 당신은 불꽃 1.6.2에 대한 예를 찾을 수 있습니다 - 내 컴퓨터에서 작동하는 테스트되었습니다 나는 스파크 2.0을 사용했다 http://spark.apache.org/docs/1.6.2/ml-features.html#onehotencoder

from pyspark.ml.feature import OneHotEncoder, StringIndexer 

df = sqlContext.createDataFrame([ 
    (0, "a"), 
    (1, "b"), 
    (2, "c"), 
    (3, "a"), 
    (4, "a"), 
    (5, "c") 
], ["id", "category"]) 

stringIndexer = StringIndexer(inputCol="category", outputCol="categoryIndex") 
model = stringIndexer.fit(df) 
indexed = model.transform(df) 
encoder = OneHotEncoder(dropLast=False, inputCol="categoryIndex", outputCol="categoryVec") 
encoded = encoder.transform(indexed) 
encoded.select("id", "categoryVec").show() 
+0

.0 – jypucca

관련 문제