使用“declare”定义要加载到pig中的s3url

omvjsjqw  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(254)

我想使用declare来定义一个url,该url将在我的pig代码中的几个地方使用,如下所示:

%declare OUTPUT_S3_DIR s3n://mystuff/shouldgohere/

当我这样做时,我得到以下错误:
错误2999:意外的内部错误。java.net.urisyntaxception:索引0处的方案名称中包含非法字符:“s3n://mystuff/shouldgohere/”
我试过使用所有这些:

%declare OUTPUT_S3_DIR s3n://mystuff/shouldgohere/
 %declare OUTPUT_S3_DIR s3n://mystuff/shouldgohere
 %declare OUTPUT_S3_DIR 's3n://mystuff/shouldgohere/'
 %declare OUTPUT_S3_DIR 's3n://mystuff/shouldgohere'

当我这样使用它时,它似乎不起作用:

rmf '$OUTPUT_S3_DIR';
STORE my_data INTO '$OUTPUT_S3_DIR' USING PigStorage(',');

我对此相当失望,因为这显然是一个简单的语法问题。

gab6jxml

gab6jxml1#

显然,我犯的错误是在rmf命令中。必须是这样

rmf $OUTPUT_S3_DIR;

而不是

rmf '$OUTPUT_S3_DIR';

希望其他人不需要受苦。。。

相关问题