Skip to content

Instantly share code, notes, and snippets.

@igorbrigadir
Created February 26, 2019 18:23
Show Gist options
  • Save igorbrigadir/80638589973fbb172c9b8abcf1ce0d71 to your computer and use it in GitHub Desktop.
Save igorbrigadir/80638589973fbb172c9b8abcf1ce0d71 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"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