You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Dataproc集群运行Pig脚本报错,参数已正确定义

问题

在Google Dataproc集群运行Pig脚本时遭遇错误,所有输入变量均已正确定义。

Pig脚本内容:

fs -cp -f gs://$codepath/db_password.sh file://$dataprochome/db_password.sh;
fs -cp -f gs://$codepath/jdbc_daily_load_tables.py file://$dataprochome/jdbc_daily_load_tables.py;
sh chmod +x $dataprochome/db_password.sh;
sh chmod +x $dataprochome/jdbc_daily_load_tables.py;
sh $dataprochome/db_password.sh $dataprochome $stg_gcs_bucket $se_stg_gcs_bucket $target_schema $target_table_stg_gm_add_attributes_orbit $target_table_orbit_delivery_partner_icc $kvenv;

报错信息:

2023-02-09 20:05:36,221 [main] ERROR org.apache.pig.Main - ERROR 2997: Encountered IOException. org.apache.pig.tools.parameters.ParseException: Encountered "<EOF>" at line 1, column 6.
Was expecting one of:
    IDENTIFIER
    OTHER
    LITERAL
    SHELLCMD

Details at logfile: /tmp/17114c5e-af3d-4a09-89c4-324250436a76/pig_1675973135671.log
2023-02-09 20:05:36,240 [main] INFO  org.apache.pig.Main - Pig script completed in 712 milliseconds (712 ms)

解决方案

原因分析

该错误是Pig参数解析器处理脚本时,在第1行第6位遇到意外的文件结束符(EOF),即便确认变量已定义,仍可能因变量解析优先级、脚本格式问题触发。

解决步骤

  1. 用单引号包裹Shell变量
    Pig解析器会优先把$开头的内容当作自身参数处理,而非Shell变量。给所有Shell命令中的变量加上单引号,强制交给Shell解析:
fs -cp -f gs://'$codepath'/db_password.sh file://'$dataprochome'/db_password.sh;
fs -cp -f gs://'$codepath'/jdbc_daily_load_tables.py file://'$dataprochome'/jdbc_daily_load_tables.py;
sh chmod +x '$dataprochome'/db_password.sh;
sh chmod +x '$dataprochome'/jdbc_daily_load_tables.py;
sh '$dataprochome'/db_password.sh '$dataprochome' '$stg_gcs_bucket' '$se_stg_gcs_bucket' '$target_schema' '$target_table_stg_gm_add_attributes_orbit' '$target_table_orbit_delivery_partner_icc' '$kvenv';
  1. 修复脚本换行符格式
    确保脚本使用Unix风格的LF换行符,而非Windows的CRLF。Linux环境下CRLF会干扰Pig解析,可通过dos2unix命令转换脚本格式后再运行。

  2. 改用参数文件传递变量
    若直接在脚本中使用Shell变量仍有问题,可将变量定义在单独的参数文件(如params.txt)中,格式为codepath=gs://your-target-path,启动Pig时通过-param_file params.txt参数让Pig负责解析变量。

内容的提问来源于stack exchange,提问作者Big data Pyspark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 08:40:42