Hiveでユーザー定義関数を作ってみた。ルールがシンプルでえらく簡単(笑)
ちなみに関数を試すのにOracleのDUALのような1レコードだけ入ったテーブルがあると便利。
SQLのINSERT VALUESがあればそんなテーブルは簡単に作れるんだけど、Hiveには無い。
代用方法を探してデータのロード方法とかSELECTの基礎とかを試した範囲では、少なくとも最初にファイルからデータをロードするテーブルは必要そう。
あ、空テーブルをcount(*)すれば1レコードは取れるから、必ずしもファイルを使う必要は無いかw
ついでに複数レコードの定数値(テストデータ)を無理矢理入れる方法も考え付いたけど、無理矢理すぎて使い勝手は悪い(爆)
つーか「テーブル定義での区切り文字の指定」と「データにその区切り文字が使われないことの保証」はプログラマーがする(Hiveはチェックしない)ので、気をつける必要がある。