Невозможно найти прямой ответ на это в любом месте. Я присоединяюсь к входящему набору данных к нескольким большим таблицам, которые раньше жили в таблицах MySQL за веб-службой. Я сбросил таблицы в плоские CSV-файлы в Hadoop, и я использую Pig для загрузки входящих наборов данных и табличных файлов и для выполнения соединений.Лучше читать из улья или плоского файла в Pig?
Это медленное движение, потому что есть несколько файлов таблиц, с которыми можно связаться, и потому, что сами файлы настолько велики. Я просто собираюсь для LEFT OUTER
присоединяется к одному полю, ничего необычного.
Итак, на мой вопрос: есть ли какое-либо преимущество в производительности для загрузки CSV-файлов в таблицы Hive и использования HCatLoader внутри Pig вместо загрузки CSV-файлов? Не похоже, что Hive предоставляет любые преимущества, кроме SQL-подобного интерфейса, для запросов таблиц, что не имеет значения, когда я просто присоединяюсь к набору данных ко всему этому.
Почему бы просто не загружать данные в Улей и не выполнять всю работу там? –
Вы уверены, что загрузка - это ваше узкое место? Внешние соединения кажутся скорее вероятным кандидатом. – gobrewers14
Гордон, у меня есть ограничения проекта, которые не позволят мне это сделать. @GoBrewers Соединения, безусловно, являются узким местом, просто интересно узнать о загружаемой части. – economy