Пожалуйста, проверьте ссылку для получения информации о результате и таблице. Мне нужно запросить строки со значением «343» в столбце B с регулярным выражением. Все столбцы представляют собой строки. Также, пожалуйста, укажите любые хорошие учебные материалы по написанию хорошего REGEX в Hive. Спасибо
это будет работать:
select * from tablename where regexp_like(B,'(.*)(343)(.*)');
эквивалент улья:
select * from tablename where rlike(B,'(.*)(343)(.*)');
Для Hive используйте это:
select * from tablename where B rlike '343';
Проверяем, работает:
hive> select '123435' rlike '343';
OK
_c0
true
Отрицательный тест:
hive> select '12345' rlike '343';
OK
_c0
false
Time taken: 1.675 seconds, Fetched: 1 row(s)
Hive использует регулярное выражение типа Java. Вы можете найти полезные ссылки и практику здесь: https://regexr.com/ и, конечно же, regex101