У меня есть следующая проблема ... Я работаю с Hive и хочу добавить файл с несколькими (разными) строками строк. В них содержатся поля с фиксированным размером, такие как:Разделительные поля из строки в Hive
A20130420bcd 34 fgh
где поля имеют длину 1,8,6,4,3. Отдельно он будет выглядеть следующим образом:
«А, 20130420, BCD, FGH»
Есть ли возможность читать строки и отсортировать его в поле помимо получения его в качестве подстроки для каждого поля, как
substring(col_value,1,1) Field1
etc? Я бы предположил, что резка уже прочитанной части строки повысит производительность, но я мог бы подумать о любом способе сделать это с заданными функциями here.
Во-вторых, как указано ранее, существуют разные типы строк, упорядоченные и идентифицированные первым символом. Теперь просто проверяйте их с помощью WHERE-Statement, но это ужасно, поскольку он проходит через весь файл, чтобы найти только первая строка. Есть ли способ прочитать определенные строки по их числу? Если я знаю, что первая строка будет определенного типа, можете прочитать ее напрямую?
право это выглядит следующим образом:
insert overwrite table TEST
SELECT
substring(col_value,1,1) field1,
...
substring(col_value,10,3) field 5
from temp_data WHERE substring(col_value,1,1) = 'A';
какие-либо идеи по этому поводу?
Я хотел бы услышать некоторые идеи =)
Улей 0.10.0.21, кто-нибудь? – Maltram
Должен быть какой-то способ обратиться к одной строке по индексу рядом с проверкой определенного поля? – Maltram
Вы беспокоитесь о последствиях производительности нескольких операций подстроки и полного сканирования таблиц? Это Мыс, о котором мы говорим, не так ли? Если производительность является проблемой, просто добавьте больше узлов в ваш кластер. –