Я просто начинаю с изучением Hadoop, и я задаюсь вопросом следующее: предположите, что у меня есть набор больших производственных таблиц MySQL, которые я хочу проанализировать.
Импорт данных из mysql можно сделать очень легко. Я рекомендую вам использовать дистрибутив hadoop от Cloudera, с ним поставляется программа под названием 'sqoop', которая предоставляет очень простой интерфейс для импорта данных прямо из mysql (другие базы данных также поддерживаются). Sqoop можно использовать с mysqldump или обычным запросом mysql (select * ...). С этим инструментом нет необходимости вручную разбивать таблицы на файлы. Но для hadoop гораздо лучше иметь один большой файл.
Полезные ссылки:
Руководство пользователя Sqoop
2)
Так как я не знаю вашей среды, я буду осторожен, сторона - ДА, беспокойтесь о влиянии на производительность.
В зависимости от частоты и количества записываемых данных вы можете обнаружить, что они обрабатываются за приемлемое время, особенно если вы просто записываете новые / измененные данные. [в зависимости от сложности ваших запросов]
Если вам не требуется реальное время или у ваших серверов обычно есть периоды, когда они не используются (в ночное время?), тогда вы можете создавать файлы в это время.
В зависимости от того, как у вас настроена среда, вы можете реплицировать / регистрировать доставку на определенные серверы баз данных, единственная задача которых - создавать ваши файлы данных.
3)
Нет необходимости разделять файл, HDFS позаботится о разделении файла данных на блоки и репликации по кластеру. По умолчанию он автоматически разбивается на блоки данных по 64 МБ.
см. - Apache - Архитектура HDFS
re: Ответ Войтека - SQOOP щелчок (не работает в комментариях)
Если у вас есть дополнительные вопросы или конкретная информация о среде, дайте нам знать HTH Ральф