この投稿には、ApachePigでUDFを作成するために必要な手順が含まれています。すべてのUDFはフィルター関数を拡張する必要があり、タプルを含むexecというメソッドを含める必要があります。ここで適用されるロジックは、タプルがnullまたはゼロの場合、ブール値TrueまたはFalseを提供するというものです。また、「IsofAge」は、指定された年齢が正しいかどうかを確認するためのものです。ユーザー定義関数のロジックはJavaコードで記述されており、JARファイルが作成されてからエクスポートされます。 JARファイルは後で登録されます。これらのJARファイルは、ロード時にApachePigのライブラリファイルにあります。
パブリッククラスIsOfAgeはFilterFuncを拡張します{ @オーバーライド publicBoolean exec(Tuple tuple)throwsIOException { if(tuple == null || tuple.size()== 0){ returnfalse } 試してください{ オブジェクトobject = tuple.get(0) if(object == null){ returnfalse } inti =(整数)オブジェクト if(i == 18 || i == 19 || i == 21 || i == 23 || i == 27){ returntrue } そうしないと{ returnfalse }} catch(ExecExceptione){ thrownewIOException(e) }}}
豚UDFを呼び出す方法は?
UDFが作成されたら、次のコマンドを使用してJARファイルを登録する必要があります。
Javaの可変および不変オブジェクト
myudf.jarを登録しますX = IsOfAge(age)によるフィルターA
PigでUDFを作成する手順:
ApachePigには複数の定義済み関数があります。また、ユーザー定義関数(UDF)である独自の関数を作成する機能もあります。 Pig UDFはJavaで記述されているため、PigLibraryで事前定義されたクラスを使用する必要があります。 ApachePigライブラリ pig-0.8.0-cdh3u0-core.jar ダウンロードできます インターネットから。
HDFSモードでUDFを使用してPigスクリプトを作成する手順については、ここをクリックしてください。
質問がありますか?コメントセクションでそれらに言及してください。折り返しご連絡いたします。
関連記事:
HDFSモードのUDFを使用したApachePigスクリプト
Javaのクラスとインターフェイスの違い