Я работаю в Hive. Пока это действительно здорово, но у меня проблема с запросом.Hive - Выберите количество записей
У меня есть две таблицы с названием «помечены» и «данные» и вы хотите извлечь данные из одного запроса.
Сначала я хочу извлечь символ из таблицы «отмечены» и подсчитать записи в таблице «данные» между символом (полученным из «помечены») и текущей датой.
Так что я хочу получить один результат, содержащий идентификатор пользователя, символ и количество вхождений этого идентификатора пользователя другой таблицы между комментарием и текущей датой. Я пытаюсь получить этот запрос с часами, но Joins, поскольку я их знаю, не работает. Кто-нибудь может мне помочь?
Большое спасибо!
UPDATE:
К сожалению, я был немного в спешке вчера. Обвините меня в том, что я забыл некоторые подробности.
О схеме:
В таблице отмечены есть только некоторые столбцы. В общей сложности 8. Вот схема этой таблицы:
"name": "Datetime", "type": "long", "logicalType": "timestamp-millis", "name": "Hour", "type": "string", "name": "UserId64", "type": "long" "name": "MemberId", "type": "int" "name": "SegmentId", "type": "int" "name": "IsDailyUnique", "type": "boolean" "name": "IsMonthlyUnique", "type": "boolean" "name": "Value", "type": "int"
Схема другой таблицы называется данных немного сложнее, так как эта таблица содержит более 100 столбцов. Для простоты I контур только важные столбцов:
"name": "Datetime", "type": "long", "logicalType": "timestamp-millis", "name": "Hour", "type": "string", "name": "UserId64", "type": "long" "type": "enum", "name": "EventType", "symbols": ["IMP", "CLICK", "PC_CONV", "PV_CONV"]
Так что, если я делаю запрос как следующий я получаю список с результатом
выбери метка времени (даты и время), час , userid64, segmentid, isdailyunique, ismonthlyunique, дата от отмеченного места где userid64 = 8012570064195370898 и segmentid = 1878696 заказ by datetime desc;
Итоговая таблица содержит данные. Теперь я хочу использовать самую старую полученную дату для моего дальнейшего запроса.
Если мы обратимся к данным таблицы и сделать следующий запрос
выберите метку времени (DateTime), auctionid64, час, типСобытия, mediacostdollarscpm, buyerspend, buyerbid, ECP, ЕАР, isimp, isclick, userid64 , sellerid, publisherid, siteid, sitedomain, AdvertiserId, advertiserfrequency, advertiserrecency, campaigngroupid, CampaignId, CreativeId, creativefreq, creativerec, pixelid, dealid, dealtype, custommodelid, custommodellastmodified, leafname, даты и времени из данных , где userid64 = 8012570064195370898 и AdvertiserId = 327 758 заказ от datetime desc;
вы получите результаты, как показано ниже
2016-08-09 19:33:45.0 5908114946988383281 17 PV_CONV
2016-08-07 19:17:13.0 5908114946988383281 17 IMP
2016-08-07 19:16:29.0 5454485145188351263 17 IMP
2016-08-07 18:52:40.0 1074433759230515153 16 IMP
2016-08-07 18:52:40.0 6991642005216308404 16 IMP
2016-08-07 18:52:13.0 5024645171257244072 16 IMP
2016-08-07 18:51:55.0 5371107932239703086 16 IMP
2016-08-07 18:51:55.0 7321752276741166764 16 IMP
2016-08-07 18:51:01.0 3459181835067844898 16 IMP
2016-08-07 18:50:42.0 6208818658549255015 16 IMP
2016-08-07 18:50:41.0 5373958128201701132 16 IMP
2016-08-07 14:34:07.0 8393280749656213703 12 IMP
Ввоз линия здесь является второй линией. Один после того, как есть знак под названием «PV_CONV».
Что я хочу:
Я хочу, чтобы запрос, который генерирует мне таблицу, содержащую
- Идентификатор_пользователь даты
- мин таблиц отмечена
- даты макс данных таблицы, содержащих event_type "IMP"
- разность во времени между обозначенной датой и максимальной датой данных таблицы
- и с ome другие столбцы данных таблицы.
Есть ли шанс получить это без создания дополнительных таблиц? Все лучшие и благодаря Питер
Пожалуйста, пост схемы таблицы, выборочные данные, ожидаемый результат и запрос, который вы пробовали. –