猪中的多存储

MultiStorage in pig

我在 g运行t shell

中有 运行 下面的 pig 脚本
Register D:\Pig\contrib\piggybank\java\piggybank.jar;

a = load '/part' using PigStorage(',') as (uuid:chararray,timestamp:chararray,Name:chararray,EmailID:chararray,CompanyName:chararray,Location:chararray);

store a  into '/output/multistorage' USING MultiStorage('/output/multistorage','2', 'none', ',');

虽然 运行 这样做会抛出如下所示的错误

2015-11-03 05:47:36,328 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 10
70: Could not resolve MultiStorage using imports: [, java.lang., org.apache.pig.
builtin., org.apache.pig.impl.builtin.]

谁能帮我解决这个问题?

您没有按照日志声明导入函数。如果您确实可以访问该 jar,您可以尝试以下代码(缺少一行):

REGISTER D:\Pig\contrib\piggybank\java\piggybank.jar; 
DEFINE MULTISTORAGE org.apache.pig.piggybank.storage.MultiStorage(); 
a = LOAD'/part' USING PigStorage(',') AS (uuid:chararray,timestamp:chararray,Name:chararray,EmailID:chararray,CompanyName:chararray,Location:chararray); 
STORE a  into '/output/multistorage' USING MULTISTORAGE('/output/multistorage','2', 'none', ',');

然后您将按名称进行分区。