-
Как клиентите могат да следите им MR работа в "http: //xxxxxxx:50030/?" Можете да следите mapreduce задания два начина:
-
Чрез Hadoop jobtracker URL - "http:// < jobTrackerhost >: 50030 /" и се запознайте с подробни данни за задачата.
-
Да разгледаме заданието изходни файлове, създадени от Revolution R в движение mapreduce работата ще бъде по друг начин. По подразбиране тези изходните файлове отново изтрити след стартиране, но можете да зададете опцията "autoCleanup = FALSE" когато създавате Hadoop compute контекст с помощта на RxHadoopMR(). Можете да използвате командата RevoScaleR "rxGetJobOutput" списък hadoop изхода от стартиране на задание.
2. може да се контролира броя на mapper и намаляване задачи в изпълнение на моя код чрез RxHadoopMR()?
Скоро ще добавя незадължителен параметър в RxHadoopMR(), наречен hadoopSwitches. Този аргумент ви позволява да зададете всички общи Hadoop командния ред. Например за да зададете опашка за изпълнява проект, можете да направите това:
hadoopSwitches = "-Dmapred.job.queue.name=default"
Много ключове могат да бъдат зададени от тях като със знак за интервал, както ще се направи в командния ред.
Контрол на броя на картографи в MapReduce е малко сложен. Основното правило е, че броят на картата задачи равно на броя на входните разделя. Ако файловете на въвеждане "non-раздели таблица", например някои видове на компресирани файлове, броят на входните разделя равно на броя на входните файлове. Отделните файлове в определен съставен XDF са различни раздели таблица. От друга страна ако вашият файл е раздели таблица, например е в CSV файл, след което FileInputFormat ще се разделят него блокове до размера на HDFS блок, обикновено 128 МБ. Ако имате много голям CSV файл или файлове (например 10 TB) и не искате прекалено много карта задачи, можете да зададете mapred.min.split.size на голям брой, като по този начин се по-големи входни разделя и по-малко карта задачи. Това може да се настрои използването hadoopSwitches аргумент. Недостатъкът на това номерът е, че ще жертва местност данни. Да имат разделя местоположение и данни, трябва да увеличите размера на HDFS блок. Има малко повече информация на тази страница: http://wiki.apache.org/hadoop/HowManyMapsAndReduces
За HPC работа (т.е. rxExec()) директно можете да зададете броя на картата задачи с помощта на (rxExec) timesToRun и taskChunkSize аргументи. Броят на картата задачи ще ще бъде равна на:
timesToRun / taskChunkSize.
3. възможно ли е да повикване/създаване на потребителски Mapper / редуктор функция в RevoScaleR?
Им са няколко начина да направите това:
-
Използвайте "rxExec()": ви позволява да разпространявате и паралелно всеки произволен код R - това ще приемем, че вече сте създали контекст Hadoop компютъра с помощта на "RxHadoopMR()".
-
Ако имате RxHadoopMR() изчисляване контекст са забранени, можете да използвате функцията rxDataStep() да се обадите "Редуктор" функция
на вашите данни в HDFS - rxDataStep() ви позволява да се обадите произволни R функция чрез "transformFunc" аргумент.
-
Използвайте "rmr" пакет, който е част от RHadoop.
4. за достъп до "Кошер/HBase" имате всички специфични пакети или е добре да се използва "RHBase" пакет?
RevoScaleR не съдържа никакви специфични функции за Hive/HBase - можете да използвате пакета RHBase за допълване R функция, които съществуват в RevoScaleR. Ако имате ODBC драйвер за HBase можете да използвате функцията RxOdbcData() за импортиране на данни и изпълнение на SQL заявки данните, съхранени в HBase. Обърнете внимание на RevoScaleR ODBC данни за импортиране/експортиране ръководство за конкретна информация относно начина за импортиране на данни чрез ODBC:
http://packages.revolutionanalytics.com/doc/7.1.0/linux/RevoScaleR_ODBC.pdf