Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * 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
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
package org.apache.pig.builtin;
REPLACE implements eval function to replace part of a string. Example: A = load 'mydata' as (name); B = foreach A generate REPLACE(name, 'blabla', 'bla'); The first argument is a string on which to perform the operation. The second argument is treated as a regular expression. The third argument is the replacement string. This is a wrapper around Java's String.replaceAll(String, String);
public class REPLACE extends EvalFunc<String>
Method invoked on every tuple during foreach evaluation

input tuple; first column is assumed to have the column to convert
    public String exec(Tuple inputthrows IOException {
        if (input == null || input.size() < 3)
            return null;
            String source = (String)input.get(0);
            String target = (String)input.get(1);
            String replacewith = (String)input.get(2);
            return source.replaceAll(targetreplacewith);
        }catch(Exception e){
            warn("Failed to process input; error - " + e.getMessage(), .);
            return null;
    public Schema outputSchema(Schema input) {
        return new Schema(new Schema.FieldSchema(null.));
    /* (non-Javadoc)
     * @see org.apache.pig.EvalFunc#getArgToFuncMapping()
    public List<FuncSpecgetArgToFuncMapping() throws FrontendException {
        List<FuncSpecfuncList = new ArrayList<FuncSpec>();
        Schema s = new Schema();
        s.add(new Schema.FieldSchema(null.));
        s.add(new Schema.FieldSchema(null.));
        s.add(new Schema.FieldSchema(null.));
        funcList.add(new FuncSpec(this.getClass().getName(), s));
        return funcList;
New to GrepCode? Check out our FAQ X