Pig 中似乎有啥错误?

Posted

技术标签:

【中文标题】Pig 中似乎有啥错误?【英文标题】:What seems to be error here in Pig?Pig 中似乎有什么错误? 【发布时间】:2016-02-07 05:22:43 【问题描述】:

我正在尝试在 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】:

我们不能有多字字段名称。而不是按名称的字段:以前的排名(多字)将其作为 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

【讨论】:

以上是关于Pig 中似乎有啥错误?的主要内容,如果未能解决你的问题,请参考以下文章

Pig:错误 1045:无法将 COUNT 的匹配函数推断为多个匹配或都不匹配。请使用显式演员表

在 Pig 中出现错误为“错误编译运算符 POLocalRearrange”

Pig 安装错误:错误 pig.Main:错误 2998:未处理的内部错误

在 pig 中使用 UDF 时出现错误 1070

是否可以在 Pig 中管理 NO FILE 错误?

PIG 错误:从关系中读取属性时