ssvd를 계산해야합니다. 50,000 x 50,000 매트릭스의 경우 300x300으로 줄이면 ssvdlibc 및 기타와 같은 라이브러리에서 3 분 이내에 계산할 수 있습니다.mahout ssvd job performance
큰 데이터의 경우 mahout을 사용해 보았습니다. 첫째로 나는 작은 데이터 세트 (즉, 50000 x 50000)를 로컬로 실행하려고 시도했지만,이 단순한 작업을 완료하는 데 32 분이 걸리며 스필 파일에 5,5GB의 디스크 공간을 사용하고 인텔 i5에 8GiB 램을 사용합니다 SSD 드라이브는 몇 번 동결됩니다.
나는 mahout과 hadoop이 map-reduce 작업으로 모든 것을 수행하기 위해 많은 추가 단계를 수행해야한다는 것을 알고 있지만, 성능이 크게 상승한 것으로 보입니다. 나는 내 설치 과정에서 뭔가 잘못 됐어야한다고 생각합니다.
hadoop 및 mahout 설명서를 읽었으며 구성 파일에 몇 가지 매개 변수가 추가되었지만 여전히 느립니다. 대부분의 경우 CPU를 하나만 사용합니다.
내 설정에 어떤 문제가 있다고 말해 줄 수 있습니까? 그게 어떻게 든 간단하게, 더 큰 배포를 위해 무엇을보아야 하는지를 한 마후 인이 사용하도록 조정할 수 있습니까?
내 설정 파일 : mapred-site.xml 파일 :
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>local</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx5000M</value>
</property>
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>3</value>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value>3</value>
</property>
<property>
<name>io.sort.factor</name>
<value>35</value>
</property>
</configuration>
코어를 site.xml :
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>file:///</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>file:///</value>
</property>
<!--
<property>
<name>fs.inmemory.size.mb</name>
<value>200</value>
</property>
<property>
<name>io.sort.factor</name>
<value>100</value>
</property>
-->
<property>
<name>io.sort.mb</name>
<value>200</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
내가 그렇게 내 일을 실행
mahout ssvd --rank 400 --computeU true --computeV true --reduceTasks 3 --input ${INPUT} --output ${OUTPUT} -ow --tempDir /tmp/ssvdtmp/
I 또한 -Xmx = 4000m와 함께 hadoop과 mahout을 구성했습니다.
내가있어 복제가 1로 설정 HDFS 나는 로컬에서 내 JobTracker를 변경했습니다 54311 지금 내 mapred.map.tasks 속성이 적용됩니다. 지금은 4 코어 중 하나 또는 두 개의 코어에서 작동합니다 - 약간 좋지만 stil poor, 실행 시간은 약 5 분입니다. –
Bt-job은 거대한 누출을 유발하는 원인 중 하나입니다. 나는 io.sort.mb를 5000과 같은 큰 값으로 수정하려고한다. 도움이되는지 확인한다. –
hadoop은 특정 범위에서 선택된 구성 변수를 변경하고 속도 테스트를 실행하기 위해 자동 utilitiy을 사용하기를 원한다. 클러스터를 잘 작동 시키는데 매우 유용 할 것입니다. – greedybuddha