[HADOOP] Mahout rowSimilarity
HADOOPMahout rowSimilarity
위키 백과 문서 간의 행 유사성을 계산하려고합니다. 나는 형식으로 tf-idf 벡터를 가진다. Key 클래스 : class org.apache.hadoop.io.Text Value 클래스 : org.apache.mahout.math.VectorWritable. 텍스트 분석에 대한 간단한 둘러보기는 여기에서 : https://cwiki.apache.org/confluence/display/MAHOUT/Quick+tour+of+text+analysis+using+the+Mahout+command+line
나는 다음과 같이 조율 행렬을 만들었다.
mahout rowid \
-i wikipedia-vectors/tfidf-vectors/part-r-00000
-o wikipedia-matrix
생성 된 행과 열의 수는 다음과 같습니다.
vectors.RowIdJob: Wrote out matrix with 4587604 rows and 14121544 columns to wikipedia-matrix/matrix
형식이 행렬의 경우 Key 클래스 : 클래스 org.apache.hadoop.io.IntWritable 값 클래스 : 클래스 org.apache.mahout.math.VectorWritable
또한 다음 형식의 docIndex 문서가 있습니다. Key 클래스 : class org.apache.hadoop.io.IntWritable 값 클래스 : class org.apache.hadoop.io.Text
그런 다음 행 유사 작업을 실행할 때
mahout rowsimilarity
-i wikipedia-matrix/matrix
-o wikipedia-similarity
-r 4587604
--similarityClassname SIMILARITY_COSINE
-m 50
-ess
다음과 같은 오류가 발생합니다.
13/08/25 15:18:18 INFO mapred.JobClient: Task Id : attempt_201308161435_0364_m_000001_1, Status : FAILED
java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to org.apache.mahout.math.VectorWritable
at org.apache.mahout.math.hadoop.similarity.cooccurrence.RowSimilarityJob$VectorNormMapper.map(RowSimilarityJob.java:183)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:648)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322)
at org.apache.hadoop.mapred.Child$4.run(Child.java:266)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1278)
at org.apache.hadoop.mapred.Child.main(Child.java:260)
누군가가 저를 도와 주실 수 있습니까? 입력 행렬이 형식 일 때이 org.apache.hadoop.io.Text가 어디에 있는지 확실하지 않습니다 Key 클래스 : class org.apache.hadoop.io.IntWritable Value 클래스 : class org.apache.mahout.math.VectorWritable
고맙습니다.
베스트, 드라간
해결법
-
==============================
1.나는 다음 명령을 사용하여 그것을 해결했다.
나는 다음 명령을 사용하여 그것을 해결했다.
hadoop jar mahout-examples-0.9-SNAPSHOT.jar org.apache.mahout.math.hadoop.similarity.cooccurrence.RowSimilarityJob -i /user/dmilchev/wikipedia-matrix/matrix -o /user/dmilchev/wikipedia-similarity -r 4587604 --similarityClassname SIMILARITY_COSINE -m 50 -ess
나는 어떤 실수도하지 않았다.
from https://stackoverflow.com/questions/18429571/mahout-rowsimilarity by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 피벗 및 합계를 높이십시오. (0) | 2019.06.30 |
---|---|
[HADOOP] 실행시 Hadoop 오류 : 키의 유형이 일치하지 않습니다. 예상되는 org.apache.hadoop.io.Text, 수신 된 org.apache.hadoop.io.LongWritable (0) | 2019.06.30 |
[HADOOP] Hadoop 및 Python : 정렬 비활성화 (0) | 2019.06.30 |
[HADOOP] 파이썬 pyhs2를 사용하여 하이브에 연결하는 방법은 무엇입니까? (0) | 2019.06.30 |
[HADOOP] Hadoop : 감속기의 수가 프로그램에서 설정 한 것과 같지 않습니다. (0) | 2019.06.30 |