Как решить судоку с помощью Hadoop?

Как решить судоку с помощью Hadoop?

sudoku

Hadoop предоставляет пример файла jar для тестовых целей. В этом jar-файле есть пример решения судоку.

1. Входной файл

Чтобы использовать этот пример, нам нужно создать входной файл для задачи судоку. В этом файле каждая ячейка судоку может быть числом или знаком «?» С пробелами в качестве разделителей.

Файл: puzzle1.dta

8 5 ? 3 9 ? ? ? ?
? ? 2 ? ? ? ? ? ?
? ? 6 ? 1 ? ? ? 2
? ? 4 ? ? 3 ? 5 9
? ? 8 9 ? 1 4 ? ?
3 2 ? 4 ? ? 8 ? ?
9 ? ? ? 8 ? 5 ? ?
? ? ? ? ? ? 2 ? ?
? ? ? ? 4 5 ? 7 8

Вы можете найти этот файл «puzzle1.dta» в каталоге Hadoop:

hadoop-0.20.2/src/examples/org/apache/hadoop/examples/dancing/puzzle1.dta

or

hadoop-2.0.0-alpha-/src/hadoop-mapreduce-project/hadoop-mapreduce-examples/
    src/main/java/org/apache/hadoop/examples/dancing/puzzle1.dta

2. Часть Hadoop

Теперь нам нужно сохранить этот входной файл в нашем локальном каталоге. И передайте этот ввод в jar-файл примера hadoop. Запустите hadoop и выполните эту команду:

$hadoop-directory/bin/hadoop jar hadoop-examples-version.jar sudoku puzzle1.dta

Solving puzzle1.dta
8 5 1 3 9 2 6 4 7
4 3 2 6 7 8 1 9 5
7 9 6 5 1 4 3 8 2
6 1 4 8 2 3 7 5 9
5 7 8 9 6 1 4 2 3
3 2 9 4 5 7 8 1 6
9 4 7 2 8 6 5 3 1
1 8 5 7 3 9 2 6 4
2 6 3 1 4 5 9 7 8

Found 1 solutions

Hadoop предоставит вам все возможные решения головоломки за несколько секунд (если будет несколько ответов, время будет больше).

Note
Вы должны указать локальный путь к hadoop (в этом примере файл jar и головоломка находятся в одном каталоге)

Если у вас есть вопросы, вы можете написать мне комментарий ...

Related