Как рассчитать процент записей при сравнении таблиц улья? - PullRequest
0 голосов
/ 06 февраля 2019

Есть две таблицы Hive, называемые table1 и table2.Я получил количество обеих этих таблиц.Я создал третью таблицу с именем abc с несоответствующими записями из таблиц table1 и table2.Как я могу получить процент от количества записей в таблице abc по сравнению со всем количеством таблиц table1 и table2?

  1. выбрать количество (*) из таблицы1 A
  2. выбрать количество (*) из таблицы2 B
  3. создать таблицу dbo.abc как выбрать A.column1, A.columnb из таблицы A, внутренняя таблица соединений B, где A.column3 <> B.column3

  4. как получить процент записей в таблице abc?например: count (*) от abc -------------------- 100 count () от A + B

Ожидаемый результат: Пример: number_of_non_matching_records = 20%

1 Ответ

0 голосов
/ 06 февраля 2019

Вы пытаетесь сделать это одним утверждением?

select count(*) as combos_in_ab,
       sum(case when a.column3 <> b.column3 then 1 else 0 end) as combos_in_3,
       avg(case when a.column3 <> b.column3 then 1.0 else 0 end) as percent_in_3
from a cross join
     b;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...