Return-Path: X-Original-To: apmail-hive-user-archive@www.apache.org Delivered-To: apmail-hive-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 744AED459 for ; Fri, 19 Oct 2012 06:11:39 +0000 (UTC) Received: (qmail 70115 invoked by uid 500); 19 Oct 2012 06:11:38 -0000 Delivered-To: apmail-hive-user-archive@hive.apache.org Received: (qmail 70023 invoked by uid 500); 19 Oct 2012 06:11:38 -0000 Mailing-List: contact user-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hive.apache.org Delivered-To: mailing list user@hive.apache.org Received: (qmail 69957 invoked by uid 99); 19 Oct 2012 06:11:35 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Oct 2012 06:11:35 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of fellowtree@163.com designates 123.125.50.133 as permitted sender) Received: from [123.125.50.133] (HELO m50-133.163.com) (123.125.50.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Oct 2012 06:11:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Received:Date:From:To:Reply-To:Subject:References: Mime-Version:Message-ID:Content-Type; bh=jGkRATvyg7CZ6qpaLIIA+Er v3udz67kfZklpCOxrnUU=; b=BOBZpGHxjQn0k8u8N+lAvc4giArwVzOB/jdNWJ9 ZHtFCEtiuwC78/wp/TRfrv/hLhyDGA+kk1VspVrhxJI5qJnwJeXtJG1/wZnIJPAl jIAUA6s0Q1d+MyOWMlWbKKoCoRwTzKBHo0sMSL/bJpqNhpBG46AnPjNOfLWtAek4 tfhk= Received: from gongxc-win7 (unknown [218.56.32.12]) by smtp3 (Coremail) with SMTP id DdGowEA5f0j47oBQIFgUAA--.5947S2; Fri, 19 Oct 2012 14:11:04 +0800 (CST) Date: Fri, 19 Oct 2012 14:11:11 +0800 From: "Chris Gong" To: user-hive Reply-To: fellowtree Subject: Re: Re: can i define an udf which can process more than one argument? References: <201210191136069474372@163.com>, X-Priority: 3 X-Has-Attach: no X-Mailer: Foxmail 7.0.1.91[cn] Mime-Version: 1.0 Message-ID: <201210191411108322973@163.com> Content-Type: multipart/alternative; boundary="----=_001_NextPart472532518633_=----" X-CM-TRANSID: DdGowEA5f0j47oBQIFgUAA--.5947S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrtFW3urWkJF4DJFW7JF1UWrg_yoWfurb_ua 92qa97JryUtF1UKws7GrWkt39xJa1UtFyUJayqgwsYkry8ArZ5Cw4kZrs293W3GrZFgF90 grn8u34rCFWS9jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8gVy7UUUUU== X-CM-SenderInfo: xihoz05zwuvvi6rwjhhfrp/xtbB0w5NsUikDGnNqgAAsP X-Virus-Checked: Checked by ClamAV on apache.org This is a multi-part message in MIME format. ------=_001_NextPart472532518633_=---- Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 eWVzICwgaXQgd29ya3MgLCB0aGFuayB5b3UgdmVyeSBtdWNoICBKYW4uDQoNCg0KDQoNCkNocmlz IEdvbmcNCg0KRnJvbTogSmFuIERvbGluw6FyDQpEYXRlOiAyMDEyLTEwLTE5IDEzOjE3DQpUbzog dXNlcjsgZmVsbG93dHJlZQ0KU3ViamVjdDogUmU6IGNhbiBpIGRlZmluZSBhbiB1ZGYgd2hpY2gg Y2FuIHByb2Nlc3MgbW9yZSB0aGFuIG9uZSBhcmd1bWVudD8NCkhpIENocmlzLA0KDQoNCk9mIGNv dXJzZSBpdCBpcyBwb3NzaWJsZSB0byB3cml0ZSBVREYgd2l0aCBhcyBtYW55IHBhcmFtZXRlcnMg YXMgeW91IHdhbnQsIGV2ZW4gd2l0aCB2YXJpYWJsZSBudW1iZXIgb2YgYXJndW1lbnRzLiBIYXZl IGEgbG9vayBhdCB0aGUgbmljZSBhcnRpY2xlIGZyb20gTWFyayBHcm92ZXIgWzFdIGFib3V0IHdy aXRpbmcgVURGcy4gSXQgYWxzbyBjb250YWlucyBsaW5rIHRvIGEgcmVhbC1saWZlIGV4YW1wbGUg WzJdLiANCg0KDQpCZXN0IHJlZ2FyZHMsDQpKYW4gRG9saW5hcg0KDQoNClsxXSBodHRwOi8vbWFy ay50aGVncm92ZXJzLmNhLzEvcG9zdC8yMDEyLzA2L2hvdy10by13cml0ZS1hLWhpdmUtdWRmLmh0 bWwNClsyXSBodHRwczovL2dpdGh1Yi5jb20vbWFya2dyb3Zlci9oaXZlLXRyYW5zbGF0ZS9ibG9i L21hc3Rlci9HZW5lcmljVURGVHJhbnNsYXRlLmphdmENCg0KDQoNCg0KDQpPbiBGcmksIE9jdCAx OSwgMjAxMiBhdCA1OjM2IEFNLCBDaHJpcyBHb25nIDxmZWxsb3d0cmVlQDE2My5jb20+IHdyb3Rl Og0KDQppIGZpbmQgdGhhdCBVREYgY2FuIG9ubHkgcHJvY2VzcyBvbmUgYXJndW1lbnQgbGlrZQ0K cHVibGljIGxvbmcgZXZhbHVhdGUoU3RyaW5nIGlwKSB7DQoNCg0KfQ0KDQoNCmNhbiBpIGRlZmlu ZSBhIHVkZiBsaWtlICBDT0FMRVNDRShUIHYxLCBUIHYyLCDigKYpIG9yICBpZihib29sZWFuIHRl c3RDb25kaXRpb24sIFQgdmFsdWVUcnVlLCBUIHZhbHVlRmFsc2VPck51bGwpPw0KDQoNCg0KDQpD aHJpcyBHb25n ------=_001_NextPart472532518633_=---- Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable =EF=BB=BF
yes , it works , thank you very much  Jan.
 

Chris Gong
 
Date: 2012-10-19 13:17
To: user; fellowtree
Subject: Re: can i define an udf which can process more t= han=20 one argument?
Hi Chris,

Of course it is possible to write UDF with as many parameters as you = want,=20 even with variable number of arguments. Have a look at the nice article fr= om=20 Mark Grover [1] about writing UDFs. It also contains link to a real-life e= xample=20 [2]. 

Best regards,
Jan Dolinar

[1] http://mark.thegrovers.ca/1/post/2012/06/how-to-write-a-hive-udf.html=
[2] https://github.com/markgrover/hive-translate/blob/master/= GenericUDFTranslate.java



On Fri, Oct 19, 2012 at 5:36 AM, Chris Gong <fellowtree@163.com> wrote:
i find that UDF can only process one argument like
public long=20 evaluate(String ip) {
 
}
 
can i define a udf like  COALESCE(T v1, T v2, =E2=80=A6) or&nb= sp; if(boolean=20 testCondition, T valueTrue, T valueFalseOrNull)?
 

Chris=20 Gong


------=_001_NextPart472532518633_=------