Apache pig grunt和java上的清管器输出差异
当我在grunt上运行pig脚本时,输出看起来不错。下面是一个例子Apache pig grunt和java上的清管器输出差异,apache-pig,Apache Pig,当我在grunt上运行pig脚本时,输出看起来不错。下面是一个例子 2013-07-08 16:58:40,640 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Success! 2013-07-08 16:58:40,647 [main] INFO org.apache.hadoop.mapreduce.lib.input.FileInputForma
2013-07-08 16:58:40,640 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Success!
2013-07-08 16:58:40,647 [main] INFO org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input paths to process : 1
2013-07-08 16:58:40,647 [main] INFO org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil - Total input paths to process : 1
((email,r@gmail.com),{(rrr24,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr10,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr20,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr23,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr9,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr8,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr22,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr21,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{})})
((email,zzzz@gmail.com),{(rrr0,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr6,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr7,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr3,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr1,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr5,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr4,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{}),(rrr2,(full_name,rachana),email,(state,ca),(birth_year,2013),(gender,female),{})})
grunt>
我可以看到全名、电子邮件、出生年份、性别,但当我使用java运行相同的程序时
package com.chegg.hwh.tracking.dao;
import org.apache.pig.ExecType;
import org.apache.pig.PigServer;
public class HWHDataPigMapReduce {
public static void main(String args[]) throws Exception {
PigServer pigServer = new PigServer(ExecType.LOCAL);
pigServer.registerQuery("rows = LOAD 'cassandra://hwh_tracking/users' USING org.apache.cassandra.hadoop.pig.CassandraStorage();");
pigServer.registerQuery("emailgroup = group rows by email;");
pigServer.dumpSchema("emailgroup");
}
}
输出:
emailgroup: {group: (name: chararray,value: chararray),rows: {(key: chararray,full_name: (name: chararray,value: chararray),email: (name: chararray,value: chararray),state: (name: chararray,value: chararray),birth_year: (name: chararray,value: long),gender: (name: chararray,value: chararray),columns: {(name: chararray,value: bytearray)})}}
我尝试使用as(全名:chararray),但没有区别。我错过了什么。是否可以提供帮助?在您调用的Java代码中
dumpSchema(字符串别名)
,这类似于在grunt中调用description
。这就是输出不同的原因
您可以按如下方式存储查询结果:pigServer.store(“emailgroup”,“out”)代码>
还可以试试getExamples()
,不过我从未使用过它
您可以附加正在grunt中执行的代码吗?rows=LOAD'cassandra://hwh_tracking/users'使用org.apache.cassandra.hadoop.pig.CassandraStorage();emailgroup=通过电子邮件对行进行分组;转储电子邮件组;那么我应该用什么来显示内容呢?