Size: a a a

2021 January 26

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
если дописывать в уже имеющийся файл, то это лишь фикция, на деле все равно много кусков, так?
По сути да
источник

MB

Maksim Batsiuk in Data Engineers
Anton Zadorozhniy
По сути да
а есть опыт как в данном случае реализовать хороший способ обработки таких мелких файлов?
источник

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
а есть опыт как в данном случае реализовать хороший способ обработки таких мелких файлов?
Писать записи из Кафки сразу в большие файлы или (хуже) писать мелкие с периодическими джобами которые компактят данные
источник

MB

Maksim Batsiuk in Data Engineers
Anton Zadorozhniy
Писать записи из Кафки сразу в большие файлы или (хуже) писать мелкие с периодическими джобами которые компактят данные
первый вариант не очень понял
источник

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
первый вариант не очень понял
Вы открываете консьюмера, читаете сообщения и пишете сообщения подряд в файл; когда добегает до «большой файл» (или сообщений давно не было, или след час начался, условия можете придумать) - закрываете, коммитите оффсет, начинаете заново
источник

AZ

Anton Zadorozhniy in Data Engineers
Так делает Kafka connect hdfs sink
источник

MB

Maksim Batsiuk in Data Engineers
Anton Zadorozhniy
Вы открываете консьюмера, читаете сообщения и пишете сообщения подряд в файл; когда добегает до «большой файл» (или сообщений давно не было, или след час начался, условия можете придумать) - закрываете, коммитите оффсет, начинаете заново
получается день пишу в один локальный файл и вечером отправлю в хадуп, верно?
источник

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
получается день пишу в один локальный файл и вечером отправлю в хадуп, верно?
Зависит от потока, обычно закрывают файлы почаще
источник

AZ

Anton Zadorozhniy in Data Engineers
И не локальный, а в HDFS
источник

MB

Maksim Batsiuk in Data Engineers
Anton Zadorozhniy
И не локальный, а в HDFS
в hdfs методом append ()?
источник

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
в hdfs методом append ()?
Почему append, обычный write
источник

MB

Maksim Batsiuk in Data Engineers
hadoop это ведь оболочка над Unix файловой системой, я думал может писать просто локально, а потом уже большой файл укладывать в hdfs
источник

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
hadoop это ведь оболочка над Unix файловой системой, я думал может писать просто локально, а потом уже большой файл укладывать в hdfs
Нет, HDFS это не оболочка, это самостоятельная система, объектный сторадж которые предоставляет похожий на ФС интерфейс
источник

MB

Maksim Batsiuk in Data Engineers
Anton Zadorozhniy
Почему append, обычный write
если write, это каждый раз создавать новый файл, верно понимаю?
источник

AZ

Anton Zadorozhniy in Data Engineers
Если класть сначала в локальный файл то сложнее гарантии обеспечить, ещё одна точка отказа
источник

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
если write, это каждый раз создавать новый файл, верно понимаю?
Нет, вы открываете один файл и пишете в него пока ваши критерии закрытия файла не достигнуты
источник

MB

Maksim Batsiuk in Data Engineers
Anton Zadorozhniy
Нет, вы открываете один файл и пишете в него пока ваши критерии закрытия файла не достигнуты
я думал про это, но у меня возникло опасение что для того чтобы файл получился большой, придётся почти целый день держать его открытым, чтобы напомнить и тогда есть проблема того, что приложение слетит и данные за день будут утеряны
источник

AZ

Anton Zadorozhniy in Data Engineers
Maksim Batsiuk
я думал про это, но у меня возникло опасение что для того чтобы файл получился большой, придётся почти целый день держать его открытым, чтобы напомнить и тогда есть проблема того, что приложение слетит и данные за день будут утеряны
Закрывайте файл чаще, ну и не коммитте оффсет в кафку пока файл не закрыли в HDFS
источник

MB

Maksim Batsiuk in Data Engineers
и вторая проблема, что мне нужно писать не в один файл, а в несколько, я даже не знаю со временем на сколько это количество может возрасти, там просто идёт парсинг входящего файла и по одному из полей создаётся каталог
источник

MB

Maksim Batsiuk in Data Engineers
получается на вход идёт много файлов и они укладываются не в один каталог, а в разные, сейчас их например не более 10
источник