У меня есть ведро s3, содержащее около 300 гб файлов журнала в определенном порядке.Как мне разделить данные в s3 для использования с улей хаоса?
Я хочу разбить эти данные для использования в hadoop-hive с использованием штампа даты-времени, так что строки журнала, связанные с конкретным днем, сгруппированы вместе в одну и ту же папку s3. Например журнальные записи 1 января будут в файлы, соответствующие следующим именование:
s3://bucket1/partitions/created_date=2010-01-01/file1
s3://bucket1/partitions/created_date=2010-01-01/file2
s3://bucket1/partitions/created_date=2010-01-01/file3
и т.д.
Что бы лучший способ для меня, чтобы преобразовать данные? Я лучше всего запускаю один скрипт, который читает в каждом файле за раз и выводит данные в правильное место s3?
Я уверен, что есть хороший способ сделать это с помощью hadoop, может кто-нибудь сказать мне, что это?
Что я пробовал:
Я попытался с помощью Hadoop-потоковой передачи, передавая картограф, который собрал все записи журнала для каждой даты затем написал, непосредственно в S3, не возвращая ничего для редуктора, но казалось, создавали дубликаты. (используя приведенный выше пример, я закончил с 2,5 миллионами записей за 1 января вместо 1,4 миллиона)
Есть ли у кого-нибудь идеи, как лучше всего подойти к этому?