Created
February 26, 2019 18:23
-
-
Save igorbrigadir/80638589973fbb172c9b8abcf1ce0d71 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:21:41.310151Z", | |
| "start_time": "2019-02-26T18:21:40.905070Z" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "import numpy as np\n", | |
| "import pandas as pd\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "\n", | |
| "import zstandard as zstd\n", | |
| "from io import TextIOWrapper\n", | |
| "\n", | |
| "from collections import defaultdict" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:21:41.330110Z", | |
| "start_time": "2019-02-26T18:21:41.311603Z" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def melt_snowflake(snowflake_id):\n", | |
| " \"\"\"return tuple of snowflake components given a tweet id\"\"\"\n", | |
| " timestamp_ms = ((snowflake_id >> 22) + 1288834974657)\n", | |
| " datacenter_id = (snowflake_id >> 17) & 0b11111\n", | |
| " worker_id = (snowflake_id >> 12) & 0b11111\n", | |
| " sequence_id = snowflake_id & 0b111111111111\n", | |
| " # this is a combination of worker_id id and datacenter id\n", | |
| " machine_id = (snowflake_id >> 12) & 0b1111111111\n", | |
| " return (timestamp_ms, datacenter_id, worker_id, sequence_id, machine_id)\n", | |
| "\n", | |
| "def plt_counter(c):\n", | |
| " labels, values = zip(*c.items())\n", | |
| " indexes = np.arange(len(labels))\n", | |
| " width = 0.95\n", | |
| " plt.figure(figsize=(15,5))\n", | |
| " plt.bar(indexes, values, width)\n", | |
| " plt.xticks(indexes + width * 0.5, labels)\n", | |
| " plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:21:41.346300Z", | |
| "start_time": "2019-02-26T18:21:41.333560Z" | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "# defaultdict is faster than Counter()\n", | |
| "datacenters = defaultdict(int)\n", | |
| "workers = defaultdict(int)\n", | |
| "sequences = defaultdict(int)\n", | |
| "machines = defaultdict(int)\n", | |
| "total_tweets = defaultdict(int)\n", | |
| "\n", | |
| "def count_components(tweet_id):\n", | |
| " parts = melt_snowflake(tweet_id)\n", | |
| " datacenters[parts[1]] += 1\n", | |
| " workers[parts[2]] += 1\n", | |
| " sequences[parts[3]] += 1\n", | |
| " machines[parts[4]] += 1\n", | |
| " total_tweets['ids'] += 1 " | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:50.768668Z", | |
| "start_time": "2019-02-26T18:21:41.348518Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Processed 43956390 tweets\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "path = 'TREC2015-tweetids.txt.zst'\n", | |
| "\n", | |
| "with open(path, 'rb') as fh:\n", | |
| " decompressor = zstd.ZstdDecompressor()\n", | |
| " with decompressor.stream_reader(fh, read_size=64192) as reader: #\n", | |
| " with TextIOWrapper(reader, encoding='UTF-8', newline='\\n', line_buffering=True) as line_reader:\n", | |
| " for line in line_reader:\n", | |
| " count_components(int(line)) \n", | |
| "\n", | |
| "print(\"Processed\", total_tweets['ids'], \"tweets\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:50.778351Z", | |
| "start_time": "2019-02-26T18:22:50.770998Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[320,\n", | |
| " 321,\n", | |
| " 323,\n", | |
| " 326,\n", | |
| " 327,\n", | |
| " 329,\n", | |
| " 331,\n", | |
| " 332,\n", | |
| " 336,\n", | |
| " 337,\n", | |
| " 353,\n", | |
| " 354,\n", | |
| " 357,\n", | |
| " 359,\n", | |
| " 360,\n", | |
| " 362,\n", | |
| " 363,\n", | |
| " 364,\n", | |
| " 367,\n", | |
| " 368]" | |
| ] | |
| }, | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# All Machine IDs in TREC Tweets\n", | |
| "sorted(machines.keys())" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:51.306941Z", | |
| "start_time": "2019-02-26T18:22:50.781374Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f7f0c6f2780>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt_counter(sequences)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:51.316456Z", | |
| "start_time": "2019-02-26T18:22:51.309764Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "defaultdict(int,\n", | |
| " {0: 34006666,\n", | |
| " 1: 7208821,\n", | |
| " 2: 1161513,\n", | |
| " 3: 163420,\n", | |
| " 4: 999521,\n", | |
| " 5: 311015,\n", | |
| " 6: 60669,\n", | |
| " 7: 9671,\n", | |
| " 8: 23058,\n", | |
| " 9: 8681,\n", | |
| " 10: 1964,\n", | |
| " 11: 396,\n", | |
| " 12: 512,\n", | |
| " 13: 235,\n", | |
| " 14: 69,\n", | |
| " 15: 28,\n", | |
| " 16: 31,\n", | |
| " 17: 16,\n", | |
| " 18: 14,\n", | |
| " 19: 10,\n", | |
| " 20: 9,\n", | |
| " 21: 5,\n", | |
| " 22: 4,\n", | |
| " 23: 3,\n", | |
| " 24: 3,\n", | |
| " 25: 3,\n", | |
| " 26: 1,\n", | |
| " 27: 4,\n", | |
| " 28: 2,\n", | |
| " 29: 2,\n", | |
| " 31: 3,\n", | |
| " 32: 1,\n", | |
| " 33: 1,\n", | |
| " 34: 2,\n", | |
| " 35: 1,\n", | |
| " 36: 2,\n", | |
| " 37: 3,\n", | |
| " 38: 1,\n", | |
| " 39: 2,\n", | |
| " 40: 1,\n", | |
| " 41: 1,\n", | |
| " 42: 1,\n", | |
| " 43: 1,\n", | |
| " 45: 1,\n", | |
| " 46: 1,\n", | |
| " 47: 1,\n", | |
| " 48: 3,\n", | |
| " 50: 3,\n", | |
| " 51: 2,\n", | |
| " 52: 2,\n", | |
| " 54: 1,\n", | |
| " 55: 1,\n", | |
| " 56: 1,\n", | |
| " 57: 1,\n", | |
| " 58: 1,\n", | |
| " 59: 1,\n", | |
| " 60: 1,\n", | |
| " 63: 1,\n", | |
| " 80: 1,\n", | |
| " 87: 1,\n", | |
| " 88: 1})" | |
| ] | |
| }, | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "sequences" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:51.332695Z", | |
| "start_time": "2019-02-26T18:22:51.319399Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "defaultdict(int, {10: 23029374, 11: 20927016})" | |
| ] | |
| }, | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "datacenters" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:51.546211Z", | |
| "start_time": "2019-02-26T18:22:51.335245Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f7f0989f048>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt_counter(workers)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:51.787088Z", | |
| "start_time": "2019-02-26T18:22:51.548732Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x7f7f0989f5f8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt_counter(machines)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": { | |
| "ExecuteTime": { | |
| "end_time": "2019-02-26T18:22:51.793579Z", | |
| "start_time": "2019-02-26T18:22:51.789315Z" | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "defaultdict(int,\n", | |
| " {320: 2302480,\n", | |
| " 321: 2302821,\n", | |
| " 323: 2302907,\n", | |
| " 326: 2302221,\n", | |
| " 327: 2307031,\n", | |
| " 329: 2302184,\n", | |
| " 331: 2303465,\n", | |
| " 332: 2303599,\n", | |
| " 336: 2300150,\n", | |
| " 337: 2302516,\n", | |
| " 353: 2092357,\n", | |
| " 354: 2092798,\n", | |
| " 357: 2095881,\n", | |
| " 359: 2092744,\n", | |
| " 360: 2092296,\n", | |
| " 362: 2092223,\n", | |
| " 363: 2096692,\n", | |
| " 364: 2090417,\n", | |
| " 367: 2087621,\n", | |
| " 368: 2093987})" | |
| ] | |
| }, | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "machines" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.6.4" | |
| }, | |
| "varInspector": { | |
| "cols": { | |
| "lenName": 16, | |
| "lenType": 16, | |
| "lenVar": 40 | |
| }, | |
| "kernels_config": { | |
| "python": { | |
| "delete_cmd_postfix": "", | |
| "delete_cmd_prefix": "del ", | |
| "library": "var_list.py", | |
| "varRefreshCmd": "print(var_dic_list())" | |
| }, | |
| "r": { | |
| "delete_cmd_postfix": ") ", | |
| "delete_cmd_prefix": "rm(", | |
| "library": "var_list.r", | |
| "varRefreshCmd": "cat(var_dic_list()) " | |
| } | |
| }, | |
| "types_to_exclude": [ | |
| "module", | |
| "function", | |
| "builtin_function_or_method", | |
| "instance", | |
| "_Feature" | |
| ], | |
| "window_display": false | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment