> ## Content Index
> Fetch the complete content index at: https://www.rozhkov.me/llms.txt
> Use this file to discover other available public pages before exploring further.

# Біґдата у терміналі
- URL: https://www.rozhkov.me/bigdata-in-a-shell/
- Published: 2022-07-24T06:00:00.000Z
- Updated: 2022-07-24T11:08:36.000Z
- Author: Vova Rozhkov
- Tags: інструменти

Ще з самого початку існування нашої пиріжок спільноти, мені було цікаво зробити статистику повідомлень. Типу хто скільки за який період написав.

Функція не несе ніякого змісту, але ж цікаво дізнатися, хто найбільше зависає?

Коли робив бота для встановлення кастомних статусів, то вирішив заодно додати туди простеньку статистику.

Після підключення у чат один з учасників поцікавився, з якого періоду вона рахується? Чи можна отримати результати за весь час існування чату?

Я був лінивий, тому не робив ретроспективних підрахунків, але тут стало цікаво самому. Звучить як задача для біґдата інженера!

Телеграм має можливість експортувати історію чату в JSON. Я почав піднімати Spark-кластер на EMR через пачку Terraform шаблонів щоб зробити `groupBy("name").count`, та запустив експорт бо він займає деякий час. На виході отримав файл на 100 мегабайт. Останній раз чат чистився в кінці 2020 року, тому історія збереглась за півтора роки.

Я вже був готовий робити `aws s3 cp chat.json s3://big-data-bucket` та заряджати кластер на роботу, але потім згадав що біґдату можна прогнати баш скріптами.

За пару сек пошуків зібрав команду `cat chat.json | jq '.messages[].from' | sort | uniq -c | sort -nr` яка моментально порахувала мені топ. *Воно там не фільтрує сервісні повідомлення, але то вже хай читач фіксить.*

EMR кластер ще навіть не піднявся, тому я швиденько його загасив.

А тепер уявіть скільки грошей недоотримають AWS, Databricks, GCP, Azure, Snowflake та інші контори, якщо люди будуть трохи думати головою перед тим як запускати [m5d.8xlarge](https://instances.vantage.sh/aws/ec2/m5d.8xlarge) інстанси?

P.S.: виявилося що в топі я на другому місці. Ганьба—скільки часу змарновано!

P.P.S.: порівнювати зі спарком я вже не став, бо то би зайняло трохи більше часу. Для тих кому цікаво, є класична стаття [«](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html)[Command-line Tools can be 235x Faster than your Hadoop Cluster](https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html)».

P.P.P.S.: за ідею підрахунку статистики дякую нашому активному учаснику, пану [наглядачу ](https://t.me/psyson)[Психотрон](https://t.me/psyson)ної в'язниці.