{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# Map/Reduce avec PIG sur cloudera - \u00e9nonc\u00e9\n", "\n", "Manipulation de fichiers sur un cluster Hadoop [Cloudera](https://www.cloudera.com/), premieer job map/reduce avec [PIG](https://pig.apache.org/). Lire aussi [From Pig to Spark: An Easy Journey to Spark for Apache Pig Developers](https://mapr.com/blog/easy-journey-from-pig-to-spark-for-developers/)."]}, {"cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [{"data": {"text/html": ["Plan\n", "
run previous cell, wait for 2 seconds
\n", ""], "text/plain": [""]}, "execution_count": 2, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import add_notebook_menu\n", "add_notebook_menu()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Donn\u00e9es"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On consid\u00e8re le jeu de donn\u00e9es suivant : [Localization Data for Person Activity Data Set](https://archive.ics.uci.edu/ml/datasets/Localization+Data+for+Person+Activity) qu'on r\u00e9cup\u00e8re comme suit :"]}, {"cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": ["import pyensae.datasource\n", "import urllib.error\n", "try:\n", " # ce soir \u00e7a ne marche pas...\n", " pyensae.datasource.download_data(\"ConfLongDemo_JSI.txt\", \n", " website=\"https://archive.ics.uci.edu/ml/machine-learning-databases/00196/\")\n", "except urllib.error.URLError:\n", " # donc je r\u00e9cup\u00e8re une vieille copie\n", " pyensae.datasource.download_data(\"ConfLongDemo_JSI.zip\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On l'ins\u00e8re dans une base de donn\u00e9es SQL."]}, {"cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sequencetagtimestampdateformatxyzactivity
0A01010-000-024-03363379022605128032927.05.2009 14:03:25:1274.0629311.8924340.507425walking
1A01020-000-033-11163379022605182091327.05.2009 14:03:25:1834.2919541.7811401.344495walking
2A01020-000-032-22163379022605209120527.05.2009 14:03:25:2104.3591011.8264560.968821walking
3A01010-000-024-03363379022605236149827.05.2009 14:03:25:2374.0878351.8799990.466983walking
4A01010-000-030-09663379022605263179227.05.2009 14:03:25:2634.3244622.0724600.488065walking
\n", "
"], "text/plain": [" sequence tag timestamp dateformat \\\n", "0 A01 010-000-024-033 633790226051280329 27.05.2009 14:03:25:127 \n", "1 A01 020-000-033-111 633790226051820913 27.05.2009 14:03:25:183 \n", "2 A01 020-000-032-221 633790226052091205 27.05.2009 14:03:25:210 \n", "3 A01 010-000-024-033 633790226052361498 27.05.2009 14:03:25:237 \n", "4 A01 010-000-030-096 633790226052631792 27.05.2009 14:03:25:263 \n", "\n", " x y z activity \n", "0 4.062931 1.892434 0.507425 walking \n", "1 4.291954 1.781140 1.344495 walking \n", "2 4.359101 1.826456 0.968821 walking \n", "3 4.087835 1.879999 0.466983 walking \n", "4 4.324462 2.072460 0.488065 walking "]}, "execution_count": 4, "metadata": {}, "output_type": "execute_result"}], "source": ["columns = \"sequence tag timestamp dateformat x y z activity\".split()\n", "import pandas, sqlite3, os\n", "df = pandas.read_csv(\"ConfLongDemo_JSI.txt\", sep=\",\", names=columns)\n", "if os.path.exists(\"ConfLongDemo_JSI.db3\"):\n", " os.remove(\"ConfLongDemo_JSI.db3\")\n", " \n", "con = sqlite3.connect(\"ConfLongDemo_JSI.db3\")\n", "df.to_sql(\"person\", con)\n", "con.close()\n", "df.head()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On cr\u00e9e un petit exemple pour plus tard qu'on enregistre \u00e9galement dans la base de donn\u00e9es."]}, {"cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": ["columns = \"sequence tag timestamp dateformat x y z activity\".split()\n", "import pandas\n", "df = pandas.read_csv(\"ConfLongDemo_JSI.txt\", sep=\",\", names=columns)\n", "dfs = df[:1000]\n", "dfs.to_csv(\"ConfLongDemo_JSI.small.txt\", header=False)\n", "\n", "import sqlite3\n", "con = sqlite3.connect(\"ConfLongDemo_JSI.db3\")\n", "dfs.to_sql(\"person_small\", con)\n", "con.close()"]}, {"cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [{"data": {"text/plain": ["['ConfLongDemo_JSI.db3']"]}, "execution_count": 6, "metadata": {}, "output_type": "execute_result"}], "source": ["[ _ for _ in os.listdir(\".\") if \"db3\" in _ ]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Partie 0 : aper\u00e7u du cluster Teralab\n", " \n", "Il faut se connecter au cluster avec l'url : ``https://....datascience.fr/....&login=``."]}, {"cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [{"data": {"image/png": "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\n3auOsgbHAnpilHA5XeDzvT0V3X6ECpdr158/uvxIm17l0m5fe/pxt7Hu1Q/2L9y/udb9zKc+Wm+2\nnMau19mqNQ69+nq9t1v1NtrtXs2pt7t75ebG40/c/5XPfmhq+p6keLNLKhLLnFS4MI1wGUcjXO4a\nHHv3V/+XMlCBsZP/6QSQZrGi/qdroAJDGvfYiUD/x6s9fLeOjrcIuN3xZMwthfpHcZdhlHA5uPRI\ne+Py+sbhm378xze2N2r1tWZj33E73e5ud73X7O05jQOvtdVs7jdam9XWmtfZrzd2t3cuN9e2Ko1G\np9H8hXc9HZ2+Jz6VicejyWQsFk2eSLiw0DHCZRyNcLkLQOPusZ0ANzMMjwLGTvQhgcdUg1sE+sYS\njGo5m7i776sjhcvla2vbl9udba+25dV2XW/z8MLDzdZhvXnBa29Y9U0IF6e+0Wxtu41tq71neXtu\nba+zsV1rdjxnZ3Oj+elP/J1sJpKKzsejmWhEbMIdyXjItAoLF7awD5OzhDRRtrbcPI1wMTAwMDAw\nOIsIFS6PPfn8wcXH17YOm52jZvei29iza9vN3kGtvec2dl3xDroN8etFzQ23vek2ti4dHe2srTlW\nz25uVxo9u4aztdc+/XB2ZlZsoU2mY8mxwgXj72iZErQwOcsIFyNcDAwMDAzOBUKFyxPXIVweWdu+\n4HUPrfqG623Wm4fV+r7d2OxtXuqu7128fLSzs12DfGkeuM2dD7z/LZ/61M+96vkn243NjY1uu7Fe\naWyWvXbZas3PJmPRe6aiU7FYMhqN09NA8VhSPgp04v0uozh45f/wU0U3TCNcDAwMDAwMziJChcvj\nTz53cPFqu7ff3Li/uba3ub3T6Kw5nS23td1d37G9WqO11miJ34uGavGae83afq/X7rQ2Paf3U+/8\nsUuXDu32bqW56TY2Lx4dvOMdb5qOiueik0mIjHGvpLthGuFihIuBgYGBwblAqHC59uSz+0dXmp0d\nr3vBa2822+3e5la1uWY3NvcPDtfWN73modUCt7zWeq25BYHiNlvNzqFbu+jUdurNy15rx2ntVb11\n12nkc/m5+VwyPZtIZpLpmXgCOiMtfkraCJebpxEuBgYGBgbnCqHC5Ynrzx9deqTZ2a2vHznNrWZz\nt948sJuHTmOrJp6LFu/7r7Y2q+01u7nl1PdxtJsbMDrNHbux4zS3640uVI7T2rLdTqFQW1iuZGeX\nk+m5dHYhmZlPZRcSqdmY0BwpuTN3SIUcy+Ael4FwUahpkRPRCBcDAwMDA4OziFDhcu3JZ8VS0dp+\nbe3Iqq+/5jVvrDU3reZurb3rNvfc1r7X2nRbm3Zzu9rarrS27ea60C4QLq1Nq77ntLbf/ta3eK11\np7vu1HulUm8pZ88srKZnFjNzy1lJpBODHbsnm3oxwmVAI1wMDAwMDM4VQoXLk08+d/369cPD/Wbn\nonhZS2en3t1wO5tuGxpl02lu11pbXmPbbexWG5tOe8ttis0ubnMXznYdp5vNVs+t71pO7RWvuL/d\naBWKztxSMTufnwEXCnNLpexcPpmBdpmJxjNRiA/xsv+hXS+0kJSQ8zHEQZaQKcS+RqE3uGgMyJHJ\naYSLgYGBgYHBWUSocLl+/VXXn3rqp972ls7afr2z7jQ2ap0Nr70hXvPf3Ki3d2utHa+17TW3/XRT\npEGnvomj29istw7dxr5bc3/nkz/ba9dzOW9hqTK7UATnFkuLy5X5xXJ6diWZXYglZ2LxjLJjt69O\n5KPRPLkyPL8ymFZhSu0S/gK6G6ARLgYGBgYGBmcRocLl2vVnDi5f2YBqae13Ny54zX2ntlVvb7r1\nba+x4za2wI2dy3Z9g9IsXOgUrLU2q/UN29uteRuVcn21ZC2ulOcWoVqK80ulpdXq0mpldrGQnVtO\npOdOQbjIPbnybS43tULENMLFwMDAwMDgLCJUuDx2/Zndy1e3tu+vdw681m6tudtobz1w5fDBBy82\nmmJOpdbasWsbTl28fU6eirkWHHcOruDU8tY9p1tr7lj1TdvdcN2NxdXG4koFkoWECxHCZWZ+JZmZ\nDxUuQb3CZL0iREY8EZN6hY1MVYiM4ihnI1wMDAwMDAzOIkKFy9Vrr9i+cH9n+0K9uyN+SbG1Vaut\nvf9n3/z7v/cxz1t3G0K7eOJl/zS/sgkRgwSO9fZuo7N3+cr1Fz7yDtdpt9e36u2ubddW8mWxPLRU\nnluEdinNzBcWV6rjhYvc70Jki09WG6F6halpkVCOcj5l4RKJoQLdeCo0wsXAwMDA4FwhVLg8/Pgz\nuxce6G5frPcuuI1dr77tuDtOrbXW26/V9p06pMwONIon30Fn18RuXLe5Ln4BACKmjsT600893PQa\n73z3G37wR19/9zt/bH5xcX4xXyiVFpYXq3ZtNefOi/0uqzPzy8nMXCyREa91EcJlIFOCPwLAZLUR\n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\nY298prJqx5ILqWQmNnVvLDpNwiUSj4v5kngCjMSS0VgqHk0WFqOf++yHvvDlL774h1/96h9+8Xd+\n/f1PPbY5O5OZm0k0G9bCYrGUK6/MzEZTmWh2di6bWkzcl4jfNy1mYeK6cGGtwFRkRFB5+FkqOVez\nH8sxBWE0e1wMDAwMDM4VwoXLE88eXLwqhEt722n05Yh4vGjDaXTbG2tus+c0IFY6dm3T8gbqZBwb\nW5AmEDdlq+e4kCP2hfsfhF1MtEjVIimkTNnZKNfcklO3vO1qrZ1rtEu1bsXbrNZrjtfZ3Ngouc2V\n5fnXvOLh+ZloPJ2KxpIQKxHx7HQ6FktEpqbj09HZZOJn3vXGr33pc1/+yjde/MPPfvHF37p20au5\nTsXu2rb93ve+ud4o/cy7X//z73tr1bILxepjD+5+9dMfefSB7ajQLhkjXAwMDAwMDM4iwoWLfBy6\nt3kkfx1arBa5kC/1DWgLq9a5/PD9dr3ltLpWs1t2Nr12QKOEseyu05tgqk7Htnuu167YzZIN6SN+\nSaAvXHpVr1vy1gq1TsHrlNxexWkjbdfWLLtX8WqW17569eDSYw9feXDrIx/40b1tO5ZKxmOZeDx5\n7/TLo7F7Y5F7Lh10XvPMgz/z7h/9wuf/3te/9Ht/+Lkvf+Gzv/eRX/rRN7/i6uHefsVuVautSsWz\nas12s1eyXKuGsPbB/sZTTzzw9z/xkVc9d+W+l9+jCxdNMagMEy4Das6hHO98bK55j4uBgYGBwfnB\nCOHy3P6FB9vrO7XWplNfl88T+RTvo2us1Vpbdl28UM4Sjwv1WJ3QVpVQwq1a61bqXbvedWuNKw9e\ntOqe5fWq1Y7d2ih7bVvOx0C70PqRVDNC0FS8ruX2LEfUXnXWytWm5zXe9PpXfeOLv/2et7+unF9Z\nmi9kkomD3eZvffyXf+XDP/PlF3/vq1/6gy985rc/+bGfvnbl4mc/9btf+tynfv3Xf7peb1mVdqXa\nLlutfLWxUm0W7PVqdb1Urn70hQ9XK9VK0bWr1i+87yfe85OPGeFiYGBgYGBwFjFCuDy7d3T/wcUH\na60NTbhU3S4sVQ/6AzpDTqJ4EwqXTqXWK4vNLuv1Rvdwf7fZ7TaaTatSKTqtan3dQZyGeHPdKJbt\nbsUhQbNertYee/ShX/3w+978xqcfuLTxEz/69Jc/++tfffE3v/qFT37+07/54h988o2vuf7z735V\no1q7/sjDH//o+3/tI2+voWy1W7baJbtRAJ3OarVdKnVLZduBYql61UrHQUvK9uPXHjTCxcDAwMDA\n4CwiXLg88Yw/4yJ+C7onXuLSp1UTdBpizQhZdDqJcCnXO+V6ryJ8tmx33XE6ttM53OludipVp1O2\noYraFfHo9UiW7E5FbuMtOGslV8R03W6lZLWard3N9dc+/4qdte5aq113PKtsV8vO2vZmye2UnYbj\nONu7UFfdktUpQbhYrYJVz1VrkC8la61oNYpWDVkVe71kQ9Z089X68cKF9UQYdWcw4DNO0yhiSM8C\n1Qg4QrjMzS5ZVXd/79AIFwMDAwODuxvhwuXJp/cvPNBZ36+1xcKQXYd2Gc0avd3/GJbrXfHyXJHe\nqIK19arTff6Za7/8i++pOB2rtmm5LVW4iMmVYXKW7XWqUCRut+T2cCy77YrTdmvrFalLila3aHcL\nVrfsdXJOp2i36rXm2lr78gNPFOw2CEuu7JZsb7VULorTdlG49Yq2eIVMwWoV7cYdJlzm582Mi4GB\ngYHBucAI4fKUFC4HwT0uodQ0SihLdWgXsa5U9bqVWrdY7xYbHderd9o9q7Fecjq21yv1n4sGNdUC\nchY8q1675DVKXr3iNmy7Wal2KvZG2YYe2io6vYIDQdOzrHqx2rCdzpvf9AarXPTszbzTyjudgt0p\nO83uxubzr3m+aLmFar0ElWP3SnariCJWE+pnpHCRkoLoqweFCfH+FWLAn7NUfz+r78yU9n7MQC6H\nQho+RrgYGBgYGJwfjBAuNOMyuXAJUhculdp6VXiSdumVa71yQ8zWVO1uWby+BZKFpAmOghW3W3G6\nZUcsDxE5y4IGcjtFp1VxO1VnzbLWLatbddplKBi3VXabYMlpQYvIBOztUrVZsrtFt110xBRLyWpW\nnEbVrZWsWtlulS34dJAoViFcGuAY4cKyQycpCY2D3ICFyVnMY4SLQvjcBXtc7lHwwgsv+Nb/7X+z\nLAuWv/3bv/XPbwI//OEPEerq1av++SkBrZWtHoqMNBnVazEwMDAwOBWEC5cnntk/elAsFU0qXIQc\nGaYuXJg8cRJG6BIIFJ8VsfeljSOR7YgPyYIsQWnHKfng1LdLwlKyWyXLp3AQqkWeKnZQ2IVwaRKN\ncLlNID2h4a1vfSvl3kHCBfBNig4zwsXAwMDg1BEuXJ58Rsy4bOxNtMel7m/RHWJArzADYkVlr+p1\n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\nMP4m/Pvf/wfvDKAcDn0RKwAAAABJRU5ErkJggg==\n", "text/plain": [""]}, "execution_count": 7, "metadata": {"image/png": {"width": 500}}, "output_type": "execute_result"}], "source": ["from pyquickhelper.helpgen import NbImage\n", "NbImage(\"cluster1.png\", width=500)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Il faut cliquer ensuite sur ``Hue Access`` une fen\u00eatre s'ouvre. Il faut ensuie trouver l'onglet qui permette d'obtenir l'image suivante et le bouton ``Upload`` :"]}, {"cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [{"data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAABJ0AAAGyCAIAAADBECJUAAAAAXNSR0IArs4c6QAAAARnQU1BAACx\njwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAHLiSURBVHhe7b3tj2zXdaeXfylQPgSZTAYB6AwG\nBogAARzxS4IRB0E8iM0PzgiGxwLkoW1gQA/HskWFHo81tjSSRTMa2ZQlEZZEmdbQEvUuUpTEN4mk\n+Hr5NrYkUnJsK0/X7/S6655zqrq6u7pvne7nwUZh7XXWXnvvdU5V7R+rSf5X/98h3/zmN99y2702\nm81ms9lsNpvNZltWU9fZbDabzWaz2Ww227Kbus5ms9lsNpvNZrPZlt3UdTabzWaz2Ww2m8227Kau\ns9lsNpvNZrPZbLZlN3WdzWaz2Ww2m81msy27qetsNpvNZrPZbDabbdlNXWez2Ww2m81ms9lsy27n\nquteW/Hnjzz103d+5n+4/VOjq7/0J1/+zU89nDa61BtjKwy7/P/jb3/qZz/0+Xf+6Vd+/RNfm23k\n/5n3/kXF22w2m81ms9lsNtvFaGeo6xBRSLh/9K5Plie6Dt72H//ygXte+r9/76t1iUbwcPm117p/\n1Bg7BK3y4Plvb/+z//i5R19+5dXBu5EHHn3mH99xX09os9lsNptty/Y/3XHf2//kq9Xo0kYxtp20\nUalnm8U/z3bnZx+/9xvP8Xrft18YXbJdl/azd33hHN4FzDLy7G07K133S3/yZUQUr90ZZQXosS/9\n6Svf/MTr//p9Vyc9sa77d3/xzaG/HZ/4+nd6QpvNZrPZbFu2P/j8dx5/8a+qcah6+NnXb//0t0Zh\ntD/+2vd6JC2nYV6xb/r9B2jlPLJNs33pqVdGMResscHRlqdtQxE2X6Vx74ihsCN/b7lZvV0eSRNd\nzVNaHh5+nvYHnrhyFkXI7R45t2z1nhr5L3BDXfc3CBXgZo1idtKYiPwl7Zhl9FTE2bs7aZGstGOp\nyjPRdT//Rw8in7759Pihj6wC9Nin/viFz330CtLu5/7dF3P1ZLruv7nt3u+9+HK6r7z66gc//+ht\nf/b10V9g0t79mW88d+WVhF155VVGjdLabDabzWY7sk11XYyptIsSm5546gx6Al1X2TLvZk2y9MYG\nt2mjUdW4tCtdV6dY7jJdnoEKuJCNkzQtm6U+CLxf/cTDKQUGARi0PuT0TV23fcunAS0auwTe7D9g\nOmXjSSA/r0yKkVLTMHgYmDGe0ahTtru+9FTmouXtxus2H3e713X/6F2f/NYzLyCf/vSrT6K7eous\nAuzf+sC3//NHX0LXff6jV/7Bv/kzBp5M1/3j99w3dF577UMPPjYK7u0/fenxIe611/pfh9psNpvN\nZtuyrdN1sXtkzl4jZ2+n0XW07ccutLFBqr25ETMaVY1LHA1Hzt5OoOtyy7Y5Xy63sceHn32dbeaV\nFtlAtdn4vd94jjM3cmLDg33+bXSbLnbLY0/rKi6fD9yysygC5aUxb/7gM7PTeBhw5n3U40/fSDj6\n49Ls+si33u51Xf4CczPosfwdZtov/PuvMPBkuu5n3vsXQ+e11zb/B1dQfUOcus5ms9lsthO1OlSl\ncabBkzb6h+U5aU2Pv3UGjUig2/20WTUyypazFJOWneEZm8xpdRJKTNm02BmIkSnSai89VaarIXk9\ni58I0kjO2Y78rKGK3BtXiRmNqsalXkm6aVWE1K3vuoKrZY8sIF0WQzdb3lXZY6SN7m9aVTiReT27\nstM4rzMFm6LImQ6baudXFK72wqYlLOvHoMU/fagSWSXFxoNBTuw4mTdDRpHEJAxnVZvhPWfCMqTn\njD+RtCw1ScqJZ7byo3bnZx8f/fU1xUHr0kZq5Cxa9DZ7Ya5f/cTD3I5MmjVzj3rwTloqzK65m6kt\nVcJODakD81bwTloSsq96s9c9qnfWbNu9ruvybB0jXfcHH3pyNLAnHLUNuu5bz7xAknXtO89fGeLU\ndTabzWaznaj1Eyct/8Q6bXQKzIk2R5/eckCpgyldnAmug2mcvSWgtzq85iQ66ub006fIvBg5h9Gy\ntgRnFLuoyNFiMip7TMBovztvTMHBjllYSRW5N64SMxpVjUupSS9C92fLyZCYqmG17LS3yrOTsveq\nkiqRGZ5UbLOGJNVZlx1hgHKgRS3QMi/rYWE0/LxWfFrWzBYIq0Vmd33x5ewBsWv73VmjaBi0mjpd\njExdlzDqplTO+GlZzKjUFZPutPKjRgWQcHW1uhl4pu1n7/oCE6XlNlGi3Kk46fb4nTRy5kYkP7tO\nqctJ6/Gnb0nIRJW/tw113r2uq3/bbQPosS/+6cul6z71xwf3AOk1XD6prtsedZ3NZrPZbCdoOe3N\nttGJKgfc3vphCDuHyIwqowYmuFqcdcrMWBp2Tj911hkNr26OywTHQ2MvdYaOQas8tLqaLnYWWVuI\n/4xapkBmcJZlxmlLEUajqnEp5/vRAb26o7qRkO5oUyNnhiTtaHjVedRNDQmOh9bLXo8TRgbS+oKz\nx8wyu8Kdt6yHucpTi8yS1rUKq5qM/LQsHiP5s6OEldbqzv4EYqTytFHxe2V6WOUc+bMk0qa8tdl1\nlZ+2aDlkFWG5s+sid9uy8Wr3fuM5nCwmP7HSWFKP30mjPjTeiSMByaS03KMef/qWhKPN9rbuUdy9\nrhuU00bQY//kNz/zl6v/bgrtL+55kYH97yR7wlHboOse+u7zf/rVJ7dp/+DfHvwbfTabzWaz2Y7V\n+iF11Op0mJbT3vT8QRh+joP9TJkMvXG1j5pmi4ewnH7qWFn5exgxmY71c7olJi1X+8C0nIBzYuuN\nmIocrXDnjSk4RyLqeGX904afmNGoalzKLkalqzM9Hgy68Vc9002b7jQejAw/fdnxY6dxCc/0Gcss\noynOqLHm/PpE5elSZFaIWqBiv/qJh2ksALsPqZbVVqnz/OQu9MVXcXitAqYOFdlbpsNIKlrG1r3r\nyXtY5Yw/5aVlYbzm7pR/XeVnG5WJtNscttuWBfflUYpesdrLDhs5aXd+9nGkXZ6NtNxoHgnsHn/6\nloS5y9O27vGj7V7XffPpg/9oCmB85pGneosf0GNE/srvPxRdd+9HDtT2b37q4eHya6+h1irhqPV/\nf488//O/+/Oh89pr7/nMI6Ngm81ms9lsO2zTk1+10YmqDq/dScshjPNZP1NOh4/aNFs8JMnpp06W\n5Z92MzWNg1FtZDRvVkUjoI6/PYBWWxj5d9uYAmmx4fc6/MRUfFaOv4bHzk6rdNUd1Y1guqNNTZ3x\nYOy27MnWY2rB1WZXuPMWuZLFMGN0C6+5FxiIpRJOvdU262o83c7is9mIrtpmabA+qrcMiT0qfk/e\nwyrnyJ8KU2qGYDC8+6eVX9eoFWtA8Iz8Z9qyqTRmZ7Vda53FYqgPjXlTMTw8DHnCafd+47ntK7Zl\nI20MMqfVdNOPo952r+vqZ7c/f2T8by7GD9F1//v/87nout/6wLfp/vonvjZcfu21Lz7x7M//0YOE\njRqirv+d50/f+Zn//t/+2SuvDv9H8j//5tP/nT/E2Ww2m812Zq3O5dNWp8O0HESmJ546g/YzZQ/G\nqANotWm2CsOJTUD8vZsp6lItHn/CaDkn1UkXm9eyMTJLnIRh1xawz64xBa+cIDk9s9ppq5hqOfJi\nZONZba8zrWwyYPf4iqk22mkPy/BTlp0Y7OwlYdh9ln5fRos5u8ZESIWoBYQcB3de81sN6/nVTzyc\nbh+Sx4PtZMHZexZcO6LV4nOpP+d179Y9aeviR8nLX6VOfOyUejSWWRLTu73ye9VqX7ReJRr74s3S\ng3fSyH8WaTe0/HOE7tnyduxe16G+orIA3dUvDd5DXXfTHf85uu5/e8/n6BI8XN6OLz7+bNJ+6hvf\nHVyvvfb8lVcefup5ZOG69n/d9WBG2Ww2m81mO27L8WK21ekwrR/Ze8shjBPk6ExZhzNaBVdLtlHL\npZzzcpJOS+a0qb8Oxznd4ky3b61GzaaqLaR7Rq3+laENjZg+ZN3GaeWvglfd6lIFV+s3Ja2qt6uy\n9wXkmE6bnt1p51P2tGhppot+Y1KWwcrv/Ozj2BF7PT5LjZ0NMjwbT8s261zexVsfFbs/iuSJE7tq\nSKvkOHtlkpnGjD1nIqvaCU6SeiRos5Xft1Z77I3djbTQrlqvz/k07gLPWPaVt9Kvrv5feT1mtu1e\n19HqTy5HP9nFCdF1v/jeryLq/uTDV9/52/w/EsIzL75cf6v5v/z7++kOF46CKWo6m81ms9lsx2qz\nJ6q0nD9stova0Hh51B944sro0v43lt1l4dIbirSEK7oLCXp2P6mdv647cTsTXfeP3vXJ+rfsfv0T\nXyt/PICu+wf/5pP3/cnzX/nYKz/9W39eATQu/eHnH/3i488OodeCfkM0/u5ffHP0H7T8x3fc9+8/\n+60vP/nsC1deGULXoK6z2Ww2m81msx235TeTn73rC3v7Q9aGdsF0nW22nYmus9lsNpvNZrPZbHvS\n1HWXoanrbDabzWaz2Ww2m23ZTV1ns9lsNpvNZrPZbMtu6jqbzWaz2Ww2m81mW3ZT19lsNpvNZrPZ\nbDbbspu6zmaz2Ww2m81ms9mW3a7RdT8WERERERGRpaGuExERERERWTbqOhERERERkWWjrhMRERER\nEVk26joREREREZFlo64TERERERFZNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMRERER\nEVk26joREREREZFlo64TERERERFZNuo6ERERERGRZbNHuu6pl//6c0++PGoPP/taLiVGRERERERE\nRuxG173x5o+ee+0HL77+g3Qx6NLS3ZJ/+JsP/Nf/+v5Ru/kDX+XSHfc/+TPv/WI0noiIiIiIiHR2\n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\nKtVO5tENSqunAuLPkNSwhkANofVRe0XVcLTO/khkgzD7kMeumwK9XPEnW39ue6F2S5999DDnXufJ\nL6P8sWc33gNGVHDmzR4xGFIrqaqu8/dJ9/kNKCIictbso6773JMHP1vNcsfhfxgTXTe4GszYT0iI\nn9Iq6+gxI12XX9hyaUsYHsU1IgqtfjqbhnEJZxdmkF/hUFnploojOM4smFF4ZueN3kvL7LXHBMxy\nAl0nIrIT+Owt0dhZ5xcREZGw4N/rhmHrObGuy+KxS1NtCUNm9dVIoU3DIqVYwNBfEVVWGizLq1c8\nkYujsFkIyIwZMrvIQl0nItcLPnvVdSIiIifghLru9R+8EfGTNqvrjvsdXLoO8da1XG//8DcfOFNd\nl//eCe3F13+An9b1UgTPBgXF1VnJlFQl26ZhEX60UlPRb7T+I1483Zn100YDuyKNp34tzG+D1YVR\ngLpORK4X6747TvCdIiIicqk4oa47C0rXnfjvMEecQNdhj34fG7VZ2VaMgnvrOoruNE/U1KiNNGQk\nWR9bo4b+imxq1Eqn5Se7aSutqK4TEREREVkW+6jrpv/DumrIuXPTdTCSQP1HsFl6cG8jeYZnqusA\nKdVH9V/qAnnw92VMPSEKsNrgbXTtN1qMuk5EREREZFnso67bpm2j60RERERERC4DS9V1t/y/B/+f\nABEREREREdkjXfdn33xx9FeXG9rDz742DBMREREREbnc7JGuExERERERkROgrhMREREREVk26joR\nEREREZFlo64TERERERFZNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joR\nEREREZFlo64TERERERFZNuo6ERERERGRZaOuExERERERWTbX6LonnniC14cffvghERERERERWQjX\n6LpnnnnmySeffOyxxx4VERERERGRhXCNrnvxxReff/7550RERERERGQ5XKPrXnvttVdfffUVERER\nERERWQ7X6Lr/IiIiIiIiIkvjGl33VyIiIiIiIrI01HUiIiIiIiLLRl0nIiIiIiKybNR1IiIiIiIi\ny0ZdJyIiIiIismzUdSIiIiIiIstGXSciIiIiIrJs1HUiIiIiIiLLRl0nIiIiIiKybNR1IiIiIiIi\ny0ZdJyIiIiIismzUdSIiIiIiIsvm5LrupZdeeuKJJ74tIiIiIiIipwBh9eKLLw5C60ScUNch6p56\n6qk33njjJyIiIiIiInIKEFZPP/30aaTdCXUdglJRJyIiIiIishPefPNNRNYgt47PCXXdt7/97WF+\nEREREREROTWIrEFuHR91nYiIiIiIyPVHXSciIiIiInJ5UdeJiIiIiIgsG3WdiIiIiIjIslHXiYiI\niIiILBt1nYiIiIiIyLJR14mIiIiIiCwbdZ2IiIiIiMiyUdeJiIiIiIgsG3WdiIiIiIjIslHXiYiI\niIiILBt1nYiIiIiIyLJR14mIiIiIiCwbdZ2IiIiIiMiyUdeJiIiIiIgsG3WdiIiIiIjIslHXiYiI\niIiILJuz0nXPPPPMn4vsPU8//fTwyIqIiIhcdH784x8///zzT0mDgvzoRz8aCnTIEgt1Vrru0Ucf\nvXLlyssiewyPKA/q8Miegr/5m78hG2/+SwVb5iNvKMEhF6MUF3VrF/iWyTq86dtjrc6O55577jvf\n+c7QOQ6zN0VOCYefN998c+jICkTdSy+9NHQOWWKhzlDXvfHGG3wgiuwtPKI70XV88fCmINulgi2z\n8aEEh1yMUlzUrc3u65VXXrkAt0zWMXvTX331VW/6FN8gZ8cPf/hDdB0KjdPzsfj+97/PTfn7v//7\n4X7ILnj22WcpqYygLEOBDnnuueeGa8vhDHUd5+ahI7KX8IjuRNc9//zzw3fXJeOFF14YSnDIhSnF\niy++OGzpkIuxtYu6L9kAt3i42Ye89NJLwzW5lmmteMsM1+QU/OAHP0DXvfnmm0N/axjCLeC0OtwP\n2QXqulnUdZtQ18n+o647Jeq6xaGuu4RMtYq6bh3TWqnrdsKJdR1wC/7u7/5uuB+yCxAwlFRGfO97\n3xsKdMgSC6Wuk8uLuu6UqOsWh7ruEjLVKuq6dUxrpa7bCeq6vUJdN4u6bhPqOtl/1HWnRF23ONR1\nl5CpVlHXrWNaK3XdTlDX7RUImL+VCVNdt8RCqevk8qKuOyXqusWhrruETLWKum4d01qp63aCum6v\nUNfNoq7bhLpO9h913SlR10351re+9fUVTz311ODaJ9R1l5CpVlHXrWNaK3XdTlDX7RXqulnUdZtQ\n18n+c/66jkP/lStXhs7y2aGuu+eee/aqMifQP6z/zjvv/K3f+q3/sOK2224bLuwTx9oX0jQadQND\nqOwxU62ypa7jkeYW86k19C8B01qp63aCum6veOaZZ4aj/0Z479933328Dv2LDmUZCnTIloV68MEH\n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\n7GXDc6iu2ys26DpAvOWPGNEVaI+3rf7z/XjWqamolNDVS2TJyE/CsqdXI3KAsREz8ZeIIjKX4t8t\nx9J1kBWOYHlT9cuya48htY3dJWJtLaWIlosdvXcke/Hv14lcF85a1/GVz3deESdno6G/OpXOHpWW\nwg51XR3X9oTz0XXHIgesOkGO4NKGQ1Vx4n3tJ2x5m13D5updbKZaZbOuC7wleWjzXOW/kTNcuNBM\na7VZ18FIwo26EtR1ewVy5Ycbefrpp1EU//Sf/lPkBK9okoceemi4tjVIF5IMnSXAIzoU6JAjC0VZ\nKA47pVD51Y7SDdeuE+o6ubycz+91F5gd6rp948T6J6fhKfnN4TRsUCb55/fbiJal67r6TaPsLaWa\nuq6zja67nExrdaSuk21Q1+0VR8qVnXAZdN0eoq6Ty4u67pSo686TdcoE0XggdK79S611LF3XQf4e\nL2z5Yx2o6zrqunVMa6Wu2wnqur1CXTeLum4T6jrZf9R1p0Rdtzgu6r5kA1Otoq5bx7RW6rqdoK7b\nK5Ar3BEZQVmGAh3yxBNPDNeWg7pOLi/qulOirlsc6rpLyFSrqOvWMa2Vum4ncNxU1+0P6rpZ1HWb\nUNfJ/qOuOyXqusWhrruETLWKum4d01qp63YCx0113f6AXPm+TJjquscff3y4thzUdXJ5UdedEnXd\n4lDXXUKmWkVdt45prdR1O0Fdt1eo62ZR121CXSf7j7rulKjrFoe67hIy1SrqunVMa6Wu2wnqur0C\nufLXMmGq6x577LHh2nJQ18nlZVe67uWXX+ZNMXwFXRrYMhsfSnDIxSjFRd3a7L5eeeWVC3DLZB2z\nN/3VV1/1pk/xDXJ2nFjX5aao63aLum4Wdd0m1HWy/+xK1/34xz/mi+f5SwZb/tGPfjSU4JCLUYqL\nurULfMtkHd707bFWZ8ezzz6Lrhs6x4Hi//CHP/z7v//74X7ILnjqqaeuXLkyHOhlBQV5+umnhwId\ngmdxhTorXcd7mBOzyJ7Dgzo8siIiInIGIMz+5m/+BpF8XBj1t3/7t+q63fKjH/0IzYy6k4KCvPHG\nG0OBDllioc5K14mIiIiIIMzg745JRsGQRUSOQl0nIiIiIiKybNR1IiIiIiIiy0ZdJyIiIiIismzU\ndSIiIiIiIstGXSciIiIiIrJs1HUiIiIiIiLLRl0nIiIiIiKybNR1IiIiIiIiy0ZdJyIiIiIismzU\ndSIiIiIiIstGXSciIiIiIrJs1HUiIiIiIiLLRl0nIiIiIiKybNR1IiIiIiIiy0ZdJyIiIiIismzU\ndSIiIiIiIstGXSciIiIiIrJs1HUiIiIiIiLLRl0nIiIiIiKybNR1IiIiIiIi1x9E1iC3jo+6TkRE\nRERE5PqjrhMREREREVk26joREREREZFlo64TERERERFZNuo6ERERERGRZaOuExERERERWTbqOhER\nERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZNuo6ERERERGRZaOuExERERERWTbqOhER\nERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZNuo6ERERERGRZaOuExERERERWTbqOhER\nERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZNuo6ERERERGRZaOuu+w899xz73//+4fO\n9eDjH//4gw8+OHR2zU/dcd87PvbQ0DkOb7nt3nfd/+jQOUs+s2LoiIiIiMhZ8sQTT3xuxde//vXB\ndVG4mLqOGwYY3DBu28svvxx/8YlPfOIXfuEXhs6KqeeSgKZCWQ2d6wGqEm05dHbN/uu6D3/4w488\n8sjQWcM/+2f/7NFHT7KYn/7pnx6s8+Luu+++4YYbbr311qEvIiIisjcgCt75znfevgIDmTBcaKAI\npqAUhsvH5DwlxgXUdffdd98v/dIv5QZwzzCm90xdV5zpz2VHct1/LVzHuem63/md3xmsNSDq3vKW\nt5xA1zHqnHXdY489duONN6LrlHYiIiKyVxz8Qve5z73vfe9797vfHfuuu+4qe/ojEERNDJ2Toq47\nOR/5yEeoHfcJUHcReNyt4fIh6rriyJ/L3vGxh37qjvtiI3UQPLFxYtP++R99MR546+8/MHJi0PBU\nks6RvxYyO2MffPoV7Lu+8jR25Fb8afjx9J/mEsmo7jxybdldAnilSwaM5Ic4MZI2waTN1VG2rCEt\n65/yyCOPfPjDHx46c/zyL/8y8iz89m//9siTGIj2C/fffz8eFN3QP/ScNXfffffNN9/MXCXtzmde\nERERkSNBGrzzne+MRujg/N3f/d38od8IpIG67gjOTtdxVxBylC+KLsbJdB33mC7gLw/3Ps7bb7+d\nnGUnAGoUkYNrv9nm5zIETIQKlK6LhokTT5QPnoqM8okzQ2bZ5tdCMkQ7kSc5I5lWF69eZW01O2FZ\nXl/G5rV1CcdV7M26DjtqDTtzTbMluIo2ZZt/ua7/Xoe0K52GcsvPcTxsOPPIRc5hAEYCzgFEHXLu\nF3/xF0va+XudiIiI7BX90F7kVD90roUjfQkBwCY4p/38O1+rU/8BaJCKGVyrmPIQEGdPuHMuiK57\n+eWXf30Fp9toufCRj3wk/lS26EXv5Cr3LLcn4i03m7sIGLmL3U4AowADcJ7pbdsV2/zLdYicUkQl\nUaJ8Rj9DlZKBGoXaqV+0pmz5L9dFR83mwVnLqyXhiRjDiIQ7cm19m5D4DbouaQHPltmGTmPLf7mu\ndN1Kyg1SrTReDMgPegWe89F1EXU8/PmZLtJuuCYiIiKyH3BW4dCeVyRDSHeIuJbReT7yoYLRArmK\nBz+iILqAV5zJjJFRicSJjXFGXBBdhwx797vf/b73vY9ijeASpLJFSjx0VpQnt6TuGQMZjsHN42bE\nSUBuT9mjUdMZ9xNE3ZG6oksUxAkSJXZ+nkqLp7ppU7UzAkW3+a8Qi8zbZWTN0nUdNqslrDwYEWAV\nnzZd22idxDDplroOP8ZI1+HsLQNHbPPvFo503UrBXaV+uxv6b3kL8atx56TrRqIO/KVORERE9hCO\nK5zV83og6VakO0RcSz/ww1Q+hPiTBCPCoeijiMGO8DsLLs7vdanULFwa/duQ0xtTnlHFD0Th1rqu\nswhdd+R/tAPW6boCMRM9M6teNui6bf4KMZCZNdQy+pJGy8PGQ4snXYwj19bzQOJ39XvdLFv+l0jz\nL9RNf6+bgsZbKburf5O5IXgnKOpERERkKexW1yEQVkf+gzM/r0nSFQHJ8fRRI5Wxcy6IroNUKmCP\nukPQIaMbA+XJ/agh3Krtdd10on3myP9oR0C3oGfyWxm6BTsGMmZ1/UDPxOa1xAwBETld7YzY5q8Q\noeYqNdVVE+vpCird+mWvhhy5tki4yDaGlI2RDKlDnKTCxohdU8xmQxZilzgstvl3C6HruvzJZZ5D\nNBt2BeSHu9l/Ae+MQNTdtGKQdIo6ERER2WN2qOv6yX9WBdCNs4+KU113NKlUiGfozMmtXuLQPaXl\n+n3arOswGAVxEpwM+8z2P5chV1AmtAieOKNtaKWXoCLLuUHXbfNrYRLGjkAquZUWZwm50XQluuDI\ntSUVDT8xmShybuTEoFv+1ei12WgZNWLLf7ewfoXLvz7X/3uYEXsjZ/1bdtF4EJm3c2655RYyo+4U\ndSIiIrL/cFDnbM+5nVeO9wEnr0PEtfQDP3Sx0DVCfrhbJbsq2xKQ6WpUDzgLLo6u+/rXv06lQjxD\n5xd+Yfq/k+8lDiMPwmw19OrtPFLXQY0qgScXki4XLy3oOuRcDEWdiIiI7Dm//uu/PliNk+k6qL/D\nxF8yITEhY/sodZ3I3qGug+g6f6kTERGRRVBKrIPYm/2fki8RdZ3IsVHXiYiIiMheoa4TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNuo6ERERERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZ\nNnuq6750fIaRW/Dd7353sHbKGaUVEbmc+KF6FljVnWNJZSn4rF549lfXDdZ2bB//wgsvPP7447wO\n/R2xTdq77777hhtuuOWWW4b+T35y00034Rk6IiJyyLE+q/NZGh577DE8vGL3z1uBbap6//33U7pb\nb7116P/kJ5SxCisjjvWgUtWDZ/QQSj1ckEOG0jSGCzvizjvvJCfnsaG/HTm/MXboL5NtntXstLP0\nXV82Lpeu+/73v88zHbAH76nZMm29W+oDRV0nIjLlWJ/VOSvHxuBzFUNdN2XLqqrrtudYD+roGz/P\n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\ndi05WKfl4B7K2c/ZtYwYm3Ud1DbTHdGnTktCqIn67KHrOpitzIjZbLU22uBqZFOjNlxb0QuejTBL\n+WvGOKE8rD9T4+wDR93Zm9gn7SusuiXz9JGobloCoMdD5WQNWTBLqrDaQpzQ70VdzUS8ljPxPXkG\nZt4kT0wtspYkImdBjiZ14MiZDCMHjlwCzg0JAJx15shpJmeLpAp1yMDuB5T6to2RgZm0O5Oq/JWh\n29C/u5NqT8jC6hyJzV4wKONqsQeXeK29YNCNDb3g0z2OgoGjXgIIzsAUELhEtsyetAmu0+GGbP2m\n7w9ZW98XNhvPVcBJQNm1C8IgdnbNXegBHZyVpG4Ws1SGTmbM3Unl+3r2mendh2yBXc8+RZD9QoyR\nM09sqlFO6PUZlTEBnQSn8gE7wdyaUXl7WBjdaKjFF+vuJvmnwdCrMbiunZq54iTz9KHqaSsV1L46\n+CtbB2fNTraypzVZx2XRdSI7J8qk1NTFYCT/NkMYwdF1IiLbk3PP7IlHTgwHwelxU+TEdJlxbvDh\nsKWGkSnqOpETcjl1XX5pJKzs+k1PRGRL1HVngbpOTk9/ihB19RvUucGMfD4MHTkm6rqLRsTGqNUf\n7501+QFn2i7k0f/S/l6XmDR/rBORE6CuOwvUdbITkHO8PeH8f6yTU6KuExERERERWTb7q+uOyzBS\nRERERETkkrGnuk5ERERERES2RF0nIiIiIiKybNR1IiIiIiIiy0ZdJyIiIiIismzUdSIiIiIiIstm\nX3TdcyIiIiIiInIi/L1ORERERERk2ajrRERERERElo26TkREREREZNmo60RERERERJaNuk5ERERE\nRGTZqOtERERERESWzZ7qui8dn2GkiIiIiIjIJWN/dd1gbceR8QTc31AHioiIiIjIheGy6Lobbrjh\nlkNuvvnmG2+8EePKlSvD5XPhp+647y233YvxrvsfxXjHxx7CfuvvP4D94NOvrEKOgDCC08g2eH/y\nk7u+8nT5B5eIyGLhEzvcfffdg6tx//33D5dvuOGxxx4bvIfk6k033TT0V5AH56233ordh4fZWSSk\nXNM6H8mJB14GeBQ5hAyd43DigSJ8Kl7Hh4fZVx+313w4b/4w73B1iDv8JA/5bB85A8lHXwSBIkyD\noaboo/q8JBy8ExI2dFZkCMx+vwzXDqkZs53Rbbrzzjtx8jr0N3KJdN1gre401eGmIvDOU9qdXtdV\n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\nDptWu4hTXSci14v6wssX7ejLrB8p8lU6+gxPQGy+ICugvvV7Bsgss1+xF4bskY33vVOc1DZlrDrT\n5VIdX/qQCutFKwOSKsFkiJ0MvOLkFsQJGJkldgIwZrMxL3b8ewJLygmMTWUjvVa1/YPQVZfg2loN\nmd1jnAdxK4hMcAoVe+TMs53yVqkTsC4bsKQM3E9YZ18eXRac3WGzqSov/jyZOFPk2v6UulT5RyXq\nTO/y4ugPXqhNsaNsqj9FvRqExc6zXY8WNkMqDzAqdhmdHllk0qwtk9YNncI6s7xOMmRVZRSzk8Js\nKiCYIRgExOj5U4GsdkrWP3Tac5gMydZZlwpnrZkYSE1qSUeirjutroOoIKTR0L/2RzDsODfouii6\ncs5S0qu3TBqpltaDZ3UdlD7MvFkhU2Pjwa711+JFRM6HfBGG+ibD4OM6dr5Bw/QDPN++sRlVNl/k\n+S5PQGfL78uFknrWOQaDLkaVcVWYa86sOOvMkXLlbDF7a7D7ASU1TwCvGZhJuzOpyl8Zug2VDZJq\nT8jC6vHDZi8YlHG12INLvNZeMOjGhl7w6R5HwcBRLwEEZ2AKCFwiW2ZP2gTX6XBDtn7T9xCWl32F\nenhi1wYxys5mKX5KEWcHfyVJDUk1LVHIjNO7vCBmt5aNs6/Zpwgw4o8xcvYbUU7oVa07EhLQSXDe\nJqHqzI1jitihh4XRHYdafNEfks7ouSp6NQbXtVMzV5xkHj1dozpXKhjtJeCvbB2cNTuLLHtak3Vc\nFl1HaVLfETfeeONx5xIREZHTkHNPneRkJ3AQnBUzIiejy4xzgw+HLTWMTLksuk5ERET2BHXdWaCu\nk9PTnyJE3exPW2cKM/L5MHTkmKjr9pH8neSo5S8kRURElo667ixQ18lOqL9xO/8f6+SUqOtERERE\nRESWzf7quuMyjBQREREREblk7KmuExERERERkS1R14mIiIiIiCwbdZ2IiIiIiMiyUdeJiIiIiIgs\nG3WdiIiIiIjIslHXiYiIiIiILBt1nYiIiIiIyLJR14mIiIiIiCwbdZ2IiIiIiMiyUdeJiIiIiIgs\nG3WdiIiIiIjIslHXiYiIiIiILBt1nYiIiIiIyLJR14mIiIiIiCwbdZ2IiIiIiMiyUdeJiIiIiIgs\nG3WdiIiIiIjIslHXiYiIiIiILBt1nYiIiIiIyLJR14mIiIiIiCwbdZ2IiIiIiMiyUdeJiIiIiIgs\nG3WdiIiIiIjIslHXiYiIiIiILBt1nYiIiIiIyLJR14mIiIiIiCwbdZ2IiIiIiMiyUdeJiIiIiIgs\nG3WdiIiIiIjIslHXiYiIiIiILBt1nYiIiIiIyLJR14mIiIiIiCwbdZ2IiIiIiMiy2Zmue31rCP47\nERERERER2RHHUmQjrtF1r7zyypXteOihh34kIiIiIiIiOwKRNcit43ONrnvxxRefe+65Z7fgy1/+\n8vCDn4iIiIiIiJwaRNYgt47PNbrueyIiIiIiIrI0rtF1PxQREREREZGloa4TERERERFZNuo6ERER\nERGRZaOuExERERERWTbqOhERERERkWWjrhMREREREVk26joREREREZFlo64TERERERFZNuo6ERER\nERGRZaOuExERERERWTbqOhERERERkSXzwx/+/+hrL9tX4j7qAAAAAElFTkSuQmCC\n", "text/plain": [""]}, "execution_count": 8, "metadata": {"image/png": {"width": 900}}, "output_type": "execute_result"}], "source": ["NbImage(\"hdfs1.png\", width=900)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Les notebooks n'utiliseront que rarement cette interface qui est lente [Hue extremely slow in running Hive Queries](https://www.marshut.net/krrzvs/hue-extremely-slow-in-running-hive-queries.html), [hue is very slow](http://grokbase.com/p/cloudera/hue-user/141hmfp0w3/hue-is-very-slow)."]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Partie 1 : manipulation de fichiers\n", "\n", "Avant de commencer \u00e0 d\u00e9placer des fichiers, il faut comprendre qu'il y a trois emplacements :\n", "\n", "* l'ordinateur local (celui dont vous vous servez)\n", "* la machine distante ou [passerelle](http://fr.wikipedia.org/wiki/Passerelle_%28informatique%29)\n", "* le cluster\n", "\n", "Les fichiers vont transiter sans cesse par cette passerelle. La passerelle est connect\u00e9e \u00e0 l'ordinateur local via [SSH](http://fr.wikipedia.org/wiki/Secure_Shell)."]}, {"cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [{"data": {"image/png": "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\nAElFTkSuQmCC\n", "text/plain": [""]}, "execution_count": 9, "metadata": {}, "output_type": "execute_result"}], "source": ["from pyquickhelper.helpgen import NbImage\n", "NbImage(\"hdfspath.png\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On **uploade** pour le chemin bleu, on **downloade** pour le chemin rouge. La passerelle est sous linux et c'est par son interm\u00e9diaire qu'on va communiquer avec le cluster. Toutes les commandes qui suivent vont \u00eatre ex\u00e9cut\u00e9es depuis cette machine. L'outil le plus connu pour s'y connecter est [Putty](http://www.putty.org/). La commande magique ``%remote_cmd`` imite le comportement d'une fen\u00eatre ``putty``."]}, {"cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": [""]}, "execution_count": 10, "metadata": {"image/png": {"width": 400}}, "output_type": "execute_result"}], "source": ["from pyquickhelper.helpgen import NbImage\n", "NbImage(\"putty1.png\", width=400)"]}, {"cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [{"data": {"image/png": "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\nZ08AAAAASUVORK5CYII=\n", "text/plain": [""]}, "execution_count": 11, "metadata": {"image/png": {"width": 600}}, "output_type": "execute_result"}], "source": ["NbImage(\"putty2.png\", width=600)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Le cluster [Hadoop](http://hadoop.apache.org/) inclut un syst\u00e8me de fichiers [HDFS](http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html). Celui fonctionne \u00e0 peu pr\u00e8s comme un syst\u00e8me de fichiers linux avec les m\u00eames commandes \u00e0 ceci pr\u00e8s qu'un fichier n'est plus n\u00e9cessaire localis\u00e9 sur une seule machine mais peut-\u00eatre r\u00e9parti sur plusieurs. Pour \u00e9viter la perte de donn\u00e9es due \u00e0 des machines d\u00e9faillantes, les donn\u00e9es sont [r\u00e9pliqu\u00e9es trois fois](http://www.bigdataplanet.info/2013/10/Hadoop-Tutorial-Part-3-Replication-and-Read-Operations-in-HDFS.html). Les op\u00e9rations standard sont disponibles (copy, rename, delete) auxquelles on ajoute deux op\u00e9rations : upload, download. Les commandes sont presque identiques \u00e0 celles de linux mais pr\u00e9c\u00e9d\u00e9es de ``hdfs``.\n", "\n", "Pour manipuler les donn\u00e9es sur un cluster, il faut d'abord les [uploader](http://fr.wiktionary.org/wiki/uploader) sur ce cluster. Pour les r\u00e9cup\u00e9rer, il faut les [downloader](http://fr.wikipedia.org/wiki/T%C3%A9l%C3%A9chargement). Pour faciliter les choses, on va utiliser des [commandes magiques](http://ipython.org/ipython-doc/dev/interactive/magics.html?highlight=command) impl\u00e9ment\u00e9es dans le module [pyensae](http://www.xavierdupre.fr/app/pyensae/helpsphinx/) (>= 0.8). La premi\u00e8re t\u00e2che est d'enregistrer dans l'espace de travail le nom du server, votre alias et votre mot de passe dans le workspace du notebook.\n", "\n", "Le code est avant tout destin\u00e9 \u00e0 **ne pas laisser votre mot de passe en clair dans le notebook**. S'il est en clair, t\u00f4t ou tard, vous oublierez de l'effacer avant de partager votre notebook. Dans ce cas, il faut changer de mot de passe sans tarder.\n", "\n", "Le code suivant v\u00e9rifie d'abord qu'il n'existe pas de variable d'environnement ``CRTERALAB`` afin de ne pas avoir \u00e0 rentrer les mot de passe \u00e0 chaque fois (voir [Mettre ses mots de passe dans les variables d\u2019environnement](http://www.xavierdupre.fr/app/ensae_projects/helpsphinx/projects/hackathon_2015_startup.html#mettre-ses-mots-de-passe-dans-les-variables-d-environnement)). Si cette variable existe, le notebook s'attend \u00e0 trouver l'information ``server**password**username``."]}, {"cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [{"data": {"text/plain": ["dict"]}, "execution_count": 12, "metadata": {}, "output_type": "execute_result"}], "source": ["import os\n", "if \"CRTERALAB\" in os.environ:\n", " spl = os.environ[\"CRTERALAB\"].split(\"**\")\n", " params=dict(server=spl[0], password=spl[1], username=spl[2])\n", " r = dict\n", "else:\n", " from pyquickhelper.ipythonhelper import open_html_form\n", " params={\"server\":\"\", \"username\":\"\", \"password\":\"\"}\n", " r = open_html_form(params=params,title=\"server + credentials\", key_save=\"params\")\n", "r"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On stocke le mot de passe dans trois variables de l'espace de travail afin que les commandes magiques trouvent ces informations."]}, {"cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": ["password = params[\"password\"]\n", "server = params[\"server\"]\n", "username = params[\"username\"]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On ouvre la connection SSH qui restera ouverte jusqu'\u00e0 ce qu'on la ferme."]}, {"cell_type": "code", "execution_count": 13, "metadata": {"scrolled": false}, "outputs": [{"data": {"text/plain": [""]}, "execution_count": 14, "metadata": {}, "output_type": "execute_result"}], "source": ["%load_ext pyensae\n", "%load_ext pyenbc\n", "%remote_open"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On regarde le contenu du r\u00e9pertoire qui vous est associ\u00e9 sur la machine distante :"]}, {"cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "total 420\n", "-rw-r--r-- 1 xavierdupre xavierdupre 132727 Oct 29 00:38 ConfLongDemo_JSI.small.example.is_back.txt\n", "-rw-rw-r-- 1 xavierdupre xavierdupre 132727 Oct 29 00:28 ConfLongDemo_JSI.small.example.txt\n", "-rw-rw-r-- 1 xavierdupre xavierdupre      0 Nov 24 18:00 dummy\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   2222 Oct 29 00:57 empty.err\n", "-rw-rw-r-- 1 xavierdupre xavierdupre      0 Oct 29 00:57 empty.out\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   2103 Oct 29 01:15 groupby.join.redirection.err\n", "-rw-rw-r-- 1 xavierdupre xavierdupre      0 Oct 29 01:15 groupby.join.redirection.out\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   9049 Oct 29 01:10 groupby.redirection.err\n", "-rw-rw-r-- 1 xavierdupre xavierdupre      0 Oct 29 01:10 groupby.redirection.out\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   2222 Oct 29 00:57 None.err\n", "-rw-rw-r-- 1 xavierdupre xavierdupre      0 Oct 29 00:57 None.out\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   1449 Oct 29 00:41 pig_1446075664771.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3123 Oct 29 00:47 pig_1446076053872.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3123 Oct 29 00:49 pig_1446076194560.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3123 Oct 29 00:50 pig_1446076204158.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3123 Oct 29 00:50 pig_1446076211428.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   1449 Oct 29 00:51 pig_1446076271184.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3153 Oct 29 00:56 pig_1446076561656.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3153 Oct 29 00:56 pig_1446076615152.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3153 Oct 29 00:57 pig_1446076628372.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3153 Oct 29 00:57 pig_1446076640389.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3153 Oct 29 00:59 pig_1446076767869.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   3285 Oct 29 01:15 pig_1446077714461.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   6296 Nov 24 18:00 pig_1448384434969.log\n", "-rw-rw-r-- 1 xavierdupre xavierdupre    659 Nov 24 18:00 pystream.pig\n", "-rw-rw-r-- 1 xavierdupre xavierdupre    382 Nov 24 18:00 pystream.py\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   8432 Oct 29 00:52 redirection.err\n", "-rw-rw-r-- 1 xavierdupre xavierdupre      0 Oct 29 00:51 redirection.out\n", "-rw-rw-r-- 1 xavierdupre xavierdupre   8450 Oct 29 01:03 redirection.pig.err\n", "-rw-rw-r-- 1 xavierdupre xavierdupre      0 Oct 29 01:02 redirection.pig.out\n", "-rw-rw-r-- 1 xavierdupre xavierdupre    321 Oct 29 00:51 select1.pig\n", "-rw-rw-r-- 1 xavierdupre xavierdupre    344 Oct 29 00:59 select2.pig\n", "-rw-rw-r-- 1 xavierdupre xavierdupre    351 Oct 29 01:02 select3.pig\n", "-rw-rw-r-- 1 xavierdupre xavierdupre    428 Oct 29 01:15 solution_groupby_join.pig\n", "-rw-rw-r-- 1 xavierdupre xavierdupre    367 Oct 29 01:10 solution_groupby.pig\n", "-rw-r--r-- 1 xavierdupre xavierdupre  22166 Oct 29 01:06 toutenun.txt\n", "\n", "
"], "text/plain": [""]}, "execution_count": 15, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd ls -l"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On efface tout :"]}, {"cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "
"], "text/plain": [""]}, "execution_count": 16, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd rm -r *"]}, {"cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "total 0\n", "\n", "
"], "text/plain": [""]}, "execution_count": 17, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd ls -l"]}, {"cell_type": "markdown", "metadata": {}, "source": ["C'est une commande linux. Les commandes les plus fr\u00e9quentes sont accessibles d\u00e9crites \u00e0 [Les commandes de base en console](http://doc.ubuntu-fr.org/tutoriel/console_commandes_de_base). L'instruction suivante consiste \u00e0 uploader un fichier depuis l'ordinateur local vers la passerelle."]}, {"cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [{"data": {"text/plain": ["'ConfLongDemo_JSI.small.example.txt'"]}, "execution_count": 18, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_up ConfLongDemo_JSI.small.txt ConfLongDemo_JSI.small.example.txt"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On v\u00e9rifie que celui-ci a bien \u00e9t\u00e9 transf\u00e9r\u00e9 :"]}, {"cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "total 132\n", "-rw-rw-r-- 1 xavierdupre xavierdupre 132727 Oct 29 00:28 ConfLongDemo_JSI.small.example.txt\n", "\n", "
"], "text/plain": [""]}, "execution_count": 19, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd ls -l"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Ensuite, on regarde le contenu du r\u00e9pertoire qui vous est associ\u00e9 sur le cluster :"]}, {"cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Found 3 items\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-28 01:09 .Trash\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-28 01:08 .staging\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2014-11-20 23:43 unitest2\n", "\n", "
"], "text/plain": [""]}, "execution_count": 20, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -ls"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On supprime les pr\u00e9c\u00e9dentes ex\u00e9cutions :"]}, {"cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "
"], "text/plain": [""]}, "execution_count": 21, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -rm -f -R ConfLong*"]}, {"cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Found 3 items\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-28 01:09 .Trash\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-28 01:08 .staging\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2014-11-20 23:43 unitest2\n", "\n", "
"], "text/plain": [""]}, "execution_count": 22, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -ls "]}, {"cell_type": "markdown", "metadata": {}, "source": ["Les commandes HDFS d\u00e9crite \u00e0 [Apache Hadoop 2.3.0](http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-common/FileSystemShell.html). Elles sont tr\u00e8s proches des commandes linux. Ensuite, on uploade le fichier sur le syst\u00e8me de fichier distribu\u00e9 du cluster (HDFS) :"]}, {"cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "
"], "text/plain": [""]}, "execution_count": 23, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -put ConfLongDemo_JSI.small.example.txt ./ConfLongDemo_JSI.small.example.txt"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Puis on v\u00e9rifie que le fichier a bien \u00e9t\u00e9 upload\u00e9 sur le cluster :"]}, {"cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Found 4 items\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-28 01:09 .Trash\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-28 01:08 .staging\n", "-rw-r--r--   3 xavierdupre xavierdupre     132727 2015-10-29 00:38 ConfLongDemo_JSI.small.example.txt\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2014-11-20 23:43 unitest2\n", "\n", "
"], "text/plain": [""]}, "execution_count": 24, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -ls"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On regarde la fin du fichier sur le cluster :"]}, {"cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "1,633790226377438480,27.05.2009 14:03:57:743,4.371500492095946,1.4781558513641355,0.5384233593940735,lying\r\n", "993,A01,010-000-024-033,633790226377708776,27.05.2009 14:03:57:770,3.0621800422668457,1.0790562629699707,0.6795752048492432,lying\r\n", "994,A01,020-000-032-221,633790226378519655,27.05.2009 14:03:57:853,4.36382532119751,1.4307395219802856,0.3206148743629456,lying\r\n", "995,A01,010-000-024-033,633790226378789954,27.05.2009 14:03:57:880,3.0784008502960205,1.0197675228118896,0.6061218976974487,lying\r\n", "996,A01,010-000-030-096,633790226379060251,27.05.2009 14:03:57:907,3.182415008544922,1.1020996570587158,0.29104289412498474,lying\r\n", "997,A01,020-000-033-111,633790226379330550,27.05.2009 14:03:57:933,4.7574005126953125,1.285519003868103,-0.08946932852268219,lying\r\n", "998,A01,020-000-032-221,633790226379600847,27.05.2009 14:03:57:960,4.3730292320251465,1.3821170330047607,0.38861045241355896,lying\r\n", "999,A01,010-000-024-033,633790226379871138,27.05.2009 14:03:57:987,3.198556661605835,1.1257659196853638,0.3567752242088318,lying\r\n", "\n", "
"], "text/plain": [""]}, "execution_count": 25, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -tail ConfLongDemo_JSI.small.example.txt"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Le fichier va suivre maintenant le chemin inverse. On le rapatrie depuis le cluster jusqu'\u00e0 l'ordinateur local. Premi\u00e8re \u00e9tape : du cluster \u00e0 la passerelle :"]}, {"cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "
"], "text/plain": [""]}, "execution_count": 26, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -get ConfLongDemo_JSI.small.example.txt ConfLongDemo_JSI.small.example.is_back.txt"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On v\u00e9rifie que le fichier est sur la passerelle :"]}, {"cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "total 264\n", "-rw-r--r-- 1 xavierdupre xavierdupre 132727 Oct 29 00:38 ConfLongDemo_JSI.small.example.is_back.txt\n", "-rw-rw-r-- 1 xavierdupre xavierdupre 132727 Oct 29 00:28 ConfLongDemo_JSI.small.example.txt\n", "\n", "
"], "text/plain": [""]}, "execution_count": 27, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd ls -l"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On supprime le fichier de la pr\u00e9c\u00e9dente ex\u00e9cution :"]}, {"cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": ["import os\n", "if os.path.exists(\"ConfLongDemo_JSI.small.example.is_back_local.txt\") : \n", " os.remove(\"ConfLongDemo_JSI.small.example.is_back_local.txt\")"]}, {"cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [{"data": {"text/plain": ["['ConfLongDemo_JSI.small.txt', 'ConfLongDemo_JSI.txt']"]}, "execution_count": 29, "metadata": {}, "output_type": "execute_result"}], "source": ["[ _ for _ in os.listdir(\".\") if \"txt\" in _ ]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Second transfert depuis la passerelle jusqu'\u00e0 l'ordinateur local :"]}, {"cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [{"data": {"text/plain": ["'ConfLongDemo_JSI.small.example.is_back_local.txt'"]}, "execution_count": 30, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_down ConfLongDemo_JSI.small.example.is_back.txt ConfLongDemo_JSI.small.example.is_back_local.txt"]}, {"cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [{"data": {"text/plain": ["['ConfLongDemo_JSI.small.example.is_back_local.txt',\n", " 'ConfLongDemo_JSI.small.txt',\n", " 'ConfLongDemo_JSI.txt']"]}, "execution_count": 31, "metadata": {}, "output_type": "execute_result"}], "source": ["[ _ for _ in os.listdir(\".\") if \"txt\" in _ ]"]}, {"cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [{"data": {"text/plain": ["True"]}, "execution_count": 32, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_close"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Partie 2 : premier job map/reduce avec PIG\n", "\n", "Pour cette partie, l'id\u00e9e d'ex\u00e9cuter des jobs Map/Reduce sur le fichier ``ConfLongDemo_JSI.small.example.txt`` puis de v\u00e9rifier qu'on obtient bien les m\u00eame r\u00e9sultats sur le m\u00eame fichier en utilisant une requ\u00eate SQL. Le code pour cr\u00e9er la connexion \u00e0 la passerelle est recopi\u00e9 ci-dessous mais il n'est pas n\u00e9cessaire de l'ex\u00e9cuter si la connexion n'a pas \u00e9t\u00e9 interrompue."]}, {"cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [{"data": {"text/html": ["
server + credentials\n", "
password \n", "
server \n", "
username \n", "
\n", ""], "text/plain": [""]}, "execution_count": 33, "metadata": {}, "output_type": "execute_result"}], "source": ["import pyensae\n", "from pyquickhelper.ipythonhelper import open_html_form\n", "open_html_form(params=params,title=\"server + credentials\", key_save=\"params\")"]}, {"cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": ["password = params[\"password\"]\n", "server = params[\"server\"]\n", "username = params[\"username\"]"]}, {"cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [{"data": {"text/plain": [""]}, "execution_count": 35, "metadata": {}, "output_type": "execute_result"}], "source": ["ssh = %remote_open\n", "ssh"]}, {"cell_type": "markdown", "metadata": {}, "source": ["

JOBS

\n", "\n", "Un job d\u00e9finit l'ensemble des traitements que vous souhaitez effectuer sur un ou plusieurs fichiers. Le langage [PIG](http://pig.apache.org/docs/r0.12.1/basic.html) permet de d\u00e9crire ces traitements. Le programme est ensuite interpr\u00e9t\u00e9 puis soumis \u00e0 Hadoop qui s'occupe de r\u00e9partir de traitements sur l'ensemble des resources dont il dispose. La commande suivante permet d'obtenir l'ensemble des t\u00e2ches associ\u00e9s aux jobs :"]}, {"cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Usage: mapred [--config confdir] COMMAND\n", "       where COMMAND is one of:\n", "  pipes                run a Pipes job\n", "  job                  manipulate MapReduce jobs\n", "  queue                get information regarding JobQueues\n", "  classpath            prints the class path needed for running\n", "                       mapreduce subcommands\n", "  historyserver        run job history servers as a standalone daemon\n", "  distcp   copy file or directories recursively\n", "  archive -archiveName NAME -p  *  create a hadoop archive\n", "  hsadmin              job history server admin interface\n", "\n", "Most commands print help when invoked w/o parameters.\n", "\n", "
"], "text/plain": [""]}, "execution_count": 36, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd mapred --help"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Et plus sp\u00e9cifiquement pour la commande ``mapred job`` :\n", "\n", " Usage: CLI \n", " [-submit ]\n", " [-status ]\n", " [-counter ]\n", " [-kill ]\n", " [-set-priority ]. Valid values for priorities are: VERY_HIGH HIGH NORMAL LOW VERY_LOW\n", " [-events <#-of-events>]\n", " [-history ]\n", " [-list [all]]\n", " [-list-active-trackers]\n", " [-list-blacklisted-trackers]\n", " [-list-attempt-ids ]. Valid values for are REDUCE MAP. Valid values for are running, completed\n", " [-kill-task ]\n", " [-fail-task ]\n", " [-logs ]\n", " "]}, {"cell_type": "markdown", "metadata": {}, "source": ["D'autres commandes sont disponibles avec la commande ``pig`` :"]}, {"cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "Apache Pig version 0.12.0-cdh5.0.2 (rexported) \n", "compiled Jun 09 2014, 11:14:51\n", "\n", "USAGE: Pig [options] [-] : Run interactively in grunt shell.\n", "       Pig [options] -e[xecute] cmd [cmd ...] : Run cmd(s).\n", "       Pig [options] [-f[ile]] file : Run cmds found in file.\n", "  options include:\n", "    -4, -log4jconf - Log4j configuration file, overrides log conf\n", "    -b, -brief - Brief logging (no timestamps)\n", "    -c, -check - Syntax check\n", "    -d, -debug - Debug level, INFO is default\n", "    -e, -execute - Commands to execute (within quotes)\n", "    -f, -file - Path to the script to execute\n", "    -g, -embedded - ScriptEngine classname or keyword for the ScriptEngine\n", "    -h, -help - Display this message. You can specify topic to get help for that topic.\n", "        properties is the only topic currently supported: -h properties.\n", "    -i, -version - Display version information\n", "    -l, -logfile - Path to client side log file; default is current working directory.\n", "    -m, -param_file - Path to the parameter file\n", "    -p, -param - Key value pair of the form param=val\n", "    -r, -dryrun - Produces script with substituted parameters. Script is not executed.\n", "    -t, -optimizer_off - Turn optimizations off. The following values are supported:\n", "            SplitFilter - Split filter conditions\n", "            PushUpFilter - Filter as early as possible\n", "            MergeFilter - Merge filter conditions\n", "            PushDownForeachFlatten - Join or explode as late as possible\n", "            LimitOptimizer - Limit as early as possible\n", "            ColumnMapKeyPrune - Remove unused data\n", "            AddForEach - Add ForEach to remove unneeded columns\n", "            MergeForEach - Merge adjacent ForEach\n", "            GroupByConstParallelSetter - Force parallel 1 for \"group all\" statement\n", "            All - Disable all optimizations\n", "        All optimizations listed here are enabled by default. Optimization values are case insensitive.\n", "    -v, -verbose - Print all error messages to screen\n", "    -w, -warning - Turn warning logging on; also turns warning aggregation off\n", "    -x, -exectype - Set execution mode: local|mapreduce, default is mapreduce.\n", "    -F, -stop_on_failure - Aborts execution on the first failed job; default is off\n", "    -M, -no_multiquery - Turn multiquery optimization off; default is on\n", "    -P, -propertyFile - Path to property file\n", "    -printCmdDebug - Overrides anything else and prints the actual command used to run Pig, including\n", "                     any environment variables that are set by the pig command.\n", "\n", "
"], "text/plain": [""]}, "execution_count": 37, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd pig --help"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Le job suit le processus suivant :\n", " \n", "* Le job est soumis \u00e0 Hadoop.\n", "* Il est ensuite plac\u00e9 dans une file d'attente avec une priorit\u00e9 qui d\u00e9termine son ordre d'ex\u00e9cution (**queue**).\n", "* Il est ex\u00e9cut\u00e9."]}, {"cell_type": "markdown", "metadata": {}, "source": ["

SELECT ... WHERE

"]}, {"cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexsequencetagtimestampdateformatxyzactivity
165698A01010-000-030-09663379022627742987027.05.2009 14:03:47:7432.9654341.7824340.228563walking
166699A01020-000-032-22163379022627797045227.05.2009 14:03:47:7974.3224051.5714521.400499walking
167700A01010-000-024-03363379022627824074927.05.2009 14:03:47:8233.1330651.769329-0.022590walking
168701A01020-000-033-11163379022627878133127.05.2009 14:03:47:8773.1212541.5498421.048139walking
169702A01020-000-032-22163379022627905162927.05.2009 14:03:47:9073.2814981.4987340.620412walking
\n", "
"], "text/plain": [" index sequence tag timestamp \\\n", "165 698 A01 010-000-030-096 633790226277429870 \n", "166 699 A01 020-000-032-221 633790226277970452 \n", "167 700 A01 010-000-024-033 633790226278240749 \n", "168 701 A01 020-000-033-111 633790226278781331 \n", "169 702 A01 020-000-032-221 633790226279051629 \n", "\n", " dateformat x y z activity \n", "165 27.05.2009 14:03:47:743 2.965434 1.782434 0.228563 walking \n", "166 27.05.2009 14:03:47:797 4.322405 1.571452 1.400499 walking \n", "167 27.05.2009 14:03:47:823 3.133065 1.769329 -0.022590 walking \n", "168 27.05.2009 14:03:47:877 3.121254 1.549842 1.048139 walking \n", "169 27.05.2009 14:03:47:907 3.281498 1.498734 0.620412 walking "]}, "execution_count": 38, "metadata": {}, "output_type": "execute_result"}], "source": ["import sqlite3\n", "con = sqlite3.connect(\"ConfLongDemo_JSI.db3\")\n", "\n", "import pandas.io.sql as psql\n", "sql = 'SELECT * FROM person_small WHERE activity == \"walking\"'\n", "df = psql.read_sql(sql, con)\n", "con.close()\n", "df.tail()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Avec [PIG](http://en.wikipedia.org/wiki/Pig_Latin) ([syntaxe](http://pig.apache.org/docs/r0.12.0/basic.html)), le programme inclut trois \u00e9tapes :\n", "\n", "* la d\u00e9claration de l'entr\u00e9e (le fichier ``ConfLongDemo_JSI.small.example.txt``) (voir [LOAD](https://pig.apache.org/docs/r0.9.1/basic.html#load))\n", "* la t\u00e2che \u00e0 proprement parler (voir [FILTER](https://pig.apache.org/docs/r0.9.1/basic.html#filter))\n", "* la cr\u00e9ation de la sortie (le fichier ``ConfLongDemo_JSI.small.example.walking.txt``) (voir [STORE](https://pig.apache.org/docs/r0.9.1/basic.html#store))\n", "\n", "La commande magique permet d'\u00e9crire un fichier ``select1.pig`` avec l'encoding ``utf-8`` (les caract\u00e8res accentu\u00e9es sont possibles)."]}, {"cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": ["%%PIG select1.pig\n", "\n", "myinput = LOAD 'ConfLongDemo_JSI.small.example.txt' USING PigStorage(',') AS \n", " (index:long, sequence, tag, timestamp:long, dateformat, x:double,y:double, z:double, activity) ;\n", "filt = FILTER myinput BY activity == \"walking\" ;\n", "\n", "STORE filt INTO 'ConfLongDemo_JSI.small.example.walking_test.txt' USING PigStorage() ;"]}, {"cell_type": "markdown", "metadata": {}, "source": ["La commande suivante uploade le script et v\u00e9rifie sa syntaxe (commande ``pig -check ``) :"]}, {"cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "2015-10-29 00:51:11,187 [main] INFO  org.apache.pig.Main - Apache Pig version 0.12.0-cdh5.0.2 (rexported) compiled Jun 09 2014, 11:14:51\n", "2015-10-29 00:51:11,188 [main] INFO  org.apache.pig.Main - Logging error messages to: /home/xavierdupre/pig_1446076271184.log\n", "2015-10-29 00:51:12,294 [main] INFO  org.apache.pig.impl.util.Utils - Default bootup file /home/xavierdupre/.pigbootup not found\n", "2015-10-29 00:51:12,536 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.job.tracker is deprecated. Instead, use mapreduce.jobtracker.address\n", "2015-10-29 00:51:12,537 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS\n", "2015-10-29 00:51:12,537 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://nameservice1\n", "2015-10-29 00:51:13,309 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS\n", "  Unexpected character '\"'\n", "2015-10-29 00:51:14,225 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200:   Unexpected character '\"'\n", "Details at logfile: /home/xavierdupre/pig_1446076271184.log\n", "\n", "
"], "text/plain": [""]}, "execution_count": 40, "metadata": {}, "output_type": "execute_result"}], "source": ["%job_syntax select1.pig"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Les guillemets ne font pas partie de la syntaxe du langage :"]}, {"cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": ["%%PIG select2.pig\n", "\n", "myinput = LOAD 'ConfLongDemo_JSI.small.example.txt' \n", " using PigStorage(',') \n", " AS (index:long, sequence, tag, timestamp:long, dateformat, x:double,y:double, z:double, activity) ;\n", "\n", "filt = FILTER myinput BY activity == 'walking' ;\n", "\n", "STORE filt INTO 'ConfLongDemo_JSI.small.example2.walking_test20.txt' USING PigStorage() ;"]}, {"cell_type": "markdown", "metadata": {}, "source": ["La commande suivante fait deux choses : elle uploade le job sur la passerelle et le soumet via la commande ``pig -execute -f ``. S'il n'y a pas d'erreur, il rejoint la file d'attente."]}, {"cell_type": "code", "execution_count": 41, "metadata": {"scrolled": false}, "outputs": [{"data": {"text/html": ["
\n", "2015-10-29 00:59:45,391 [main] INFO  org.apache.pig.Main - Apache Pig version 0.12.0-cdh5.0.2 (rexported) compiled Jun 09 2014, 11:14:51\n", "2015-10-29 00:59:45,392 [main] INFO  org.apache.pig.Main - Logging error messages to: /home/xavierdupre/pig_1446076785387.log\n", "2015-10-29 00:59:46,194 [main] INFO  org.apache.pig.impl.util.Utils - Default bootup file /home/xavierdupre/.pigbootup not found\n", "2015-10-29 00:59:46,430 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.job.tracker is deprecated. Instead, use mapreduce.jobtracker.address\n", "2015-10-29 00:59:46,430 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS\n", "2015-10-29 00:59:46,431 [main] INFO  org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: hdfs://nameservice1\n", "2015-10-29 00:59:48,188 [main] WARN  org.apache.pig.PigServer - Encountered Warning IMPLICIT_CAST_TO_CHARARRAY 1 time(s).\n", "2015-10-29 00:59:48,211 [main] INFO  org.apache.pig.tools.pigstats.ScriptState - Pig features used in the script: FILTER\n", "2015-10-29 00:59:48,285 [main] INFO  org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer - {RULES_ENABLED=[AddForEach, ColumnMapKeyPrune, DuplicateForEachColumnRewrite, GroupByConstParallelSetter, ImplicitSplitInserter, LimitOptimizer, LoadTypeCastInserter, MergeFilter, MergeForEach, NewPartitionFilterOptimizer, PartitionFilterOptimizer, PushDownForEachFlatten, PushUpFilter, SplitFilter, StreamTypeCastInserter], RULES_DISABLED=[FilterLogicExpressionSimplifier]}\n", "2015-10-29 00:59:48,333 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.textoutputformat.separator is deprecated. Instead, use mapreduce.output.textoutputformat.separator\n", "2015-10-29 00:59:48,511 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - File concatenation threshold: 100 optimistic? false\n", "2015-10-29 00:59:48,564 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size before optimization: 1\n", "2015-10-29 00:59:48,565 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size after optimization: 1\n", "2015-10-29 00:59:48,728 [main] INFO  org.apache.hadoop.yarn.client.RMProxy - Connecting to ResourceManager at ws09-sr1.tl.teralab-datascience.fr/10.200.209.11:8032\n", "2015-10-29 00:59:48,926 [main] INFO  org.apache.pig.tools.pigstats.ScriptState - Pig script settings are added to the job\n", "2015-10-29 00:59:49,021 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.job.reduce.markreset.buffer.percent is deprecated. Instead, use mapreduce.reduce.markreset.buffer.percent\n", "2015-10-29 00:59:49,021 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - mapred.job.reduce.markreset.buffer.percent is not set, set to default 0.3\n", "2015-10-29 00:59:49,022 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.output.compress is deprecated. Instead, use mapreduce.output.fileoutputformat.compress\n", "2015-10-29 00:59:49,025 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - creating jar file Job6897107947228914959.jar\n", "2015-10-29 00:59:53,488 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - jar file Job6897107947228914959.jar created\n", "2015-10-29 00:59:53,489 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.jar is deprecated. Instead, use mapreduce.job.jar\n", "2015-10-29 00:59:53,538 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - Setting up single store job\n", "2015-10-29 00:59:53,556 [main] INFO  org.apache.pig.data.SchemaTupleFrontend - Key [pig.schematuple] is false, will not generate code.\n", "2015-10-29 00:59:53,557 [main] INFO  org.apache.pig.data.SchemaTupleFrontend - Starting process to move generated code to distributed cache\n", "2015-10-29 00:59:53,559 [main] INFO  org.apache.pig.data.SchemaTupleFrontend - Setting key [pig.schematuple.classes] with classes to deserialize []\n", "2015-10-29 00:59:53,654 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 1 map-reduce job(s) waiting for submission.\n", "2015-10-29 00:59:53,656 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.job.tracker.http.address is deprecated. Instead, use mapreduce.jobtracker.http.address\n", "2015-10-29 00:59:53,668 [JobControl] INFO  org.apache.hadoop.yarn.client.RMProxy - Connecting to ResourceManager at ws09-sr1.tl.teralab-datascience.fr/10.200.209.11:8032\n", "2015-10-29 00:59:53,752 [JobControl] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS\n", "2015-10-29 00:59:55,086 [JobControl] INFO  org.apache.hadoop.mapreduce.lib.input.FileInputFormat - Total input paths to process : 1\n", "2015-10-29 00:59:55,086 [JobControl] INFO  org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil - Total input paths to process : 1\n", "2015-10-29 00:59:55,127 [JobControl] INFO  org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil - Total input paths (combined) to process : 1\n", "2015-10-29 00:59:55,999 [JobControl] INFO  org.apache.hadoop.mapreduce.JobSubmitter - number of splits:1\n", "2015-10-29 00:59:56,108 [JobControl] INFO  org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS\n", "2015-10-29 00:59:56,748 [JobControl] INFO  org.apache.hadoop.mapreduce.JobSubmitter - Submitting tokens for job: job_1444669880271_0036\n", "2015-10-29 00:59:57,100 [JobControl] INFO  org.apache.hadoop.yarn.client.api.impl.YarnClientImpl - Submitted application application_1444669880271_0036\n", "2015-10-29 00:59:57,172 [JobControl] INFO  org.apache.hadoop.mapreduce.Job - The url to track the job: http://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0036/\n", "2015-10-29 00:59:57,173 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - HadoopJobId: job_1444669880271_0036\n", "2015-10-29 00:59:57,173 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Processing aliases filt,myinput\n", "2015-10-29 00:59:57,174 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - detailed locations: M: myinput[2,10],filt[6,7],myinput[-1,-1] C:  R: \n", "2015-10-29 00:59:57,233 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 0% complete\n", "2015-10-29 01:00:15,280 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 50% complete\n", "2015-10-29 01:00:22,643 [main] INFO  org.apache.hadoop.mapred.ClientServiceDelegate - Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server\n", "2015-10-29 01:00:22,911 [main] INFO  org.apache.hadoop.conf.Configuration.deprecation - mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces\n", "2015-10-29 01:00:22,984 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 100% complete\n", "2015-10-29 01:00:22,988 [main] INFO  org.apache.pig.tools.pigstats.SimplePigStats - Script Statistics: \n", "\n", "HadoopVersion\tPigVersion\tUserId\tStartedAt\tFinishedAt\tFeatures\n", "2.3.0-cdh5.0.2\t0.12.0-cdh5.0.2\txavierdupre\t2015-10-29 00:59:48\t2015-10-29 01:00:22\tFILTER\n", "\n", "Success!\n", "\n", "Job Stats (time in seconds):\n", "JobId\tMaps\tReduces\tMaxMapTime\tMinMapTIme\tAvgMapTime\tMedianMapTime\tMaxReduceTime\tMinReduceTime\tAvgReduceTime\tMedianReducetime\tAlias\tFeature\tOutputs\n", "job_1444669880271_0036\t1\t0\t4\t4\t4\t4\tn/a\tn/a\tn/a\tn/a\tfilt,myinput\tMAP_ONLY\thdfs://nameservice1/user/xavierdupre/ConfLongDemo_JSI.small.example2.walking_test20.txt,\n", "\n", "Input(s):\n", "Successfully read 1000 records (133117 bytes) from: \"hdfs://nameservice1/user/xavierdupre/ConfLongDemo_JSI.small.example.txt\"\n", "\n", "Output(s):\n", "Successfully stored 170 records (22166 bytes) in: \"hdfs://nameservice1/user/xavierdupre/ConfLongDemo_JSI.small.example2.walking_test20.txt\"\n", "\n", "Counters:\n", "Total records written : 170\n", "Total bytes written : 22166\n", "Spillable Memory Manager spill count : 0\n", "Total bags proactively spilled: 0\n", "Total records proactively spilled: 0\n", "\n", "Job DAG:\n", "job_1444669880271_0036\n", "\n", "\n", "2015-10-29 01:00:23,159 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Success!\n", "\n", "
"], "text/plain": [""]}, "execution_count": 42, "metadata": {}, "output_type": "execute_result"}], "source": ["%pig_submit select2.pig -r None"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Derri\u00e8re cette command magique, il y a la fonction [pig_submit](http://www.xavierdupre.fr/app/pyensae/helpsphinx/pyensae/remote/ssh_remote_connection.html?highlight=pig_submit#pyensae.remote.ssh_remote_connection.ASSHClient.pig_submit)."]}, {"cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["Help on method pig_submit in module pyensae.remote.ssh_remote_connection:\n", "\n", "pig_submit(pig_file, dependencies=None, params=None, redirection='redirection.pig', local=False, stop_on_failure=False, check=False, no_exception=True, fLOG=) method of pyensae.remote.ssh_remote_connection.ASSHClient instance\n", " submits a PIG script, it first upload the script\n", " to the default folder and submit it\n", " \n", " @param pig_file pig script (local)\n", " @param dependencies others files to upload (still in the default folder)\n", " @param params parameters to send to the job\n", " @param redirection string empty or not\n", " @param local local run or not (option `-x local `_) (in that case, redirection will be empty)\n", " @param stop_on_failure if True, add option ``-stop_on_failure`` on the command line\n", " @param check if True, add option ``-check`` (in that case, redirection will be empty)\n", " @param no_exception sent to @see me execute_command\n", " @param fLOG logging function\n", " @return out, err from @see me execute_command\n", " \n", " If *redirection* is not empty, the job is submitted but\n", " the function returns after the standard output and error were\n", " redirected to ``redirection.out`` and ``redirection.err``.\n", " \n", " The first file will contain the results of commands\n", " `DESCRIBE `_\n", " `DUMP `_,\n", " `EXPLAIN `_.\n", " The standard error receives logs and exceptions.\n", " \n", " The function executes the command line::\n", " \n", " pig -execute -f \n", " \n", " With redirection::\n", " \n", " pig -execute -f 2> redirection.pig.err 1> redirection.pig.out &\n", " \n", " .. versionadded:: 1.1\n", "\n"]}], "source": ["help(ssh.pig_submit)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On retrouve bien les m\u00eames r\u00e9sultats. Cependant, on n'a pas envie d'attendre la fin d'un job pour reprendre la main sur le notebook. Pour ce faire, on cr\u00e9e un second job."]}, {"cell_type": "code", "execution_count": 43, "metadata": {"collapsed": true}, "outputs": [], "source": ["%%PIG select3.pig\n", "\n", "myinput = LOAD 'ConfLongDemo_JSI.small.example.txt' \n", " using PigStorage(',') \n", " AS (index:long, sequence, tag, timestamp:long, dateformat, x:double,y:double, z:double, activity) ;\n", "\n", "filt = FILTER myinput BY activity == 'walking' ;\n", "\n", "STORE filt INTO 'ConfLongDemo_JSI.small.example2.walking_test30_nowait.txt' USING PigStorage() ;"]}, {"cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "
"], "text/plain": [""]}, "execution_count": 45, "metadata": {}, "output_type": "execute_result"}], "source": ["%pig_submit select3.pig"]}, {"cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Output(s):\n", "Successfully stored 170 records (22166 bytes) in: \"hdfs://nameservice1/user/xavierdupre/ConfLongDemo_JSI.small.example2.walking_test30_nowait.txt\"\n", "\n", "Counters:\n", "Total records written : 170\n", "Total bytes written : 22166\n", "Spillable Memory Manager spill count : 0\n", "Total bags proactively spilled: 0\n", "Total records proactively spilled: 0\n", "\n", "Job DAG:\n", "job_1444669880271_0037\n", "\n", "\n", "2015-10-29 01:03:14,257 [main] INFO  org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Success!\n", "\n", "
"], "text/plain": [""]}, "execution_count": 46, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd tail redirection.pig.err -n 15"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On v\u00e9rifie le contenu du cluster :"]}, {"cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Found 9 items\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-29 01:00 .Trash\n", "drwx------   - xavierdupre xavierdupre          0 2015-10-29 01:03 .staging\n", "-rw-r--r--   3 xavierdupre xavierdupre     132727 2015-10-29 00:38 ConfLongDemo_JSI.small.example.txt\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2015-10-29 00:42 ConfLongDemo_JSI.small.example2.walking.txt\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2015-10-29 00:52 ConfLongDemo_JSI.small.example2.walking_test.txt\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2015-10-29 00:53 ConfLongDemo_JSI.small.example2.walking_test2.txt\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2015-10-29 01:00 ConfLongDemo_JSI.small.example2.walking_test20.txt\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2015-10-29 01:03 ConfLongDemo_JSI.small.example2.walking_test30_nowait.txt\n", "drwxr-xr-x   - xavierdupre xavierdupre          0 2014-11-20 23:43 unitest2\n", "\n", "
"], "text/plain": [""]}, "execution_count": 47, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -ls "]}, {"cell_type": "markdown", "metadata": {}, "source": ["La sortie n'est pas un fichier mais un r\u00e9pertoire. Chaque partie provient d'une machine diff\u00e9rente. Dans notre cas, les donn\u00e9es \u00e9tant de petite taille le calcul n'a pas \u00e9t\u00e9 distribu\u00e9."]}, {"cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "6618983\t27.05.2009 14:03:47:663\t3.066070079803467\t1.6573837995529177\t1.0677484273910522\twalking\n", "696\tA01\t020-000-032-221\t633790226276889279\t27.05.2009 14:03:47:690\t4.3041510581970215\t1.6276369094848633\t1.2260531187057495\twalking\n", "697\tA01\t010-000-024-033\t633790226277159576\t27.05.2009 14:03:47:717\t3.1501431465148926\t1.8083082437515257\t-0.015722407028079033\twalking\n", "698\tA01\t010-000-030-096\t633790226277429870\t27.05.2009 14:03:47:743\t2.9654340744018555\t1.7824335098266602\t0.2285633087158203\twalking\n", "699\tA01\t020-000-032-221\t633790226277970452\t27.05.2009 14:03:47:797\t4.3224053382873535\t1.5714523792266846\t1.4004991054534912\twalking\n", "700\tA01\t010-000-024-033\t633790226278240749\t27.05.2009 14:03:47:823\t3.1330645084381104\t1.7693294286727903\t-0.022590305656194687\twalking\n", "701\tA01\t020-000-033-111\t633790226278781331\t27.05.2009 14:03:47:877\t3.121254205703736\t1.5498417615890503\t1.0481393337249756\twalking\n", "702\tA01\t020-000-032-221\t633790226279051629\t27.05.2009 14:03:47:907\t3.281498432159424\t1.4987335205078125\t0.6204121708869934\twalking\n", "\n", "
"], "text/plain": [""]}, "execution_count": 48, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -tail ConfLongDemo_JSI.small.example2.walking.txt/part-m-00000"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On retrouve bien les m\u00eames r\u00e9sultats. Cependant, on n'a pas envie d'attendre la fin d'un job pour reprendre la main sur le notebook. Pour ce faire, on cr\u00e9e un second job."]}, {"cell_type": "markdown", "metadata": {}, "source": ["On regarde la liste des jobs en cours avec [hadoop queue](http://hadoop.apache.org/docs/r1.0.4/commands_manual.html#queue) :"]}, {"cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "======================\n", "Queue Name : root.xavierdupre \n", "Queue State : running \n", "Scheduling Info : Capacity: 0.0, MaximumCapacity: UNDEFINED, CurrentCapacity: 0.0 \n", "Total jobs:0\n", "                  JobId\t     State\t     StartTime\t    UserName\t       Queue\t  Priority\t UsedContainers\t RsvdContainers\t UsedMem\t RsvdMem\t NeededMem\t   AM info\n", "\n", "
"], "text/plain": [""]}, "execution_count": 49, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hadoop queue -info root.xavierdupre -showJobs"]}, {"cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Found 2 items\n", "-rw-r--r--   3 xavierdupre xavierdupre          0 2015-10-29 01:03 ConfLongDemo_JSI.small.example2.walking_test30_nowait.txt/_SUCCESS\n", "-rw-r--r--   3 xavierdupre xavierdupre      22166 2015-10-29 01:03 ConfLongDemo_JSI.small.example2.walking_test30_nowait.txt/part-m-00000\n", "\n", "
"], "text/plain": [""]}, "execution_count": 50, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -ls ConfLongDemo_JSI.small.example2.walking_test30_nowait.txt"]}, {"cell_type": "markdown", "metadata": {}, "source": ["C'est plus pratique mais la correction des erreurs quand elles se produisent n'est plus aussi pratique. On termine par une instruction qui permet de r\u00e9cup\u00e9rer tous les fichiers d'un m\u00eame rep\u00e9rtoire en une seule fois :"]}, {"cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "
"], "text/plain": [""]}, "execution_count": 51, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hdfs dfs -getmerge ConfLongDemo_JSI.small.example2.walking_test30_nowait.txt toutenun.txt"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Le fichier est maintenant sur la passerelle."]}, {"cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "-rw-r--r-- 1 xavierdupre xavierdupre 22166 Oct 29 01:06 toutenun.txt\n", "\n", "
"], "text/plain": [""]}, "execution_count": 52, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd ls -l tout*"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Lorsqu'on lance des jobs cons\u00e9quent, il est important de savoir comment les arr\u00eater avec [hadoop job](http://hadoop.apache.org/docs/r1.0.4/commands_manual.html#job) ``-kill jobid`` :"]}, {"cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "Total jobs:28\n", "                  JobId\t     State\t     StartTime\t    UserName\t       Queue\t  Priority\t UsedContainers\t RsvdContainers\t UsedMem\t RsvdMem\t NeededMem\t   AM info\n", " job_1444669880271_0009\t SUCCEEDED\t 1444779082040\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0009/jobhistory/job/job_1444669880271_0009\n", " job_1444669880271_0010\t SUCCEEDED\t 1444779114402\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0010/jobhistory/job/job_1444669880271_0010\n", " job_1444669880271_0018\t SUCCEEDED\t 1444781859339\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0018/jobhistory/job/job_1444669880271_0018\n", " job_1444669880271_0033\t SUCCEEDED\t 1446076296449\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0033/jobhistory/job/job_1444669880271_0033\n", " job_1444669880271_0007\t SUCCEEDED\t 1444778960311\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0007/jobhistory/job/job_1444669880271_0007\n", " job_1444669880271_0025\t SUCCEEDED\t 1444812309930\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0025/jobhistory/job/job_1444669880271_0025\n", " job_1444669880271_0036\t SUCCEEDED\t 1446076797029\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0036/jobhistory/job/job_1444669880271_0036\n", " job_1444669880271_0022\t SUCCEEDED\t 1444782235940\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0022/jobhistory/job/job_1444669880271_0022\n", " job_1444669880271_0013\t    FAILED\t 1444780493283\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0013/jobhistory/job/job_1444669880271_0013\n", " job_1444669880271_0008\t SUCCEEDED\t 1444778993134\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0008/jobhistory/job/job_1444669880271_0008\n", " job_1444669880271_0035\t SUCCEEDED\t 1446076394207\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0035/jobhistory/job/job_1444669880271_0035\n", " job_1444669880271_0001\t SUCCEEDED\t 1444778245903\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0001/jobhistory/job/job_1444669880271_0001\n", " job_1444669880271_0005\t SUCCEEDED\t 1444778822775\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0005/jobhistory/job/job_1444669880271_0005\n", " job_1444669880271_0028\t SUCCEEDED\t 1444948433254\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0028/jobhistory/job/job_1444669880271_0028\n", " job_1444669880271_0002\t SUCCEEDED\t 1444778285584\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0002/jobhistory/job/job_1444669880271_0002\n", " job_1444669880271_0030\t SUCCEEDED\t 1445990873471\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0030/jobhistory/job/job_1444669880271_0030\n", " job_1444669880271_0027\t SUCCEEDED\t 1444948400340\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0027/jobhistory/job/job_1444669880271_0027\n", " job_1444669880271_0024\t SUCCEEDED\t 1444812276836\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0024/jobhistory/job/job_1444669880271_0024\n", " job_1444669880271_0019\t SUCCEEDED\t 1444781890983\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0019/jobhistory/job/job_1444669880271_0019\n", " job_1444669880271_0003\t SUCCEEDED\t 1444778547755\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0003/jobhistory/job/job_1444669880271_0003\n", " job_1444669880271_0006\t SUCCEEDED\t 1444778856950\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0006/jobhistory/job/job_1444669880271_0006\n", " job_1444669880271_0032\t SUCCEEDED\t 1446075704284\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0032/jobhistory/job/job_1444669880271_0032\n", " job_1444669880271_0021\t SUCCEEDED\t 1444782202256\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0021/jobhistory/job/job_1444669880271_0021\n", " job_1444669880271_0037\t SUCCEEDED\t 1446076967758\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0037/jobhistory/job/job_1444669880271_0037\n", " job_1444669880271_0031\t SUCCEEDED\t 1445990906117\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0031/jobhistory/job/job_1444669880271_0031\n", " job_1444669880271_0004\t SUCCEEDED\t 1444778575799\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0004/jobhistory/job/job_1444669880271_0004\n", " job_1444669880271_0034\t SUCCEEDED\t 1446076302576\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0034/jobhistory/job/job_1444669880271_0034\n", " job_1444669880271_0012\t SUCCEEDED\t 1444780465372\t xavierdupre\troot.xavierdupre\t    NORMAL\t              0\t              0\t      0M\t      0M\t        0M\thttp://ws09-sr1.tl.teralab-datascience.fr:8088/proxy/application_1444669880271_0012/jobhistory/job/job_1444669880271_0012\n", "\n", "
"], "text/plain": [""]}, "execution_count": 53, "metadata": {}, "output_type": "execute_result"}], "source": ["%remote_cmd hadoop job -list all"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On peut tuer un job lorsqu'il est dans la file d'attente ou en train de s'ex\u00e9cuter."]}, {"cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": ["#%remote_cmd hadoop job -kill job_1414491244634_0002"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## Partie 3 : syntaxe PIG et exercices\n", "\n", "Dans cette partie, l'objectif est de transcrire un ``GROUP BY`` en PIG, un ``JOIN`` et de combiner toutes ces op\u00e9rations en un seul job au cours du second exercice. Ces exemples utilisent de petits fichiers. Utiliser un job Map/Reduce n'a pas beaucoup d'int\u00e9r\u00eat \u00e0 moins que la taille de ces fichiers n'atteigne un giga-octets. Les instructions sont \u00e0 chercher dans cette page : [Pig Latin Basics](http://pig.apache.org/docs/r0.12.0/basic.html)."]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Exercice 1 : GROUP BY"]}, {"cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
activitynb
0falling2973
1lying54480
2lying down6168
3on all fours5210
4sitting27244
\n", "
"], "text/plain": [" activity nb\n", "0 falling 2973\n", "1 lying 54480\n", "2 lying down 6168\n", "3 on all fours 5210\n", "4 sitting 27244"]}, "execution_count": 55, "metadata": {}, "output_type": "execute_result"}], "source": ["import pandas, sqlite3\n", "con = sqlite3.connect(\"ConfLongDemo_JSI.db3\")\n", "df = pandas.read_sql(\"\"\"SELECT activity, count(*) as nb FROM person GROUP BY activity\"\"\", con)\n", "con.close()\n", "df.head()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Il faut maintenant le faire avec PIG."]}, {"cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": []}, {"cell_type": "markdown", "metadata": {}, "source": ["### Exercice 2 : JOIN"]}, {"cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexsequencetagtimestampdateformatxyzactivitynb
0 0 A01 010-000-024-033 633790226051280329 27.05.2009 14:03:25:127 4.062931 1.892434 0.507425 walking 32710
1 1 A01 020-000-033-111 633790226051820913 27.05.2009 14:03:25:183 4.291954 1.781140 1.344495 walking 32710
2 2 A01 020-000-032-221 633790226052091205 27.05.2009 14:03:25:210 4.359101 1.826456 0.968821 walking 32710
3 3 A01 010-000-024-033 633790226052361498 27.05.2009 14:03:25:237 4.087835 1.879999 0.466983 walking 32710
4 4 A01 010-000-030-096 633790226052631792 27.05.2009 14:03:25:263 4.324462 2.072460 0.488065 walking 32710
\n", "
"], "text/plain": [" index sequence tag timestamp \\\n", "0 0 A01 010-000-024-033 633790226051280329 \n", "1 1 A01 020-000-033-111 633790226051820913 \n", "2 2 A01 020-000-032-221 633790226052091205 \n", "3 3 A01 010-000-024-033 633790226052361498 \n", "4 4 A01 010-000-030-096 633790226052631792 \n", "\n", " dateformat x y z activity nb \n", "0 27.05.2009 14:03:25:127 4.062931 1.892434 0.507425 walking 32710 \n", "1 27.05.2009 14:03:25:183 4.291954 1.781140 1.344495 walking 32710 \n", "2 27.05.2009 14:03:25:210 4.359101 1.826456 0.968821 walking 32710 \n", "3 27.05.2009 14:03:25:237 4.087835 1.879999 0.466983 walking 32710 \n", "4 27.05.2009 14:03:25:263 4.324462 2.072460 0.488065 walking 32710 "]}, "execution_count": 57, "metadata": {}, "output_type": "execute_result"}], "source": ["con = sqlite3.connect(\"ConfLongDemo_JSI.db3\")\n", "df = pandas.read_sql(\"\"\"SELECT person.*, A.nb FROM person INNER JOIN (\n", " SELECT activity, count(*) as nb FROM person GROUP BY activity) AS A\n", " ON person.activity == A.activity\"\"\", con)\n", "con.close()\n", "df.head()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Idem, maintenant il faut le faire avec PIG."]}, {"cell_type": "code", "execution_count": 57, "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"}}, "nbformat": 4, "nbformat_minor": 2}