安全退出猪壳命令

Sid*_*Sid 6 hadoop apache-pig

当我在Pig交互式shell环境中输入一些错误的命令时,它会进入如下所示的聆听模式(>>).我如何安全地退出此命令,但仍然留在猪壳环境中.Ctrl + C将我带出了猪壳,然后我放松了我的环境设置.

**grunt> Test_group = group Block2_Prep_filter by (page_visit_id as grp_page_visit_id, page_user_guid as grp_page_user_guid);
>> ;
>> 
>>**
Run Code Online (Sandbox Code Playgroud)

bar*_*lay 4

我查看了pig的源代码。这称为 secondary_prompt(可在 PigScriptParser.jj 中找到,这是 JavaCC 的上下文无关解析器语法文件)。在我看来,它似乎无法摆脱。我尝试了在该代码中看到的很多内容的组合,但没有任何效果。也尝试了所有我能想到的退出类型词,但无济于事。

当我执行Ctrl+时D,它退出并显示:

>> 2013-06-19 12:51:43,632 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000:
Error during parsing. Lexical error at line 83, column 0.  Encountered: <EOF> after : ""
Run Code Online (Sandbox Code Playgroud)

看看 Grunt 类,此时,它确实:

parser.setInteractive(false);
return parser.parseStopOnError();
Run Code Online (Sandbox Code Playgroud)

这对我来说表明交互性此时已经结束。