[ 
https://issues.apache.org/jira/browse/PHOENIX-2098?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14621801#comment-14621801
 ] 

ASF GitHub Bot commented on PHOENIX-2098:
-----------------------------------------

Github user siddhimehta commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/98#discussion_r34329942
  
    --- Diff: 
phoenix-pig/src/main/java/org/apache/phoenix/pig/udf/ReserveNSequence.java ---
    @@ -0,0 +1,88 @@
    +/**
    + * 
    + */
    +package org.apache.phoenix.pig.udf;
    +
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements. See the NOTICE
    + * file distributed with this work for additional information regarding 
copyright ownership. The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the "License"); you may 
not use this file except in compliance with the
    + * License. You may obtain a copy of the License at 
http://www.apache.org/licenses/LICENSE-2.0 Unless required by
    + * applicable law or agreed to in writing, software distributed under the 
License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
implied. See the License for the specific language
    + * governing permissions and limitations under the License.
    + */
    +import java.io.IOException;
    +import java.sql.Connection;
    +import java.sql.ResultSet;
    +import java.sql.SQLException;
    +
    +import org.apache.hadoop.conf.Configuration;
    +import org.apache.hadoop.hbase.HConstants;
    +import org.apache.phoenix.mapreduce.util.ConnectionUtil;
    +import org.apache.pig.EvalFunc;
    +import org.apache.pig.data.Tuple;
    +import org.apache.pig.impl.util.UDFContext;
    +
    +import com.google.common.base.Preconditions;
    +
    +/**
    + * UDF to Reserve a chunk of numbers for a given sequence
    + * 
    + * @note The way this UDF is invoked we open a new connection for every 
tuple row. The UDF will not perform well on
    + *       large datasets as it involves creating a new connection for every 
tuple row
    + */
    +public class ReserveNSequence extends EvalFunc<Long> {
    +
    +    public static final String INVALID_TUPLE_MESSAGE = "Tuple should have 
correct fields(NumtoReserve,SequenceName,zkquorum.";
    +    public static final String EMPTY_SEQUENCE_NAME_MESSAGE = "Sequence 
name should be not null";
    +    public static final String EMPTY_ZK_MESSAGE = "ZKQuorum should be not 
null";
    +    public static final String INVALID_NUMBER_MESSAGE = "NUmber of 
Sequences to Reserve should be greater than 0";
    +    public static final String SEQUENCE_NAME_CONF_KEY = 
"phoenix.sequence.name";
    +
    +    /**
    +     * Reserve N next sequences for a sequence name. N is the first field 
in the tuple. Sequence name is the second
    +     * field in the tuple zkquorum is the third field in the tuple
    +     */
    +    @Override
    +    public Long exec(Tuple input) throws IOException {
    --- End diff --
    
    UDF that taken in tuple with number,sequenceName,ZkEndpoint and bulk 
reserves the sequence


> Pig Udf that given a count Reserve chunks of numbers for a sequence
> -------------------------------------------------------------------
>
>                 Key: PHOENIX-2098
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2098
>             Project: Phoenix
>          Issue Type: New Feature
>            Reporter: Siddhi Mehta
>            Assignee: Siddhi Mehta
>
> Following up on the Jira to bulk reserve sequence's. PHOENIX-1954. 
> Adding a UDF to enable bulk reserve of sequence's from Pig



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to