目的
文字列中に、ある単語が含まれるものだけ抽出したい。
環境や前提条件
Hive のバージョン: 0.13.1
方法
「ワイルドカード」を使う。
「ワイルドカード」を使うためには、WHERE 句の中で、LIKEを用いる。
ワイルドカード文字
ワイルドカード文字 | 説明 |
---|---|
% | 任意の長さ(ゼロを含む)の文字列 |
_ | 任意の1文字 |
サンプル
「木田」を含む名前を抽出する。
select_kida.hql
SELECT name
FROM name_list
WHERE name LIKE '%木田%'
name_list
name
----------------
荒木田 三郎
太田 大介
木田沼 花江
木田 太郎
木田 花子
木田 次郎
佐藤 三郎
鈴木 次郎
田中 太郎
result
荒木田 三郎
木田沼 花江
木田 太郎
木田 花子
木田 次郎
引用元や参考元
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
http://www.wakhok.ac.jp/biblion/1994/DB/subsection2.4.3.5.html
https://docs.aws.amazon.com/ja_jp/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_SupportedHiveVersions.html