SQL запросы к базе Apple Appstore

от автора

Привет!

Прошло некоторое время с момента как я выложил в паблик свой проект в котором агрегирую данные с Apple Appstore, и наконец решил доделать фичу, которую самому не хватало — перегнать основные данные в реляционную СУБД, чтобы было удобнее погонять запросы которые давно чесались руки погонять. Какие? Да любые, например,

select count(*) FROM apps WHERE device_type_MacDesktop ;  /* Сколько приложений только под Макось?*/
select COUNT(DISTINCT application_id) from apps; /* А сколько приложений в аппсторе? */
SELECT COUNT(DISTINCT (IF (seller_name='',artist_name,seller_name))) from apps WHERE language_code = '';  /* Сколько же реально паблишеров в Аппсторе? */; 

Ближе к делу. Этой возможность я делюсь с вами:

mysql -h athena.statsios.com -udemo -pdemo statsios 

Если коротко, то вот какие запросы мне были интересны, и какие данные я получил:

select COUNT(DISTINCT application_id) from apps ; 

Всего ~1,2 миллиона приложений

select COUNT(DISTINCT application_id) from apps WHERE export_date >= 20131210 ; 

Из них реально активных (не удаленных) ~1,08 миллиона

select COUNT(DISTINCT application_id) from apps WHERE language_code='' AND price_USA != '0.00 USD' 

Не-бесплатных приложений ~510 тыс

Или вот еще интересный запрос:

SELECT a.c AS how_many_apps, COUNT(*) as how_many_sellers   FROM  ( select seller_name, count(*) as c FROM apps WHERE seller_name !=  '' GROUP BY seller_name  ) a GROUP BY c ORDER BY how_many_apps ASC; /* распределение количества приложений на паблишеров */ 

Вкратце, около половины паблишеров (~150 тыс.) имеют только одно приложение.

Надеюсь вам интересно самим погонять запросы и посмотреть что к чему.
База актуализируется ежедневно, как только Эпл выкладывает свежие данные партнерам.
В планах перегнать в RDBMS еще и нашу базу изменений, в которой мы трекаем все ежедневные изменения в Аппсторе (скриншоты, описания, etc).
Have fun!

ссылка на оригинал статьи http://habrahabr.ru/post/206496/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *