Size: a a a

2021 September 12

A

Alex in Data Engineers
Потому что баш кли на каждую команду подымал jvm с hadoop либами и создавал новое соединение

В python почти всегда это web hdfs rest и там свои заморочки. Есть конечно и подгрузка нативных либ, но оно так себе работало

Поэтому java api самое адекватное
источник

A

Alex in Data Engineers
Поднял соединение и загнал десятки тысяч команд за пару секунд
источник

ЕГ

Евгений Глотов... in Data Engineers
По идее pyarrow через c++ libhdfs работает
источник

A

Alex in Data Engineers
Хоть hdfs обходи, хоть ещё что делаешь
источник

A

Alex in Data Engineers
libhdfs внутри подымает libjvm.so и через jni java классы дёргает

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/LibHdfs.html
источник

ЕГ

Евгений Глотов... in Data Engineers
Ну это всё равно побыстрее должно быть, чем кли
источник

GP

Grigory Pomadchin in Data Engineers
ппц, а нативного нет клиента? вроде ж было что-то или я путаю
источник

A

Alex in Data Engineers
Там есть плюсовая реализация для нативного протокола

Плюс ещё одна из Apache  hawq тоже сразу в hdfs протокол умеет
источник

A

Alex in Data Engineers
источник

A

Alex in Data Engineers
hdfspp
источник

A

Alex in Data Engineers
На плюсах что говорил
источник

A

Alex in Data Engineers
источник

A

Alex in Data Engineers
Ну и у hawq нативный клиент

Llibhdfs3
(тройка там всегда была, хотя третий хадуп добавили недавно)
источник

A

Alex in Data Engineers
libhdfs/libhdfspp/libhdfs3 все имеют разный апи, поэтому друг друга просто так не поменять

Arraw вроде под все имеет питон биндинги, но я не тестировал
источник

ЕГ

Евгений Глотов... in Data Engineers
Да там какая-то жопа, ещё хрен заведёшь это барахло без судо
источник

A

Alex in Data Engineers
Поэтому почти все питон клиенты по ресту ходят :)
источник

ЕГ

Евгений Глотов... in Data Engineers
В смысле webhdfs?
источник

ЕГ

Евгений Глотов... in Data Engineers
Он же тормозит
источник

Д

Дмитрий in Data Engineers
С pyspark можно работать тоже быстро  если понимать что там биндинг к jvm. Но scala конечно проще и красивее  всетапи это jvm.
источник

Д

Дмитрий in Data Engineers
Ну и hadoop, это все res api, там нативное libhadoop, нужен для работы только с локальными для ноды обьектами.
источник