我正在Parquet
中阅读PIG
个日志。日志架构包含嵌套在字段FULL
下的字段USER
。由于FULL
是Pig中的关键字,因此无法加载文件。 Pig正在给出编译时错误。没有办法逃脱这样的字段名称。更改架构中的列名真的不利。这是我用来加载
user_parquet = LOAD 'test' USING org.apache.parquet.pig.ParquetLoader();
user_normalized = FOREACH user_parquet GENERATE ..... USER.FULL as user_full ...
我尝试使用\, ``, ''
进行转义,但没有一个有效!
答案 0 :(得分:1)
基本上我通过使用字段编号而不是字段名称引用字段来解决问题: -
user_parquet = LOAD 'test' USING org.apache.parquet.pig.ParquetLoader();
user_normalized = FOREACH user_parquet GENERATE ..... USER.$0 as user_full ...
Pig,与任何其他语言一样,如果用作变量名,则无法转义关键字。