HIVE, разделенный по столбцу, становится равным 0 после вставки данных из другой таблицы - PullRequest
0 голосов
/ 17 сентября 2018

Я использую Hortonworks для создания многораздельной таблицы в HIVE и вставки в нее данных с использованием другой таблицы в HIVE.Проблема заключается в том, что после того, как я вставил данные в созданную мной таблицу, все значения в многораздельном столбце (passenger_count) в результирующей таблице показывают 0, хотя ни одно из значений в исходной таблице не равно 0.

Ниже приведенышаги, которые я предпринял для создания многораздельной таблицы и вставки в нее данных:

  1. Выполните следующий запрос, чтобы создать таблицу с именем date_partitioned:

    create table date_partitioned
    (tpep_dropoff_datetime string, trip_distance double)
    partitioned by (passenger_count int);
    
  2. Выполните следующий запрос для вставки данных в таблицу date_partitioned из другой существующей таблицы:

    INSERT INTO TABLE date_partitioned
    PARTITION (passenger_count)
    SELECT tpep_dropoff_datetime, trip_distance, passenger_count
    FROM trips_raw;
    

Типы столбцов и примеры значений trips_raw:как показано на скриншотах ниже: enter image description here enter image description here

Как видите, столбец passenger_count имеет тип int и содержит ненулевые значения.Но когда я смотрю на результаты из таблицы «date_partitioned», все значения из столбца «passenger_count» показывают 0. В таблице также создан дубликат «passenger_count» (поэтому в нем есть 2 столбца «passenger_count», один из которых пуст).Вы можете увидеть на скриншоте ниже:

enter image description here enter image description here

Любой совет будет принята с благодарностью.Мне любопытно, почему «passenger_count» показывает 0 в приведенной таблице, когда в исходном столбце нет 0, и почему в приведенной таблице есть дополнительный столбец «passenger_count».

1 Ответ

0 голосов
/ 17 сентября 2018

Вы уверены, что все строки, загруженные для passenger_count, равны 0?Можете ли вы сделать COUNT и GROUP BY passenger_count для обеих таблиц?Может быть, вы просто выбираете все нули?

...