Я запускаю следующий фрагмент кода для Pig:
publisher_hour_listings_cdf = foreach rscf_pub_hours_cumsum_proj generate
rscf_publisher_id,
rscf_is_uw,
rscf_hour,
(int)rscf_hour as rscf_hour_int,
rscf_cum_listings,
total_daily_listings,
(rscf_cum_listings*1.0)/(total_daily_listings*1.0) as cdf,
'$handledDate$';
и получаю ошибку:
2020-05-02 04: 31: 53,130 ИНФОРМАЦИЯ - [Шаг ] - нить 74038 - /opt/pig/pig-0.17.0/bin/pig: [main] ОШИБКА org. apache .pig.tools.pigstats.PigStats - ОШИБКА 0: org. apache .pig.backend .executionengine.ExecException: ОШИБКА 0: Исключительная ситуация при выполнении (Имя: publisher_hour_listings_cdf: Новый для каждого (ложь, ложь, ложь, ложь, ложь, ложь, ложь, ложь) [bag] - scope-203 Ключ оператора: scope-203) : org. apache .pig.backend.executionengine.ExecException: ОШИБКА 0: Исключительная ситуация при выполнении [POCast (Имя: Cast [long] - ключ оператора scope-171: scope-171) потомков: [[POProject (Name: Project) [int] [3] - ключ оператора scope-170: scope-170) children: null at []]] at [rscf_cum_listings [-1, -1]]]: java .lang.ClassCastException: java .lang.Long нельзя привести к java .lang.Integer
Мы думали, что Свинья не может привести Long к Integer. Мы попытались привести с «biginteger» вместо «int»:
(biginteger)rscf_hour as rscf_hour_int
, и скрипт также завершился ошибкой с тем же сообщением об ошибке.
Мы также попытались удалить преобразование int в все:
rscf_hour as rscf_hour_int
и у нас все та же ошибка.
Знаете почему?