Nano Hash - криптовалюты, майнинг, программирование

Сортировка набора данных Mapreduce

Я пытаюсь запустить следующий проект для сортировки набора данных.

Но когда я выполняю команду: Hadoop jar xx.jar /inputdir /output dir, я получаю следующую ошибку на терминале:

org.apache.hadoop.mapred.InvalidJobConfException: Output directory not set.

В файле README проекта упоминается:

hadoop jar mrss-0.1.jar demo.SsJob -Dmapred.input.dir=data-stock -Dmapred.output.dir=result-stock

Вот ссылка на проект:

https://vangjee.wordpress.com/2012/03/20/secondary-sorting-aka-sorting-values-in-hadoops-mapreduce-programming-paradigm/#comment-2342


Ответы:


1

Я знаю, что это неудобно... но вам нужно поставить пробел после -D. То есть "-Dmapred.output.dir" следует указывать как "-D mapred.output.dir".

Это происходит потому, что передача конфигурации -D не работает с Hadoop, как с обычной конфигурацией jvm.

Более подробная информация об этом содержится в полном руководстве по Hadoop.

А к вашей проблеме? Пространство — это решение.

05.12.2015
  • Нет, даже с пробелом -D /input вывод все равно не работает, но все равно спасибо 07.12.2015
  • -D и затем имя свойства, а затем пример значения -D mapred.input.dir=/input -D mapred.output.dir=/output 07.12.2015
  • hadoop jar mr.jar demo.SsJob -D mapred.input.dir=/usr/local/hadoop/input/ -D mapred.output.dir=/outxzz/ Выходной каталог всегда не задан 07.12.2015

  • 2

    Вам необходимо добавить параметры для формата ввода для чтения из входного пути и формата вывода для записи в выходные пути. Вот пример того, как отправить вакансию:

     // Create a new Job
     Job job = Job.getInstance();
     job.setJarByClass(MyJob.class);
    
     // Specify various job-specific parameters     
     job.setJobName("myjob");
    
     job.setInputPath(new Path("in"));
     job.setOutputPath(new Path("out"));
    
     job.setMapperClass(MyJob.MyMapper.class);
     job.setReducerClass(MyJob.MyReducer.class);
    
     // Submit the job, then poll for progress until the job is complete
     job.waitForCompletion(true);
    

    или вы можете передать это при выполнении jar, передав параметры в командной строке с помощью опции -D.

    05.12.2015
  • Спасибо за ваш ответ, но как передать параметр с помощью -D, я попробовал сейчас hadoop jar xx.jar packagenaame.class -D /inputpaath -D /outputpaath все еще не работает 05.12.2015
  • Я попытался добавить для запуска FileInputFormat.setInputPaths(jobConf,args[0]); FileOutputFormat.setOutputPath(jobConf,arg[1]); Вы имеете в виду, что jobConf здесь такая же работа? Job job = новая работа (conf, вторичная сортировка); ? 05.12.2015
  • См. этот код драйвера. Может быть полезно github .com/VenkataKartikP/Hadoop/blob/master/src/main/java/com/ 06.12.2015
  • Вот мой псевдокод, но он все еще не работает, когда я скомпилировал только read hadoop jar xxx.jar /outputfile (не читал входной путь) и получаю сообщение об ошибке Configuration conf = getConf(); Job job = новая работа (conf, sort); FileInputFormat.setInputPaths (задание, новый путь (аргументы [0])); Выходной путь = новый путь (аргументы [1]); FileOutputFormat.setOutputPath(задание, вывод); job.setJarByClass (SsJob.class); job.setPartitionerClass(Natu.class); job.waitForCompletion (истина); вернуть 0 Я попробовал это, но setinputpath не переделывает его FileInputFormat.setInputPaths(jobConf,args[0]) FileOutputFormat.setOutputPath(jobConf,arg[1]) 07.12.2015
  • Вы должны добавить этот код в качестве обновлений к своему сообщению. Какую ошибку вы получили при добавлении FileInputFormat и FileOutputFormat? 08.12.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..