Я почти уверен, что первый будет более эффективным. Я имею в виду две оконные функции против двух оконных функций, фильтрации и двух объединений?
После умножения количества столбцов может возникнуть проблема, которая будет быстрее. Тем не менее, посмотрите на план выполнения. Я ожидаю, что все оконные функции, использующие одну и ту же спецификацию оконного фрейма, будут использовать одну и ту же обработку "windows", с простыми настройками для каждого значения.
Hive не очень хорошо поддерживает сложные типы данных, такие как строки и массивы. В таких базах данных достаточно просто указать сложный тип.