Ошибка Pig Script: java .lang.Long не может быть приведен к java .lang.Integer - PullRequest
0 голосов
/ 03 мая 2020

Я запускаю следующий фрагмент кода для 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

и у нас все та же ошибка.

Знаете почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...