Package org.apache.pig.data

Examples of org.apache.pig.data.Tuple


            PigContext pc = new PigContext(ExecType.MAPREDUCE,ConfigurationUtil.toProperties(PigMapReduce.sJobConfInternal.get()));
            try {
                pc.connect();
           
                ld.setPc(pc);
                Tuple dummyTuple = null;
                for(Result res=ld.getNext(dummyTuple);res.returnStatus!=POStatus.STATUS_EOP;res=ld.getNext(dummyTuple)){
                    Tuple tup = (Tuple) res.result;
                    LoadFunc lf = ((LoadFunc)pc.instantiateFuncFromSpec(ld.getLFile().getFuncSpec()));
                    String key = lf.getLoadCaster().bytesToCharArray(((DataByteArray)tup.get(keyField)).get());
                    Tuple csttup = TupleFactory.getInstance().newTuple(2);
                    csttup.set(0, key);
                    csttup.set(1, lf.getLoadCaster().bytesToInteger(((DataByteArray)tup.get(1)).get()));
                    DataBag vals = null;
                    if(replTbl.containsKey(key)){
                        vals = replTbl.get(key);
                    }
                    else{
View Full Code Here


            throw new IOException(e);
        }
       
        if (!next) return null;
       
        Tuple t = null;
    
        try {
            byte[] tagContent = (byte[]) reader.getCurrentValue();
            // No need to create the tuple if there are no contents
            t = (tagContent.length > 0) ? createTuple(tagContent) : null;
View Full Code Here

            mProtoTuple = new ArrayList<Object>();
        }
        if (content.length > 0) {
            mProtoTuple.add(new DataByteArray(content));
        }
        Tuple t = TupleFactory.getInstance().newTupleNoCopy(mProtoTuple);
        mProtoTuple = null;

        return t;
    }
View Full Code Here

        super(delim);
    }
    
    @Override
    public Tuple getNext() throws IOException {
        Tuple tup = super.getNext();
        if (tup == null) return null;

        if ( caster == null) {
            caster = getLoadCaster();
        }
        if (signature != null) {
            Properties p = UDFContext.getUDFContext().getUDFProperties(this.getClass(),
                    new String[] {signature});
            String serializedSchema = p.getProperty(signature+".schema");
            if (serializedSchema == null) return tup;
            try {
                schema = new ResourceSchema(Utils.getSchemaFromString(serializedSchema));
            } catch (ParseException e) {
                mLog.error("Unable to parse serialized schema " + serializedSchema, e);
            }
        }

        if (schema != null) {

            ResourceFieldSchema[] fieldSchemas = schema.getFields();
            int tupleIdx = 0;
            // If some fields have been projected out, the tuple
            // only contains required fields.
            // We walk the requiredColumns array to find required fields,
            // and cast those.
            for (int i = 0; i < fieldSchemas.length; i++) {
                if (mRequiredColumns == null || (mRequiredColumns.length>i && mRequiredColumns[i])) {
                    Object val = null;
                    if(tup.get(tupleIdx) != null){
                        byte[] bytes = ((DataByteArray) tup.get(tupleIdx)).get();
                        val = CastUtils.convertToType(caster, bytes,
                                fieldSchemas[i], fieldSchemas[i].getType());
                    }
                    tup.set(tupleIdx, val);
                    tupleIdx++;
                }
            }
        }
        return tup;
View Full Code Here

        pigServer.registerQuery("B = foreach A generate a0;");
       
        Iterator<Tuple> iter = pigServer.openIterator("B");
       
        assertTrue(iter.hasNext());
        Tuple t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(t.get(0).toString().equals("1"));
       
        assertTrue(iter.hasNext());
        t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(t.get(0).toString().equals("2"));
       
        assertFalse(iter.hasNext());
       
        assertTrue(checkLogFileMessage(new String[]{"Columns pruned for A: $1, $2"}));
    }
View Full Code Here

        pigServer.registerQuery("C = foreach B generate a0, a2;");
       
        Iterator<Tuple> iter = pigServer.openIterator("C");
       
        assertTrue(iter.hasNext());
        Tuple t = iter.next();
        assertTrue(t.size()==2);
        assertTrue(t.get(0).toString().equals("1"));
        assertTrue(t.get(1).toString().equals("3"));
       
        assertTrue(iter.hasNext());
        t = iter.next();
        assertTrue(t.size()==2);
        assertTrue(t.get(0).toString().equals("2"));
        assertTrue(t.get(0).toString().equals("2"));
       
        assertFalse(iter.hasNext());
       
        assertTrue(checkLogFileMessage(new String[]{"Columns pruned for A: $1"}));
       
View Full Code Here

        pigServer.registerQuery("B = foreach A generate a1#'key1';");
       
        Iterator<Tuple> iter = pigServer.openIterator("B");
       
        assertTrue(iter.hasNext());
        Tuple t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(t.get(0).toString().equals("1"));
       
        assertTrue(iter.hasNext());
        t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(t.get(0).toString().equals("2"));
       
        assertFalse(iter.hasNext());
       
        assertTrue(checkLogFileMessage(new String[]{"Columns pruned for A: $0",
                "Map key required for A: $1->[key1]"}));
View Full Code Here

        pigServer.registerQuery("C = foreach B generate a1#'key1';");
       
        Iterator<Tuple> iter = pigServer.openIterator("C");
       
        assertTrue(iter.hasNext());
        Tuple t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(t.get(0).toString().equals("1"));
       
        assertTrue(iter.hasNext());
        t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(t.get(0).toString().equals("2"));
       
        assertFalse(iter.hasNext());
       
        assertTrue(checkLogFileMessage(new String[]{"Columns pruned for A: $0",
                "Map key required for A: $1->[key1]"}));
View Full Code Here

        Collection<String> results = new HashSet<String>();
        results.add("(1)");
        results.add("(2)");
       
        assertTrue(iter.hasNext());
        Tuple t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(results.contains(t.toString()));
       
        assertTrue(iter.hasNext());
        t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(results.contains(t.toString()));

        assertTrue(iter.hasNext());
        t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(results.contains(t.toString()));

        assertTrue(iter.hasNext());
        t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(results.contains(t.toString()));

        assertFalse(iter.hasNext());
       
        assertTrue(checkLogFileMessage(new String[]{"Columns pruned for A: $1, $2",
                "Columns pruned for B: $1"}));
View Full Code Here

        pigServer.registerQuery("H = foreach G generate $1;");
       
        Iterator<Tuple> iter = pigServer.openIterator("H");
       
        assertTrue(iter.hasNext());
        Tuple t = iter.next();
        assertTrue(t.size()==1);
        assertTrue(t.get(0).toString().equals("{(2,2)}"));
       
        assertFalse(iter.hasNext());
       
        assertTrue(checkLogFileMessage(new String[]{"Columns pruned for A: $1",
                "Columns pruned for B: $1"}));
View Full Code Here

TOP

Related Classes of org.apache.pig.data.Tuple

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.