hive
hiveql

HiveQLで文字列にある単語が含まれるレコードを抽出する

More than 1 year has passed since last update.

目的

文字列中に、ある単語が含まれるものだけ抽出したい。

環境や前提条件

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