猪在这里似乎有什么错误?

时间:2016-02-07 05:22:43

标签: csv apache-pig

我正在尝试阅读猪的文件。

A = load 'dataviz/TOP500_201511.csv' using  PigStorage(',') as (Rank:int , Previous Rank:int,
First Appearance:int, First Rank:int, Name:chararray,Computer:chararray,Site:chararray,
Manufacturer:chararray,Country:chararray,Year:int,Segment:chararray,Total Cores:int,
Accelerator/Co-Processor Cores:int,Rmax:int,Rpeak:int,Nmax:int,Nhalf:int,Power:int,
Mflops/Watt:int,Architecture:chararray,Processor:chararray,Processor Technology:chararray,
Processor Speed (MHz):int,Operating System:chararray,OS Family:chararray,
Accelerator/Co-Processor:int,Cores per Socket::chararray,Processor Generation:chararray,
System Model:chararray,System Family:chararray,Interconnect Family:chararray,
Interconnect:chararray,Region:chararray,Continent:chararray); 

但是我收到了一个奇怪的错误。

  

2016-02-06 21:19:50,213 [uber-SubtaskRunner]错误   org.apache.pig.tools.grunt.Grunt - 错误1200:不匹配的输入'Rank'期待RIGHT_PAREN

请帮忙。

1 个答案:

答案 0 :(得分:0)

我们不能拥有多字段的字段名称。而不是逐个字段:上一个排名(多个措辞)将其作为prv_rank或任何名称,只要它是有效的标识符。对于其他字段名称也是如此。

参考https://pig.apache.org/docs/r0.11.0/basic.html#Data+Types+and+More

  

标识符标识符包括关系名称(别名),   字段,变量等。在Pig中,标识符以字母开头   并且可以跟随任意数量的字母,数字或下划线。

     

有效标识符:

     

A A123 abc_123_BeX _

     

无效的标识符:

     

A123 abc $ A!B