Skip to content

Instantly share code, notes, and snippets.

@ryan-williams
Last active March 30, 2020 04:55
Show Gist options
  • Save ryan-williams/0aeb2111cb8b7fd588784e2a7c35433e to your computer and use it in GitHub Desktop.
Save ryan-williams/0aeb2111cb8b7fd588784e2a7c35433e to your computer and use it in GitHub Desktop.
A couple example notebooks associated with https://github.com/dask/dask/pull/6038 (`to_sql` support for Dask DataFrames)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Simple `chain` example w/ 4 integers"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use local Dask version:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from sys import path\n",
"path = ['.'] + path "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from dask import delayed\n",
"from dask.utils import chain"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create some delayed integers that also `print` when they are computed:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def _id(x):\n",
" print(f'computing: {x}')\n",
" return x\n",
"\n",
"def n(value, name): return delayed(_id)(value, dask_key_name=name)\n",
"\n",
"n1 = n(4, 'n1')\n",
"n2 = n(5, 'n2')\n",
"n3 = n(6, 'n3')\n",
"n4 = n(7, 'n4')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a \"chain\" out of them: a `Delayed` list of their values is returned, but the computation graph visits them each in serial:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Delayed('combine_n4')"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"seq = chain([n1, n2, n3, n4]); seq"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Inspect the dependency graph (which is a linked-list):"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAHQAAAOLCAYAAACBtqd2AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAdKADAAQAAAABAAADiwAAAAAU+mWcAABAAElEQVR4Ae2dBbgcRdaGaxdNIEiQENxdgru7O4TgLsGdEFh8F8tigYQQPBd3t8U9aJAgwSW47ALLsvz1n/fs9t2RnpmembaprvM8985Md3XJ+aqqS8756g/W2qHGiysaeP4PAqh1pTS+HKbrj14JbmlgwqyK8+9//9t88803WSWfWLoTTTSR6d27d2LxN4o4M0CPOuooM2TIEDP99NM3ymNH3f/yyy/NSy+9ZPr165dJvjMD9IMPPjA33nij2XLLLTMpeFKJUp5x48ZlBqh/hyaFbEbxekAzUnxSyXpAk9JsRvF6QDNSfFLJekCT0mxG8XpAM1J8Usl6QJPSbEbxekAzUnxSyXpAk9JsRvF6QDNSfFLJekCT0mxG8XpAM1J8Usl6QJPSbEbxekAzUnxSyXpAk9JsRvF6QDNSfFLJekCT0mxG8XpAM1J8Usl6QJPSbEbxekAzUnxSyXpAk9JsRvF6QDNSfFLJekCT0mxG8XpAM1J8Usl6QJPSbEbxekAzUnxSyXpAk9JsRvF6QDNSfFLJekCT0mxG8XpAM1J8Usl6QJPSbEbxekAzUnxSyXpAk9JsRvFm5sENx8K//vUv88UXX2RU9GSS/e2335KJOGKsmQG6xhprmL333tv06NEjYlZbDwY5B+n07Nmz9UgiPgnHwjnnnBMxdPzBnOcpGj9+vOnbt69ZcsklzejRo+PXYL5idJ+n6JprrtHW+dprrxnAdV2cHxRdfPHF5pdffjETTDCBAVzXxWlA33vvPQN9DvLzzz8bwHVdnAb0yiuvNKVUhu+//77hz2VxGtCRI0eaX3/9tQw/QHZZnAX0lVdeMd9++20ZdoALyC6Ls4BefvnlunBRCR5z0ldffbXysjO/nQSU9+bw4cMNq1GVwuqUy4OjzFaKKhUd52+WE//v//7PTD755BotwP7xj3/Uv99//9188skncSaXq7icXylC2zBkDhgwwDnmz5Ca5P5KUUihnb7k5DvUacQaFM4D2kBBnXbbA9ppiDXIbyEA/cMf/qAj3Aa6cOJ2IQBlXso0pghSCECLAGRQRg9ooAlHPj2gjgAZFMMDGmjCkU8PqCNABsUoBKB+2hLA7cinn7Y4AmQRi1GILrdIwHpAHUPbA+oB7TwN+FFu52FWN8d+lFtXPf5mnjXg36F5RqeFvHlAW1Banh/xgOYZnRby5gFtQWl5fqTjDa2xksdXZdy4ceoLilX8V199ZfBh+fvf/27++c9/mp9++slMOOGEyrEw6aSTmqmnntpMM800ZvrppzezzTabmXPOOc0888xjFllkkVQ4HxKsEF0dBSh+KU8++aR56qmn9POFF15Q/5UllljCzDHHHGb22WfXz969eytgU045pZl44okNIOIOgfcZLCVff/21As4nFeHDDz80b7zxhv7NOuusZrnlljMrrriiWWWVVcwCCyyQoP5jjzr/gKL0m2++2dx5553m4YcfNosttphZfvnlVeEofoYZZohNK/i9vPvuu+bxxx/XCvPII48Yrq2//vpm8803N2uttZa29NgSjD+iLjyccyfSTdquri67zjrr2CmmmMJuv/32VvgRrPh7pp7XN9980wpNjZVKZKXl27322ss+//zzqecjYoKjcgXoxx9/bA8//HAr7ze79tpr2xtvvNEKN0LEsiQf7KOPPrKnn366le7dSk9hL7nkEivdePIJR08hH4C+9dZb2gplsKKACg9C9CJkEFJsfO1DDz1kpSu2ffr0UZD/8Y9/ZJCTqiSzBVQGI3aXXXax0047rSrl+++/r8ph3i8I/5HdbrvtFNghQ4ZYGbhlmeVsAJVphD3hhBP0ncTnDz/8kKUSYkl7zJgxdtNNN7VzzTWXvf3222OJs4VI0gf0/vvvtzL30y6Wd6Zrct9999kFF1xQwZU5cdrFSw/QH3/80e68885W5nmWQrssMte1f/rTn+x0001nL7vssjSLmg6gTz/9tI4M99tvP0t3WxSRxQq78MIL26233jqtKVfygJ5//vk6YLj11luLgmNZOZlTH3LIIVqhX3755bJ7CfxIDlBGe8cff7zO15i/FV2uu+46K2vHls8EZVQitDYshm+xxRZmqqmmMtLddvqCdywLdNtss42R7tfIgomBJHn//fePJd7KSGLfPmPtdbXVVjMscgdctZWJFvW3jH61gstryBx33HGJqCFWQKEwlZGdLp6PGDGiMG7wzSBDRWfH6N577zWyLtzM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6Vp79epVE7NFFlnEvPrqqzXvd/CN7Mgbk1TaJJNMYs4++2wDrSry+OOPm9lmm83MOuus+nubbbbRTxf/OdlCK4HacsstzYABA5xj/qwsp/x2f6UopNBOX3J2UOQ0anUK5wGto5xOvOUB7UTU6uS5EID6w+zq1IBOvMUKkeuL8gEuhWihQWGL8OkBdQxlD6gH1DENOFacQrRQP8p1rNb6Ua5jgBapOIXocj2gRdKAY2X1LdQD6pgGHCtOIVqon7Y4Vmv9tMUxQItUnEJ0uR7QImnAsbL6FuoYoJn4jSepQywTvvvuOwOHw48//mh+/fVX/f3mm2+ap59+2mCE3bt3bzPttNOaySefPMmsZBJ3xxpaf/vtt+bFF180r7zyihkzZox57733zPvvv2++/PJLBWqaaaZRN/yJJprI9OzZUx2U8EjDm/urr74yX3/9tToCzz777GbOOec088wzj8FFYrHFFtM/nutA6RyOhe+//97cf//95oEHHjBPPvmk+eSTT8zSSy9tFl54YdOvXz8zxxxz6N8ss8xi/vjHaG8SWu+7775rPvzwQ/PGG29oxXjttdfM2LFjzVJLLaXcDOutt55ZfvnlzQQTTNAJ+OYbUChibrrpJnP99dcrBc6qq65qNthgA7PCCiuYRRddNDJwzSKBsxPd82OPPWbuuusu88EHH5gNN9zQbLvttmadddYxE088cbNRphW+C4fYXIl0ifa2226zQkFjp556arv99tvbO++80wpHQmb5lIplL7jgAitsKlbevfbggw+20pIzy0+dhEflBtAffvjBiseYFQ8xKy3QCntJpiDWUpoQZVnhIbIzzTSTXWONNaz4mtYKmsX17AGVkag96aSTtOb379/fCrtYFopoOk16kquuuspK12/lHa69StORxP9AdoCikHPPPddOP/30dscdd7QyQo2/eCnFyCtBRsd2ySWXtE888URKqYYmkw2gMlK1CyywgJUBhpURZWjOOu2izH/tddddZ2eeeWYrDsX2s88+y6II6QIqcz+700476XtSRo9ZFDjxNH/++Wd74oknWpkH22HDhlmATlHSA/S+++7TgQQjRJkWpFjGbJJiFCzzV7v22mvbzz//PK1MJA/ob7/9psN8uqJHH300rYLlIh1a5wknnGD79OmjU68UMpUsoJ9++qldaaWV7KabbmplqS6F8uQziWee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6C+//GJef/31ZjLbUthff/3VrLTSSmbllVc2Q4YMaSmOZh7q2bOnWXDBBZt5JM6w2QEaZynqxQXbym677WZ+++038/3335tJJ520XvBOv+f+6YSc9PuPf/xDj2/mGGfXxelB0Q8//KDvaUCEPwhwXRenAb3pppsMZ24HwiAMkF0WpwEdPny4+emnn7rxm3jiic3NN9/c/dvFL84C+sUXX5iXX365DDPepcOGDSu75toPZwG95pprzAQTTFCFFyADtqviLKAMgJjrVgogA7arktnCQpIKpQXChjnFFFMo8fHvv/+uh9lBgvzvf//bzDbbbKksaiRZxhpxZ8fGWSNDsVzu06ePeffdd823336r8R155JFmvfXWM2ussYb+nmeeeWJJJ4+RZMbGmbQy5pprLsMf0rt3bzP33HObpZdeOulkM4/f2Xdo5prNKAMe0IwUn1SyHtCkNJtRvIUA1B/zkVHtSipZf8xHUpr18SaugUJ0uYlrMUcJeEBzBEYcWfGAxqHFHMXhAc0RGHFkpRCA+mlLHFUlR3H4aUuOwPBZaU4Dhehym1NJZ4f2gHY2flW594BWqaSzLxQCUD/K7exKWpV7P8qtUom/0CkaKESX2ylgxJFPD2gcWsxRHB7QHIERR1Y8oHFoMUdxOGE5b601n3zyifnggw/Mxx9/bL7++mvzzTffmB9//NHgkv/KK6+Y6aef3sw888xmkkkmUTvdaaaZRq9hRY/97pRTTpkjWFrOSue55OPWMGbMGCWmGD16tHn11VfN2LFjzVRTTWVmn312M8ccc3QDxjX8Q3HDxwUCcPn86quvFHCAHzdunFYEwi266KJmkUUWMcsvv7zyMsw000wtazajBzsD0E8//dTceeed5p577jGPPPKImXHGGc2KK66oil9ooYUUiB49erSlw88//1wrx2uvvWaeeOIJ/evVq5dZd911zfrrr2/WXntt024abWUw2sP5BZTW09XVZa677jrz1ltvqVJR7AYbbKCtMVr52gv15ptvmrvvvtvcd9995tlnnzUbbrih6d+/v36GuSq2l1osT3cZef/kSqQF2m222caK55jdZZddrCjUSjeZeR6lm7YXXXSRXWWVVax4ttlBgwZZeV9nnq+KDIzKBaDyXrTis2mXWGIJO//889uhQ4da4UKoyGt+fr7xxhv2sMMOs1NPPbXdfvvtrbzH85K5bAGVNVZ7/fXXWyFq0povtDN5UUykfAjvkT3jjDOsvNO1VxEirUjPJRgoO0Cfe+45u+yyy9plllnGymAnwTImH/XPP/9sTz/9dCtTI7vffvtZuueMJH1AxQlX340yJbBXXHFFRuVOJlleEwcccIACO2LEiGQSqR9ruoAKTZsV72p74IEHWqGbqZ+1Dr7LO1aci/U1IvPcNEuSDqCyYmN33nlnO99889lnnnkmzQJmlhYDvfPOO8/KipS9/PLL08pH8oDKqo4VTgO75557WmElSatguUmH8svqk91hhx0s79qEJVlAR40apTVUFgcSLke+o5clR7vjjjvaxRZbzCbcBScH6FlnnWVlXTVPc7TMUWd+3bdvX/vSSy8llZf4AWVuecQRR+jcUviCksp4x8YrXIN2uummsw8//HASZYgfUAY/slthmZ54CdcAy5uAKmyh4QFavxofoIzqWHuVJeY0Xv6tFzknTwo3vRXzUvvoo4/GmaNRsVks7LXXXrq5zJ5jB2wzxbK10U4ksm5tnn/+ebPqqqua+++/v52oyp+No3oce+yxOpEW+tI4oitUHLTQaaed1rIUGoO03+Wef/75dt55581y/TIGPWQbhWze6wqa7Pu2m5H2AL399tut2OnYzz77rN2MFP55tg+Z5snGfju6aB1QJsiM1J566ql2MuCfLdHAIYccYsUqwzL1a1FaGxRxBsqWW25pTjnlFLXrKX8r+1+takAWY8w///lPc9ppp7UahWnJjPOoo45SS7vbbrut5YT9g+EawByVETC2TEsttVR4oNpXm7cpkqMydIf+u+++a7FX8I810sCtt96qGxotbGY01+Uyx+QQugsvvDA1y7valdHdO5tuuqnp16+fOemkk5ouZFNd7vHHH2/efvttc+211zadkH+gOQ1gxorN8UMPPWQWXnjhqA9H73I//PBDtXKTPr5Rj+Hvx6SBCy64wK655prNxBa9y2UgdOihh5oOdA+IWrtzF27fffc148ePN00dwhcFfvbv2MdLYcc9SnYKFeauu+6y0uVaNj8iSLQWetxxxxmxFPeL7hm0YVw/Jp98ciP2y9FSb4Q6rZPlPVlMaBTU309IAw8++KCVAVKU2Bu30LPPPtuIramZcEJnj3iJVvMzDCUDIz3H7d57722ci3qws+iO/4YcplovmL+XggbEEy/KiLd+C730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qritttpKFSceZBHKkU4QeS/bYcOG2X79+lnp2u3ZZ59tqXw5knwA+sILL9iNNtrIykDFnnzyyfbLL7/MkY7CsyLdv+3fv7+V97UdNGiQBewcSLaAvvnmm3azzTazM844ox0+fLgVZ9wc6KS5LMg73u677762d+/e9vjjj7dCA9BcBPGGzgbQb7/91h588MH6fjznnHMyeTfGq0drZcpkd9ppJ62cQswRd/RR40sfUBmx2hlmmMEOHDjQytQhakY7JtwzzzxjZfRtV111VfvOO++kne/0AAU8utcFFljAPv3002kXNPX0/vrXv+qYgB4oRUkH0Pvvv9/KAoA95phjrFDLpFi+bJPi/crUS+axVua3aWQmWUCFhURHrUJgYWWFJ40C5S4Npl0nnniivltlhSvp/CUHqJAb20022cTKElpHTEOS1jQLI7JObIVvMMmkkgGUUewKK6xg99hjj0J1sY2QYiQ855xz2lNOOaVR0Fbvj4p9P/TTTz81K620khFAzYgRI3RxPOb1yo6Njp2dp556ytxwww3mwAMPTIQvKVZAf/jhBzPzzDMb6MfPPPPMjlV8khlne45Ff3Z24E6Sphhvcq227crnZFfCyv6iPeussypv+d8hGmBVTLb97BZbbBHnQn8871ChYrPzzDOPPe+880Ky7i/V0gC7R0znDjjggFpBmr3e/jv0p59+MrK1ZGRbyUjG4u0+HI8N6wnZYdIu+NRTT42ntM1WgdLwLBKsvfbauuVVet1/b04D48eP19FvDFOaUW2xcR555JFmyimnLASXezzNJzwWBkoPPfSQWW655cxCCy2kM4TwkBGuNleX/hf6mmuu0Vr13Xff/e+i/9aWBlh8YCuxjWXC1gZFYmGnI1qxtmurAP7hag2wTMjab4vS/KAIlujtttvOHHvssWbhhReO0Af4IM1oAL1+//335txzz23msf+FbbYmnH766XadddZp9jEfvgkNsEuDOU4L+6nNdbnjxo1TGxrWJL0kqwH2U9kkb1Ka63LFnNL86U9/UqPm/7Vx/y0JDYiJjp4GddVVVzUXfdQacNddd1lxF7BieR71ER+uTQ1gzsKotwnDs2gtFA/oQw45xJx//vlmwgnbmro2V9sKHlqsHcxaa61lzjjjjOiaiFKJrrjiCrvKKqtECerDxKwBxiuYiEa0+x3V0FmJacp8881nBFR1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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"seq.visualize()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Verify the output:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"computing: 4\n",
"computing: 5\n",
"computing: 6\n",
"computing: 7\n"
]
},
{
"data": {
"text/plain": [
"[4, 5, 6, 7]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"seq.compute()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "dask-3.8.1",
"language": "python",
"name": "dask-3.8.1"
},
"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.8.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment