Skip to content

Instantly share code, notes, and snippets.

@JasonTam
Last active October 24, 2017 16:22
Show Gist options
  • Save JasonTam/ae3a432b7742475c03aa5ca4f2fbf542 to your computer and use it in GitHub Desktop.
Save JasonTam/ae3a432b7742475c03aa5ca4f2fbf542 to your computer and use it in GitHub Desktop.
Comparison of avro, msgpack, parquet
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/jtam/anaconda2/envs/ipykernel_py3/lib/python3.6/site-packages/IPython/html.py:14: ShimWarning: The `IPython.html` package has been deprecated since IPython 4.0. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.\n",
" \"`IPython.html.widgets` has moved to `ipywidgets`.\", ShimWarning)\n"
]
}
],
"source": [
"import os\n",
"import glob\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"from IPython.display import display\n",
"import seaborn\n",
"from time import time\n",
"\n",
"import pandas as pd\n",
"import pyarrow as pa\n",
"import pyarrow.parquet as pq\n",
"from dask import dataframe as dd\n",
"from dask import delayed\n",
"import fastavro as avro\n",
"\n",
"DIR_DATA = '/Users/jtam/Documents/gilt/cerebro-deep-rec-engine/data/gilt/'\n",
"PATH_DATA = os.path.join(\n",
" DIR_DATA, 'train/profile/user-product_activity_counts/')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"toc_d = {}"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"glob_msg = glob.glob(os.path.join(PATH_DATA, '*', '*.msg'))\n",
"glob_avro = glob.glob(os.path.join(PATH_DATA, '*', '*.avro'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# MsgPack DF"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"# parts: 23\n",
"0.8547182083129883\n"
]
}
],
"source": [
"print(f'# parts: {len(glob_msg)}')\n",
"tic = time()\n",
"lazy_dfs = []\n",
"# Lazily read each partition with the appropriate read function\n",
"for p in glob_msg:\n",
" df = delayed(pd.read_msgpack)(p)\n",
" lazy_dfs.append(df)\n",
"# Use first partition as the source of metadata (schema)\n",
"ret_dd = dd.from_delayed(lazy_dfs, meta=lazy_dfs[0].compute())\n",
"df = ret_dd.compute()\n",
"toc_d['msg_dask'] = time() - tic\n",
"print(toc_d['msg_dask'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Avro"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def read_avro_to_df(p):\n",
" buf = open(p, 'rb')\n",
" reader = avro.reader(buf)\n",
" df = pd.DataFrame(list(reader))\n",
" return df"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"# parts: 23\n",
"42.12073588371277\n"
]
}
],
"source": [
"print(f'# parts: {len(glob_avro)}')\n",
"tic = time()\n",
"lazy_dfs = []\n",
"# Lazily read each partition with the appropriate read function\n",
"for p in glob_avro:\n",
" df = delayed(read_avro_to_df)(p)\n",
" lazy_dfs.append(df)\n",
"# Use first partition as the source of metadata (schema)\n",
"ret_dd = dd.from_delayed(lazy_dfs, meta=lazy_dfs[0].compute())\n",
"df = ret_dd.compute()\n",
"toc_d['avro_dask'] = time() - tic\n",
"print(toc_d['avro_dask'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Parquet\n",
"\n",
"(note that we don't make use of the columnar benefit of parquet)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# first we need to make the parquet parts though\n",
"# Let's use our msgpacks and convert\n",
"# (these will be snappy compressed btw)\n",
"\n",
"for p in glob_msg:\n",
" part_df = pd.read_msgpack(p)\n",
" part_table = pa.Table.from_pandas(part_df)\n",
" pq.write_table(part_table, os.path.splitext(p)[0] + '.parq')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"glob_parq = glob.glob(os.path.join(PATH_DATA, '*', '*.parq'))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"# parts: 23\n",
"1.445624828338623\n"
]
}
],
"source": [
"print(f'# parts: {len(glob_parq)}')\n",
"tic = time()\n",
"dataset = pq.ParquetDataset(glob_parq)\n",
"table = dataset.read(nthreads=8)\n",
"df = table.to_pandas()\n",
"toc_d['parq_pa'] = time() - tic\n",
"print(toc_d['parq_pa'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Disk Space Comparison"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"size_d = {\n",
" 'msg': sum(os.path.getsize(p) for p in glob_msg),\n",
" 'avro': sum(os.path.getsize(p) for p in glob_avro),\n",
" 'parq_snappy': sum(os.path.getsize(p) for p in glob_parq),\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Summary"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"avro_dask 42.120736\n",
"msg_dask 0.854718\n",
"parq_pa 1.445625\n",
"dtype: float64"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAr4AAAFhCAYAAACWB6kSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0FeXh//HPJTcQyCJLguUUg6gsBUpBaRARLDlAkEXQ\nIog0tiZoa4EWAb+BCAJSlpwIGrGsIkVcAkUQtLQuERvEkG4sCbTaYhDDmkgCWSC5SZ7fHx7zKyUL\nhHszkOf9+it37jIfuDM5n3nyzIzLGGMEAAAANHCNnA4AAAAA1AeKLwAAAKxA8QUAAIAVKL4AAACw\nAsUXAAAAVqD4AgAAwAoUXwCO6tSpk0aMGKGRI0dq1KhRioqK0o9//GNlZGR4bR0ZGRmKjIy8ZPnq\n1as1cuRIjRw5Uj179lRkZGTl46NHj+qxxx7Tf/7zH6/l+F9vvPGGNm7cqOzsbPXs2dNn66nNqVOn\n9NBDD1326+ua9+OPP1ZSUpIkqaCgQI888sgVf0ZRUZEmTJigCxcuXPF7AcDtdAAAWL9+vVq2bFn5\neO3atfrNb36jjRs3+nS9jz/+uB5//HFJUnR0tMaPH68hQ4ZUPr9mzRqfrfvYsWPaunWrNm3apGPH\njvlsPZfjxhtvVHJyss/Xk5GRobNnz0qSzp49W6eDm8DAQA0fPlxJSUmKi4vzdkQADRzFF8A1pays\nTCdOnNANN9xQuWzFihV6//33VVFRoe9+97uaM2eObrzxRu3bt0+JiYkqLS1VTk6O7rrrLi1cuFDS\nN6Op69evV1BQkDp27FinLJGRkUpKSlJxcbGWLl2q1q1b69///reaNm2qyZMna8OGDcrKytLgwYMV\nHx8vSfroo4+0YsUKeTweBQQEKC4ursrR0VWrVmnkyJFyuVwXLfd4PFq8eLHS0tLk5+en7t27a+bM\nmXrrrbeUkZGh5557Th6PR71791Z8fLxGjx6tv//971q0aJE2b95c7fqXLVumffv26fTp0+rUqZOe\ne+65ynVmZ2drxIgR2rt3rw4fPqynn35apaWlMsZo9OjRGj9+/CX5Kyoq9PTTT+vgwYNyu92aNWuW\nevToUe33dfLkSSUnJ6u8vFzBwcH6xz/+oQsXLmjkyJHasmWLjhw5ogULFig/P1/l5eWKjo7W6NGj\nlZ6ergULFqhZs2YqLi7W5s2bde+99+q5555TbGysQkND6/TdArCUAQAHdezY0QwfPtyMGDHC9O3b\n10RGRpr58+eb3NxcY4wxW7duNVOmTDEej8cYY0xycrKZMGGCMcaYJ5980uzZs8cYY0xhYaHp3bu3\nycjIMIcOHTJ9+vQxp0+fNsYYM3v2bDNgwIAac/zkJz8xf/zjHy9aNmDAAHPgwAGzZ88e873vfc8c\nPHjQGGNMbGysGTt2rCkpKTFff/216dq1qzl58qTJysoyw4cPN2fOnDHGGPP555+bvn37mqKioos+\nt6KiwvTu3dt89dVXxhhjvvrqK9OjRw9jjDFJSUlm0qRJprS01JSXl5sZM2aY2bNnm+zsbNOnTx9T\nUVFh9uzZY/r27WumTp1qjDEmISHBrF69usb1v/jiiyYqKqry//G//ff6Z86caVatWmWMMeb06dNm\nypQppry8/JLXd+zY0fzhD38wxhiTmppq7rnnHlNSUlLj9/Xiiy+aefPmXbJOj8djhg4dajIzM40x\nxpw7d87ce++9Zu/evWbPnj2mc+fOJjs7+6IMkydPNps3b67xOwWA/8WILwDHfTvV4dChQ3rsscfU\ns2dPtWrVSpK0c+dOZWRk6Mc//rGkb0Yaz58/L0lavHixUlNTtXLlSn3xxRe6cOGCiouLlZmZqb59\n+yosLEySNHbsWH3yySdXlbFt27bq0qWLJCk8PFzBwcFq3LixWrZsqcDAQJ09e1Z//etfdfr0af3s\nZz+rfJ/L5dLRo0fVuXPnymV5eXkqKChQ27ZtL1lPamqqnnzySfn7+0v6ZgrGxIkT9eyzz+o73/mO\nMjIytGvXLj3++ONavXq1jDFKSUnRmjVrtGvXrmrXL0k9evSQ213zr/1BgwYpLi5OBw4cUJ8+fTRr\n1iw1anTp6SAhISEaOnSoJKlfv34yxuiLL76o8fuqzpEjR3T06NHKUXNJunDhgg4dOqRbb71Vbdq0\n0Xe/+92L3hMeHq6srKwaPxcA/hfFF8A1o0uXLpo5c6ZmzZqlH/zgB2rbtq0qKio0YcIEPfzww5Kk\n0tLSynmi48ePV+fOndWvXz/de++92r9/v4wxcrlcMsZUfq6fn99VZ2vcuPFFj6sqkBUVFerTp49e\neOGFymUnTpxQ69atL3pdo0aNZIxRRUXFJaWyoqLikscej0fSN6U0NTVVu3fv1qpVq/Tuu+9qx44d\nCggIUHh4eI3r/+CDD9SsWbNa/50DBgzQe++9p08//VRpaWn67W9/q+TkZIWHh1/yb/hvxhj5+/vX\n+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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x133ff14a8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"toc_s = pd.Series(toc_d)\n",
"display(toc_s)\n",
"plt.subplots(figsize=(12,5))\n",
"toc_s.plot(kind='bar', title='Read Time (lower is better)');"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nAMBaxDAAAACsRQwDAADAWsQwAAAArEUMAwAAwFrEMAAAAKxFDAMAAMBaxDAAAACsRQwDAADAWsQw\nAAAArEUMAwAAwFrEMAAAAKxFDAMAAMBaxDAAAACsRQwDAADAWsQwAAAArEUMAwAAwFrEMAAAAKxF\nDAMAAMBaxDAAAACsRQwDAADAWsQwAAAArEUMAwAAwFrEMAAAAKxFDAMAAMBaxDAAAACsRQwDAADA\nWsQwAAAArEUMAwAAwFrEMAAAAKxFDAMAAMBaxDAAAACsRQwDAADAWsQwAAAArEUMAwAAwFrEMAAA\nAKxFDAMAAMBaxDAAAACsRQwDAADAWsQwAAAArEUMAwAAwFrEMAAAAKxFDAMAAMBaxDAAAACsRQwD\nAADAWsQwAAAArEUMAwAAwFrEMAAAAKxFDAMAAMBaxDAAAACsRQwDAADAWsQwAAAArEUMAwAAwFrE\nMAAAAKxFDAMAAMBaxDAAAACsRQwDAADAWsQwAAAArEUMAwAAwFrEMAAAAKxFDAMAAMBaxDAAAACs\nRQwDAADAWkFODwAAAE3DiMwPnJ6A8/DCpCSnJziCM8MAAACwFjEMAAAAaxHDAAAAsBYxDAAAAGsR\nwwAAALAWMQwAAABrEcMAAACwFjEMAAAAaxHDAAAAsBYxDAAAAGsRwwAAALAWMQwAAABrBfnzxjZv\n3qycnBxJ0tSpUxUZGenPmwcAAAD8yq9nhnNzc5Wenq7U1FStWbPGnzcNAAAA+J1fY7iurk4hISFq\n27atSktL/XnTAAAAgN/5NYbDwsJUW1ur0tJSRUVF+fOmAQAAAL/zOYa3bt2qtLQ0SZLX69WMGTM0\nZMgQpaWladeuXZKkwYMHa8aMGcrOztbAgQMbZjEAAADgJz49gW7JkiV64403FBYWJklau3atamtr\nlZOTo/z8fGVmZmrRokW6+uqrlZmZ6fPBW7VqrqCgwHNbDjSgtm0jnJ4AnBF/RwH4m60/V3yK4ZiY\nGC1YsECPPvqoJOnzzz9XYmKiJKlLly4qLCw8p4MfPlx9Tp8HNLTS0gqnJwCn1bZtBH9HAfhdU/+5\ncrrY9+lhEn379lVQ0P93c2VlpcLDw+svBwYGyuPxnOdEAAAAoHGd0xPowsPDVVVVVX/Z6/WeFMsA\nAADAT8E5xXC3bt2Ul5cnScrPz1dsbKxfRwEAAACN4ZxO595yyy3asGGDhg4dKmOMZs+e7e9dAAAA\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11c6607b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Let's use logscale\n",
"plt.subplots(figsize=(12,4))\n",
"toc_s.plot(kind='bar', title='Read Time (lower is better)',\n",
" logy=True);"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"avro 47865911\n",
"msg 101302625\n",
"parq_snappy 65743228\n",
"dtype: int64"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsEAAAE3CAYAAABLkpztAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVGXix/HvwMhFB69Rtqu0QpK1bSm0lRqW7pppFnmF\nNLN02+zmvtIu1EvNNBFN20otWy9ZbiViVlLZJmqruZVKalGpm2uktSWKKAPKbZ7fH712XvDzMpYz\nHuX5vP/iXGbOd9AzfHnm4RyXMcYIAAAAsEiY0wEAAACAU40SDAAAAOtQggEAAGAdSjAAAACsQwkG\nAACAdSjBAAAAsA4lGIDjdu/erQsvvFCpqalKTU3VDTfcoL59++rNN9/07/PMM8/UWT6aCy64QMXF\nxQGPN2fOHKWmpurGG29U7969NWXKFFVWVp706zhZ06ZN09q1a/XJJ5+od+/ejuX4/PPPNXLkyBPe\n/5fmzcnJ0SuvvCJJ2rVrl+67776f/Rw//PCD7rnnHvl8vp/9WAB2czsdAAAkKSoqSm+99ZZ/+bvv\nvtNtt92m6Oho9ejRQ3/5y1+Ccpzly5crLy9P2dnZioqKUkVFhUaOHKmZM2dq1KhRQTnGL7F582Z9\n/fXXeuCBB/TJJ584lkOSfve73+nZZ58N+XHy8/PVtm1bSdL333+vnTt3/uznaNmypS688EK9+uqr\nuuWWW4IdEUA9RgkGcFr69a9/rZEjR2revHnq0aOHMjIy1LZtWw0fPlzPPvusVqxYoQYNGqhZs2aa\nPHmyzj77bP9ji4qKdPvttys9Pf2IYlRUVKSamhodPnxYUVFRioyM1NixY/0jyBkZGXK5XNqxY4eK\ni4vVuXNnjRkzRg0aNNCSJUuUnZ2tqqoqHThwQHfccYcGDRokSXrhhRf0xhtvyO1267zzzlNWVpZi\nYmKUk5Oj1157TT6fT02bNtXYsWOVkJBwxOudMWPGUUtcaWmpHn/8cW3dulUul0spKSkaNWqUpk6d\nqujoaN1///0qKipSSkqKXnzxRXXs2FHLli3TypUr9cwzzxzz+BkZGSopKdGuXbt0zTXX6MEHH/Qf\n85NPPtHEiRP19ttva+PGjcrKyvKPtN55553q0aPHETnLy8s1cuRIFRYWqnHjxpowYYLatGmjyspK\nTZs2TRs2bFBNTY0uuugijRkzRh999JFWrVqldevWKSoqSgsWLNCPP/6o4cOHa968efr00081bdo0\nHTp0SC6XS/fdd5+6du2qpUuXasmSJTp06JA8Ho8WLlyoAQMGqH///ho4cKAiIiJ+wf82AFYyAOCw\nXbt2mfbt2x+xfvv27ebSSy81xhjz8MMPm7lz55rvv//eJCUlmYqKCmOMMfPmzTMrVqwwxhiTmJho\nvvzyS9OrVy/z1ltvHfVYBw8eNLfffrv57W9/awYOHGgmT55s1q9f79/+8MMPm5tuusl4vV5TUVFh\nBg8ebBYuXGi8Xq8ZOHCgKS4uNsYYs2nTJn/mvLw8c+2115qSkhJjjDGZmZnmueeeM5988okZNGiQ\nKS8vN8YYs3btWtOzZ88jMh04cMBceuml/tf08ccfm+uvv94YY8xDDz1kJk6caHw+n6moqDDDhg0z\nL7zwglm/fr3p06ePMcaY119/3XTu3NlMnz7dGGPMyJEjzTvvvHPc4z/88MNm6NChR/0e1T7+rbfe\nat5++21jjDFfffWVGT9+/FH3b9euncnPzzfGGLNo0SLTv39/Y4wxM2bMMFlZWcbn8xljjJk+fbp5\n7LHH/Bnmzp17xDFLSkrMtddea3bt2mWMMeaHH34wXbp0Md999515/fXXze9//3tTWlpaJ0Pfvn3N\nRx99dNTXAwBH49hI8JYtWzRt2jQtXLjwmPtMnjxZ+fn5CgsL08MPP6zk5ORTmBCA01wul6Kiouqs\nO+ecc9SuXTv16dNHXbp0UZcuXdSxY0f/9jvuuEMtW7bUDTfccNTnjImJ0fz587Vr1y59/PHHWr9+\nvf785z9r0KBB/tHQPn36qFGjRpKk1NRUrVy5Urfccotmz56tf/7zn/rmm2+0detWlZeXS5I++ugj\nXXfddWrSpIkk6ZFHHpEkTZ06VYWFhUpPT/cf/8CBAyopKVHTpk396woLCxUbG3vUUcw1a9botdde\nk8vlUkREhNLT0/XSSy/pT3/6k3788Uft27dPa9eu1V133aWlS5fq3nvv1YYNG5SZmalZs2Yd8/iS\nTug9tWfPnpowYYJWrVqlTp06HXPKyAUXXKCkpCT/92/8+PEqLS3VBx98oNLSUv3rX/+SJFVVValF\nixbHPebmzZtVVFSke+65x7/O5XJp27Zt/mN5PJ46j4mLi9POnTt15ZVXBnxNACA5NB1izpw5WrZs\nmaKjo4+5z9atW7Vp0ybl5OSosLBQo0aN0tKlS09hSgBO+/zzz5WYmFhnXVhYmP7+97/r888/10cf\nfaTMzExdccUVGjNmjCRpwoQJmj17tl588UUNGzbsiOecM2eOkpOTlZSUpNatW2vAgAHauHGj7rjj\nDn8JDg8P9+9vjFFYWJh++OEHpaWlaeDAgUpOTtZ1112n1atX+/d3uVz+xxw8eFAHDx6Uz+dTamqq\n/3l9Pp/27NnjL8u1X1NNTc1Rvwf//w++fD6fqqurFRYWpq5du+qDDz7Qli1bNGXKFL3wwgt67733\n1L59ezVq1Cjg8Rs2bBjgX0BKT09X165dtW7dOq1du1YzZ87UsmXLFBMTc8RrqM3lcsntdsvn8+nR\nRx/V1VdfLUkqKytTRUXFcY9ZU1OjhIQE5eTk+Nf9+OOPat68uXJzc4+au6amps6/GwAE4sjVIeLi\n4jRjxgz/8rZt2zRkyBANGTJE9913n0pLS3X22WcrKipKlZWV8nq9cruZvgzYZOfOnXruueeOKLJb\nt25V7969lZCQoDvvvFO33Xabf4RQktq3b6+srCw9//zz2r59+xHPe/jwYU2fPt0/Gvq/Y1100UX+\n5eXLl6uyslIVFRV644031LVrVxUUFKh58+a6++67lZKS4i/ANTU16tSpk1asWCGv1yvpp/m9CxYs\nUOfOnfXOO+9oz549kqTXXntNQ4cOPSJT69atVVxcfNRyeNVVV+mVV16RMUaVlZVavHixOnXqJEnq\n3r275s6dq8TEREVEROjKK6/UU0895Z+ze6LHP5709HR99dVX6tu3ryZOnKiDBw/qwIEDR+y3bds2\nffXVV5Kk7OxsJScnKzo62p+/srJSPp9PY8eO1VNPPSXpp18eqqur/V9XVVVJ+unfsLCwUBs2bJAk\nffXVV+rRo4f/dRzN7t27FR8f/7NeGwC7OdIse/Tood27d/uXx44dq8zMTJ1//vnKycnR3LlzNXz4\ncIWFhalnz54qLS3VxIkTnYgK4BQ5fPiwUlNTJf00qhgZGalRo0bpmmuuqbNfu3bt1LNnT/Xr108N\nGzZUVFSUfxT4f+Lj43X33XfrwQcfVE5OTp1pBnfffbdcLpfS09Plcrnk8/l08cUX6+mnn/bvExUV\npUGDBungwYPq0aOH+vXrp4qKCi1ZskTXXXedoqOjdckll6h58+YqLCzU1Vdfra+//lo333yzJOn8\n88/XxIkT5fF4dMcdd2jYsGFyuVzyeDyaOXNmnVFjSWrcuLGSk5P18ccf+0dM/2fMmDF64okndMMN\nN6iqqkopKSkaMWKEJKljx4768ccf/ce96qqr9O6776pbt26SpJSUlBM6/vE88MADyszM1NNPP62w\nsDDde++9atWq1RH7xcfHa+bMmdq1a5datGihrKws//d7ypQp6tOnj2pqanThhRcqIyNDktSlSxf/\ne3t6errCw8PVv39/5eTk6Nlnn9XUqVNVUVEhY4ymTp2qX//610fNuHfvXu3bt88/HQMAToTLGGOc\nOPDu3bs1atQoLV68WMnJyf5RmKqqKv3mN7/RRRddpM8++0xTpkxRWVmZBg0apLlz56ply5ZOxAVg\nidpXoTiVPv30U82ePVt/+9vfTulx64MZM2aoefPmGjx4sNNRAJxBTos5Bm3atNGUKVP0q1/9Svn5\n+SoqKtLhw4fVsGFDhYeHq1GjRoqIiPD/EQoA1DdJSUlq06aN1qxZoy5dujgd54zx3//+V1988YVm\nzZrldBQAZ5jTYiS4oKBAU6ZMUXV1tVwulyZNmqS4uDg9/vjj2r59u2pqatSrVy/dfvvtTkQFAABA\nPeNYCQYAAACc4sjVIQAAAAAnUYIBAABgnVP+h3FFRaWn+pAIombNGmr/fv5AETjVOPcAZ3Dundli\nY2OOuY2RYPwsbjd3ZAKcwLkHOINzr/6iBAMAAMA6lGAAAABYhxIMAAAA61CCAQAAYB1KMAAAAKxD\nCQYAAIB1KMEAAACwDiUYAAAA1jmhErxlyxYNGTLkiPWrVq1Sv379lJaWpsWLFwc9HAAAABAKAW+b\nPGfOHC1btkzR0dF11ldVVWny5MlasmSJoqOjdfPNN6tbt24666yzQhYWAI5lWNYqpyPgJMzP6OZ0\nBACWCTgSHBcXpxkzZhyxfseOHYqLi1OTJk0UERGh5ORkbdiwISQhAQAAgGAKOBLco0cP7d69+4j1\nXq9XMTEx/uVGjRrJ6/UGPGCzZg25D/cZLjY2JvBOAPAz8L6C0xn/P+ungCX4WDwej8rKyvzLZWVl\ndUrxsezfX/5LD4nTQGxsjIqKSp2OAaCe4X0Fpyt+7p3ZjvcLzC++OkRCQoIKCwtVUlKiyspKbdy4\nUR06dPilTwcAAACcMj97JDg3N1fl5eVKS0tTRkaGhg8fLmOM+vXrp3POOScUGQEAAICgchljzKk8\nIB8pnNn4WAinK64OcWbj6hA4XfFz78wWkukQAAAAwJmKEgwAAADrUIIBAABgHUowAAAArEMJBgAA\ngHUowQAAALAOJRgAAADWoQQDAADAOpRgAAAAWIcSDAAAAOtQggEAAGAdSjAAAACsQwkGAACAdSjB\nAAAAsA4lGAAAANahBAMAAMA6lGAAAABYhxIMAAAA61CCAQAAYB1KMAAAAKxDCQYAAIB1KMEAAACw\nDiUYAAAA1qEEAwAAwDqUYAAAAFiHEgwAAADrUIIBAABgHUowAAAArEMJBgAAgHUowQAAALAOJRgA\nAADWoQQDAADAOpRgAAAAWCdgCfb5fBo3bpzS0tI0ZMgQFRYW1tm+bNky9enTR/369dOrr74asqAA\nAABAsLgD7ZCXl6fKykplZ2dr8+bNysrK0vPPP+/fPnXqVL399ttq2LChrr/+el1//fVq0qRJSEMD\nAAAAJyNgCc7Pz1dKSookqX379iooKKiz/YILLlBpaancbreMMXK5XKFJCgAAAARJwBLs9Xrl8Xj8\ny+Hh4aqurpbb/dND27Ztq379+ik6Olrdu3dX48aNj/t8zZo1lNsdfpKx4aTY2BinIwCoZ3hfwemM\n/5/1U8AS7PF4VFZW5l/2+Xz+Arx161Z98MEHWrlypRo2bKgHH3xQy5cvV8+ePY/5fPv3lwchNpwS\nGxujoqJSp2MAqGd4X8Hpip97Z7bj/QIT8A/jkpKStGbNGknS5s2blZiY6N8WExOjqKgoRUZGKjw8\nXM2bN9fBgweDEBkAAAAInYAjwd27d9e6deuUnp4uY4wyMzOVm5ur8vJypaWlKS0tTYMGDVKDBg0U\nFxenPn36nIrcAAAAwC/mMsaYU3lAPlI4s/GxEE5Xw7JWOR0BJ2F+RjenIwBHxc+9M9tJTYcAAAAA\n6htKMAAAAKxDCQYAAIB1KMEAAACwDiUYAAAA1qEEAwAAwDqUYAAAAFiHEgwAAADrUIIBAABgHUow\nAAAArEMJBgAAgHUowQAAALAOJRgAAADWoQQDAADAOpRgAAAAWIcSDAAAAOtQggEAAGAdSjAAAACs\nQwkGAACAdSjBAAAAsA4lGAAAANahBAMAAMA6lGAAAABYhxIMAAAA67idDgAAAM5cw7JWOR0BJ2F+\nRjenIziGkWAAAABYhxIMAAAA61CCAQAAYB1KMAAAAKxDCQYAAIB1KMEAAACwDiUYAAAA1qEEAwAA\nwDoBb5bh8/k0fvx4bdu2TREREXriiSd03nnn+bd/9tlnysrKkjFGsbGxevLJJxUZGRnS0AAAAMDJ\nCDgSnJeXp8rKSmVnZ2v06NHKysrybzPGaOzYsZo8ebJee+01paSk6LvvvgtpYAAAAOBkBRwJzs/P\nV0pKiiSpffv2Kigo8G/buXOnmjZtqgULFujf//63rr76asXHx4cuLQAAABAEAUuw1+uVx+PxL4eH\nh6u6ulput1v79+/Xpk2bNG7cOMXFxWnEiBG6+OKL1bFjx2M+X7NmDeV2hwcnPRwRGxvjdAQA9Qzv\nK4AzbD73ApZgj8ejsrIy/7LP55Pb/dPDmjZtqvPOO08JCQmSpJSUFBUUFBy3BO/fX36ymeGg2NgY\nFRWVOh0DQD3D+wrgjPp+7h2v5AecE5yUlKQ1a9ZIkjZv3qzExET/ttatW6usrEyFhYWSpI0bN6pt\n27YnmxcAAAAIqYAjwd27d9e6deuUnp4uY4wyMzOVm5ur8vJypaWladKkSRo9erSMMerQoYOuueaa\nUxAbAAAA+OUCluCwsDBNmDChzrr/TX+QpI4dO2rJkiXBTwYAAACECDfLAAAAgHUowQAAALAOJRgA\nAADWoQQDAADAOpRgAAAAWIcSDAAAAOtQggEAAGAdSjAAAACsQwkGAACAdSjBAAAAsA4lGAAAANah\nBAMAAMA6lGAAAABYhxIMAAAA61CCAQAAYB1KMAAAAKxDCQYAAIB1KMEAAACwDiUYAAAA1qEEAwAA\nwDpupwPUN8OyVjkdASdhfkY3pyMAAIBTgJFgAAAAWIcSDAAAAOtQggEAAGAdSjAAAACsQwkGAACA\ndSjBAAAAsA4lGAAAANahBAMAAMA6lGAAAABYhxIMAAAA61CCAQAAYJ2AJdjn82ncuHFKS0vTkCFD\nVFhYeNT9xo4dq2nTpgU9IAAAABBsAUtwXl6eKisrlZ2drdGjRysrK+uIfRYtWqTt27eHJCAAAAAQ\nbAFLcH5+vlJSUiRJ7du3V0FBQZ3tn376qbZs2aK0tLTQJAQAAACCLGAJ9nq98ng8/uXw8HBVV1dL\nkvbs2aNZs2Zp3LhxoUsIAAAABJk70A4ej0dlZWX+ZZ/PJ7f7p4e999572r9/v/785z+rqKhIhw8f\nVnx8vPr27XvM52vWrKHc7vAgRAeCLzY2xukIgJU49wBn2HzuBSzBSUlJWr16tXr16qXNmzcrMTHR\nv+3WW2/VrbfeKklaunSp/vOf/xy3AEvS/v3lJxkZCJ2iolKnIwBW4twDnFHfz73jlfyAJbh79+5a\nt26d0tPTZYxRZmamcnNzVV5ezjxgAAAAnJECluCwsDBNmDChzrqEhIQj9gs0AgwAAACcLrhZBgAA\nAKxDCQYAAIB1KMEAAACwDiUYAAAA1qEEAwAAwDqUYAAAAFiHEgwAAADrUIIBAABgHUowAAAArEMJ\nBgAAgHUowQAAALAOJRgAAADWoQQDAADAOpRgAAAAWIcSDAAAAOtQggEAAGAdSjAAAACsQwkGAACA\ndSjBAAAAsA4lGAAAANahBAMAAMA6lGAAAABYhxIMAAAA61CCAQAAYB1KMAAAAKxDCQYAAIB1KMEA\nAACwDiUYAAAA1qEEAwAAwDqUYAAAAFiHEgwAAADrUIIBAABgHUowAAAArOMOtIPP59P48eO1bds2\nRURE6IknntB5553n3/7222/rpZdeUnh4uBITEzV+/HiFhdGtAQAAcPoK2Fbz8vJUWVmp7OxsjR49\nWllZWf5thw8f1tNPP62XX35ZixYtktfr1erVq0MaGAAAADhZAUtwfn6+UlJSJEnt27dXQUGBf1tE\nRIQWLVqk6OhoSVJ1dbUiIyNDFBUAAAAIjoAl2Ov1yuPx+JfDw8NVXV3904PDwnTWWWdJkhYuXKjy\n8nJ17tw5RFEBAACA4Ag4J9jj8aisrMy/7PP55Ha76yw/+eST2rlzp2bMmCGXy3Xc52vWrKHc7vCT\niAyETmxsjNMRACtx7gHOsPncC1iCk5KStHr1avXq1UubN29WYmJine3jxo1TRESEnnvuuRP6g7j9\n+8t/eVogxIqKSp2OAFiJcw9wRn0/945X8gOW4O7du2vdunVKT0+XMUaZmZnKzc1VeXm5Lr74Yi1Z\nskSXXXaZhg4dKkm69dZb1b179+ClBwAAAIIsYAkOCwvThAkT6qxLSEjwf71169bgpwIAAABCiAv6\nAgAAwDqUYAAAAFiHEgwAAADrUIIBAABgHUowAAAArEMJBgAAgHUowQAAALAOJRgAAADWoQQDAADA\nOpRgAAAAWIcSDAAAAOtQggEAAGAdSjAAAACsQwkGAACAdSjBAAAAsA4lGAAAANahBAMAAMA6lGAA\nAABYhxIMAAAA61CCAQAAYB1KMAAAAKxDCQYAAIB1KMEAAACwDiUYAAAA1qEEAwAAwDqUYAAAAFiH\nEgwAAADrUIIBAABgHUowAAAArEMJBgAAgHUowQAAALAOJRgAAADWoQQDAADAOgFLsM/n07hx45SW\nlqYhQ4aosLCwzvZVq1apX79+SktL0+LFi0MWFAAAAAiWgCU4Ly9PlZWVys7O1ujRo5WVleXfVlVV\npcmTJ2v+/PlauHChsrOztXfv3pAGBgAAAE5WwBKcn5+vlJQUSVL79u1VUFDg37Zjxw7FxcWpSZMm\nioiIUHJysjZs2BC6tAAAAEAQBCzBXq9XHo/HvxweHq7q6mr/tpiYGP+2Ro0ayev1hiAmAAAAEDzu\nQDt4PB6VlZX5l30+n9xu91G3lZWV1SnFRxMbe/ztZ7rc6alORwCsxLkHOINzD2eqgCPBSUlJWrNm\njSRp8+bNSkxM9G9LSEhQYWGhSkpKVFlZqY0bN6pDhw6hSwsAAAAEgcsYY463g8/n0/jx47V9+3YZ\nY5SZmakvv/xS5eXlSktL06pVqzRr1iwZY9SvXz8NHjz4VGUHAAAAfpGAJRgAAACob7hZBgAAAKxD\nCQYAAIB1KMEAAACwDiUYAAAA1qEE44SUlJTos88+U3FxsdNRAAAATlrAm2UA7777rp555hklJCTo\n3//+t+69916lpnJxdCDUZs6cWWe5QYMGatmypXr16qUGDRo4lAqo//r27asbb7xRN910k5o2bep0\nHIQIl0hDQGlpaZo/f77/tthDhw7V66+/7nQsoN677777FBkZqcsuu0xbtmzRf//7X8XGxkqSnnzy\nSYfTAfXXwYMHlZubq9zcXJ177rkaMGCAOnXq5HQsBBnTIRCQy+VSo0aNJP10q+zIyEiHEwF2OHjw\noKZNm6b09HRNnjxZYWFhevLJJ7V7926nowH1WuPGjTV48GBNmjRJYWFhGj16tAYMGKAVK1Y4HQ1B\nxHQIBNS6dWtlZWXpsssu08aNGxUXF+d0JMAKpaWlKi4uVvPmzbV//36VlpaqqqpKhw8fdjoaUK+9\n8soreuutt+TxeNS/f39lZWWpurpaAwcOVPfu3Z2OhyBhOgQCqqysVE5Ojnbs2KGEhAQNHDiQ+YjA\nKbB69WpNmjRJMTExKisr05gxY7R161Y1atSIW9QDIfTXv/5VAwYMUKtWreqs37Rpkzp06OBQKgQb\nJRgBDRs2TPPnz3c6BmAln8+n4uJiNW3aVG43H94Bp8LevXs1e/ZsffPNN2rbtq1GjBihJk2aOB0L\nQcacYATUuHFjrVy5Ujt27NDOnTu1c+dOpyMBVli2bJmWL1+utWvXqkuXLpo3b57TkQAr3H///YqP\nj9cDDzygVq1a6aGHHnI6EkKAYQUEtG/fPi1YsMC/7HK59PLLLzsXCLDEyy+/rDlz5mjUqFH64IMP\nNGzYMA0fPtzpWIAVBg0aJElq166d3nvvPYfTIBQowQho6NCh6tatm8LC+OAAOJX+dyWWRo0aKSIi\nQtXV1Q4nAuwQHx+vZcuW6YorrtAXX3yhpk2b+j8FbdOmjcPpECzMCUZAEydO1Pr169WtWzf1799f\nrVu3djoSYIVHHnlE+fn5evTRR1VQUKC9e/dq/PjxTscC6r0hQ4ZI+umTz9o1iU9C6xdKME5IZWWl\nVq5cqaVLl6qqqqrO9AgAobFy5UotXLhQDRo0kM/nk8vl0ty5c52OBVihuLhY3377rX7zm99w17h6\niukQOCGfffaZPvzwQ+3bt089evRwOg5ghalTp2rixIlq3Lix01EAq7z66qt66aWXdP755+vrr7/W\n3XffrdTUVKdjIcgowQioV69eateunQYMGKBJkyapqqrK6UiAFdq2bavLL7/c6RiAdRYvXqxly5Yp\nMjJShw4d0i233EIJrocowQiod+/eeuutt7RlyxYZY9SgQQP94x//cDoWUO/94Q9/UFpamuLj4/3r\nJk+e7GAiwA4tWrRQeHi4JCkqKorpEPUUJRgBLV++XAsXLtTzzz+v6667Ti+99JLTkQArLFy4UH/6\n058UExPjdBTAKsYY3XTTTerQoYO+/PJLVVdXa/To0ZKk6dOnO5wOwUIJRkBnn322zj77bJWVlemK\nK67QzJkznY4EWOGss85Sr169nI4BWGfEiBH+r2+44QYHkyCUKMEIKCYmRnl5eXK5XFq0aJFKSkqc\njgRYISoqSsOHD9dFF10kl8slSRo1apTDqYD6LzExUR9++KGqq6tljNGePXt05513Oh0LQcYl0hCQ\n1+vVt99+qxYtWujFF19U165ddcUVVzgdC6j33njjjSPW9enTx4EkgF1uueUWxcfHa/v27YqMjFR0\ndLRmz57tdCwEGSUYAACglsGDB+uVV17RI488okmTJmnQoEFatGiR07EQZNwHFwAAoJbw8HBVVFTo\n0KFDcrlcqqmpcToSQoASDAAAUMvgwYO1YMECde7cWVdffbVatWrldCSEANMhAAAAjsHr9crj8Tgd\nAyHA1SEAAABqWbdunRYsWKCKigr/updfftnBRAgFRoIBAABq6d27tx599FG1bNnSv672nRtRPzAS\nDAAAUMu5556rTp06OR0DIcZIMAAAQC0ZGRmKiIioc6OatLQ0h1Mh2BgJBgAAqOV/V4PYu3evw0kQ\nSowEAwCRlY1HAAAC+ElEQVQA/D9er1eSlJeXp65du6pJkyYOJ0KwUYIBAABquf/++3XNNddo06ZN\n8vl82rdvn2bNmuV0LAQZN8sAAACoZc+ePUpNTdWOHTs0YcIElZWVOR0JIUAJBgAAqKWqqkrvv/++\nzj//fBUXF1OC6ymmQwAAANTy/vvv691331VGRoays7N1ySWXqGvXrk7HQpBRggEAAE7AY489pscf\nf9zpGAgSpkMAAACcgJ07dzodAUFECQYAAIB1KMEAAACwDiUYAAAA1qEEAwAAnACuJVC/uJ0OAAAA\ncDp58803j7r+xhtvPMVJEEqUYAAAgFpWrVql8vJyXX755SooKNDevXuVnJwsl8vldDQEESUYAACg\nFq/Xq3nz5vlL77BhwzR69GiHUyHYmBMMAABQS3FxsUpLS/1fe71ehxMhFBgJBgAAqOWuu+5Samqq\nmjVrprKyMu4SV09RggEAAGqpqKjQihUrdODAAbVo0cLpOAgRpkMAAADUsnjxYrndbgpwPcdIMAAA\nQC2VlZW66aab1KZNG4WF/TReOH36dIdTIdhchis/AwAA+K1fv/6IdZdffrkDSRBKTIcAAACoJTEx\nUXv27NH333+v7777Tps2bXI6EkKA6RAAAAC13HvvvYqPj9f27dsVGRmp6OhopyMhBBgJBgAAqMUY\nowkTJqhNmzZ68cUXVVJS4nQkhAAlGAAAoJbw8HBVVFTo0KFDcrlcqqmpcToSQoASDAAAUMvgwYM1\nb948JSYmqkuXLmrVqpXTkRACzAkGAACoxeVyacmSJWrcuLEiIiLUt29fpyMhBCjBAAAAtTz33HPK\nyclRixYttHfvXo0YMUIpKSlOx0KQMR0CAACglqZNm/rvFnfWWWfJ4/E4nAihwM0yAAAAarnnnnt0\n+PBh/f73v9cXX3yhoqIi/80yRo0a5XA6BAvTIQAAAGr54x//6P/6nHPOcTAJQomRYAAAAFiHOcEA\nAACwDiUYAAAA1qEEAwAAwDqUYAAAAFiHEgwAAADr/B8VYOjqR9HuTgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x14bd2f128>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"size_s = pd.Series(size_d)\n",
"display(size_s)\n",
"plt.subplots(figsize=(12,4))\n",
"size_s.plot(kind='bar', title='Disk Space (lower is better)');"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [ipykernel_py3]",
"language": "python",
"name": "Python [ipykernel_py3]"
},
"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.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment