Apache-pig-tokenize
Apache Pig-トークン化()
Pig Latinの* TOKENIZE()*関数は、単一のタプル内の文字列(単語のグループを含む)を分割するために使用され、分割操作の出力を含むバッグを返します。
構文
以下に、* TOKENIZE()*関数の構文を示します。
- TOKENIZE()関数のデリミタとして、スペース[]、二重引用符[""]、コマ[、]、括弧[()]、星[]を渡すことができます。
例
以下に示すように、HDFSディレクトリ /pig_data/ に student_details.txt という名前のファイルがあると仮定します。 このファイルには、ID、名前、年齢、市などの学生の詳細が含まれています。 注意深く観察すると、学生の名前にはスペースで区切られた姓と名が含まれます[]。
以下に示すように、このファイルをリレーション名 student_details でPigにロードしました。
文字列のトークン化
- TOKENIZE()*関数を使用して文字列を分割できます。 例として、次のようにこの関数を使用して名前を分割します。
検証
以下に示すように、 DUMP 演算子を使用して、リレーション student_name_tokenize を確認します。
出力
次の出力が生成され、リレーション student_name_tokenize の内容が次のように表示されます。
その他のデリメータ
同様に、スペース[]を含むTOKENIZE()関数は、二重引用符[""]、コマ[、]、括弧[()]、星[*]を区切り文字として受け入れます。
例
id、name、age、cityなどの学生の詳細を含む details.txt という名前のファイルがあるとします。 名前列の下に、このファイルには、以下に示すように、さまざまな区切り文字で区切られた生徒の名と姓が含まれています。
以下に示すように、このファイルをリレーション名 details でPigにロードしました。
次に、次のようにTOKENIZE()を使用して、学生の名と姓を区別してみます。
ダンプ演算子を使用して tokenize_data 関係を検証すると、次の結果が得られます。