Я хотел бы упростить адрес электронной почты в Hive, удалив все ненужное.Я уже могу удалить "."используя «translate ()», однако gmail также позволяет игнорировать все, что находится между «+» и «@».В Teradata работает следующее регулярное выражение:
select REGEXP_REPLACE('test+friends@gmail.com', '\+.+\\@' ,'\\@');
дает: 'test@gmail.com', но в Hive я получаю:
FAILED: SemanticException [Ошибка 10014]: Строка 1: 7 Неправильные аргументы '' \ @ '': org.apache.hadoop.hive.ql.metadata.HiveException: Невозможно выполнить открытый метод org.apache.hadoop.io.Text org.apache.hadoop.hive.ql.udf.UDFRegExpReplace.evaluate (org.apache.hadoop.io.Text, org.apache.hadoop.io.Text, org.apache.hadoop.io.Text) для объекта org.apache.hadoop.hive.ql.udf.UDFRegExpReplace@131b58d4 класса org.apache.hadoop.hive.ql.udf.UDFRegExpReplace с аргументами {test+friends@gmail.com: org.apache.hadoop.io.Text, +. + @: org.apache.hadoop.io.Text, @: org.apache.hadoop.io.Text} размером 3
Как мне заставить это регулярное выражение работать в Hive?