spark streaming 实时计算
spark streaming 开发实例
本文将分以下几部分
- spark 开发环境配置
- 如何创建spark项目
- 编写streaming代码示例
- 如何调试
环境配置:
spark 原生语言是scala, 我用的是spark-1.4.1-bin-hadoop2.6,可以查阅官方说明,用的是scala-2.10.1。
网上下载 scala-2.10.1 安装包。解压即可。
配置环境变量:SCALA_HOME
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnMAAABACAIAAAD+o2ZzAAAHRklEQVR4nO3czZGrOBSGYUWlBdFopRi6OgG25MGeMNj2giQmA98FIB392u2WMYPfp1wzvuIg5FtT/kYSWP0HAADaUe8eAAAAl0KyAgDQEskKAEBLJCsAAC2RrAAAtESyHuEbAPAB1u98kvUI39/fNwDApZGshyJZAeDySNZDkawAcHkk66FIVgC4PJL1UCQrAFyeT9bRKN3PPgRGo8xYS4m51+EZQtxZufGzxMk6WbWxk29dhm5v7oYlKpeFt8lGFcXK9Hh0YtjiB5a0Jt0uQ7dXidPq1weA6xJz1jBK7wZrFcmaFyTrMnQufZZhmFyjyCTXvh7qrO1kIhaSNVMZqSbrZEWeLkMnD3Rd3O2api5ZKxcFgI8gknXutQ/TvwUryVoQJGsmhmTYxpah64Zl/Weli0JlpJKsyRh8w2RVktiTVdZakhUAdnKfVUTrHqyj2Zf2/AFtjFbKjCIps2X92GullHJxKpJ13g6pOL9Ho3Tfb925HK73b0bfn4/u6BLniPVwNTiYG95ujwSr//feQ5pk2cpIOVkzY3AdrTWT9QXroYlkBQAnuINp7vWaPsmM1eXSaLJJmSvb3vrtWHnU9xF2MRoXn6PJ527Uv3grTkkuccZkvbktVeuWgkvB5A/JolyS5SsjwYZosKOaOcmF7XY5H61bsUxWtlkBfLrw3uAtWl3CytliEophepXL5ARY97OcTaaz1if6z72vXeKd8vcGu73V8pxV5p2oyi8o5yojf5mz+oY9YpmzAoAXPXUz91r34x6sfnlYzmazMVYpc4fT+tQT/ddPOZfSUzd7nJWiMJ1i+o3P3P1EaWXa4ZP7rHtNN0wuw0lWAPDi51nXyZ5fXC2u6Ir3+bK9zodcdkk58nj/1WRNL3HC1eBpyNx/Gz3Yst4bHAdWvDwr+ixVRu7eG+xOkpvBUU3aTrICQPpLEcFTqvuiqjamNlnMlxmjw7XY7B1Mj6wGPziM6iVOmKxyfll4nFXti65RXu2BGcxQ5a1ESWXkF8+zirNlzTJ0Mn0zz7OSsQA+E7/BdCh+gwkALu9cyRpvESql1CkG1sqbkjXafOWuXQB4oXMl6+UxZwWAyyNZD0WyAsDlkayHIlkB4PJI1kORrABweSTroUhWALg8kvVQ3wCAD7B+55OsAAC0RLICANASyQoAQEskKwAALZGsAAC0RLICANASyQoAQEskKwAALZGsAAC0RLICANASyXoE9fXDixcvXrwu/9q+898bOR9Cff28+5eiAQCvRbIeimQFgMsjWQ9Fsp6TUurdQwBwHSTroUjWcyJZATREsh6KZD0nkhVAQyTrocJknazy7CTbxZ9ut9sydKoblqP+o8ibbGYMyVCb9VwsXeVPmGz8F/lYMckKoCGfrKNRup99CIxGmbGWEnOvwzOEuLNy4xNa9fMGSbIWv/P/nldlv0iyu2e1GOrD41mGYSqdsgydUtaK4bih3S8mWQE0JOasYZTeDdYqkjXvwWS9LUP3wmhtmawthvrEeJahy54igl68LVRPJCuAVxDJOvfah+nfgpVkLbiTrL4hygJ/wK8g22mde/lc26vCmohYgl6PLkOXlmca3Rj8MTulQ42OZlqS4ZU+XUVpquzbg2Hly0lWAC8h91lFtO7BOpr9m84f0MZopcwoEi5b1o+9VkopF4MiEeftkAryO8h2V57vfA47rHR+piAu77Pa6RZG7WRFXqWzOpGimUla6ay0XWw2+t3cUmN8RddfOcMqW8RuGOVPV1A+TLICeL/gDqa51y6ywhmrDLNcUubKtrd+OzaXiKMpbe5Wx1BJ1qTzUydrJT+ivNr/4OPYxdI+FQziUtRkJo17aTLpzc6Eg9hfhi6+J0hcOjoaduV7jD9C4dOlE+A7d3ORrADeL7w3eItWl7BywlidJtbK5ARY97OcUyazVp+nInKLnecGU+v8/X6TrNF01CWNW8MNFo6DPyc1Scd/SFZ3noi7KLn80TRZM8OrfbpQqb3wd8Y+K4B3iJ66mXut+3EPVr86K2ez2TCrlLnDaX3G2oXP9lrn9cGc0cP7rLfbTd4cJFZi/V6nSMfO2i5O4fLsrrIa7HdCc41Bb0FcJfcx7UeTQWSGV/100cDjqWc0qjBO45EXi0lWAA3Fz7OuUz6/fVpc0RXv82UqicbsknJi7rU2RotF4eIYwo3hUuenXg32umEph1dy91Bnrc+19RmS5O6joCawXTi+g0kUZxrr90ftQ80cjZrS4dU/XXANuR4RprG7VuZ51uR/OuJikhVAQ8kvRQRPqe5Lq9qYypy1UGaMDldkszcZpQu2c69lY3UMbqHYmGLn503WB2w7mC9+wLWJ4Jar/xmSFUBD/AbToZ78dcPnHkDFw0hWAA2dK1lV4t0jauzXybotgJKrr0WyAmjoXMl6efwiPwBcHsl6KJIVAC6PZD0UyQoAl0eyHopkBYDLI1kPpb5+ePHixYvX5V/bd/57IwcAgIshWQEAaOkfRGmvzzF2hggAAAAASUVORK5CYII=" alt="" />
path 增加 %SCALA_HOME%\bin
创建项目:
我使用的Ide 是Intellj idea ,为了提供scala 支持,还要先安装Scala 插件。
插件安装后,新建一个 project ,选择scala
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyEAAAJFCAIAAABFnm9cAAAgAElEQVR4nOzdZ3QUV4Lw/f7w7Hne3SecOe/s7O7s7uzM7DuzszPjbDAUNjY4jANgIzJYEmBEkYNAsklGJAMGqwgiGhDBkggm25TBBAklQBIgECI02QQBIgkMAoRU74dO1dVBrVCtuvD/nXt2W91V3VXQPv2fe4uWTQMAAEB9szX0AQAAADyBaCwAAID6R2MBAADUv2CN9VrIwna4AAAAQqCxAAAA6l/1jWX40WHDhg36e0w/TAAAgIZjs9kKCgp87y8oKLDZ/NdU9Y2VlpamadratWtr2FiqbLPZZNX7nmYzT4Z8Nn6f0Cnk5zk5s1mdXhQAAEArKCj4u//5/xgyy++dbtU3Vv/+/TVNi4+Pr3ljNWvWTF9ZdW8s5+6mhVMdjxAAADyxDEUVPLA0sxtrpjqzmSda6q2xTIshGgsAAATk7qpqA0urS2NVVlZW31gn9dmiu3lyZjPnqp+sapoqu6e7vLcJuNTovq3Ktmay3My5Kul52gBPaHjQ6y7dWqTX6wIAADg56qrawNJqej3W4MGDCwsLv/jii5KSknPnzoXSWEFvaJoqO0PMkTWq3KyZc+brpH4KzOsJ9WuFqmzTN5yrjjxbBH5RP0uOzGMBAIBg6rOx9D/GxsZeu3ZN07TS0tLY2NjQGss9T+W6Rzfb5Jw0cvWUKruXF30Sy+uad/dEk2GayjMB5cq2oC9qnLCisQAAQED1vFZo0Lx58/fff99wp7+99b3iyBl97hjixlFUjvmlkzObyapvYvkPoBo1lveL0lgAACBk9X/Neyj87e3dK85pJPeynbFlTs5spl8llGXZJ3aqayzjWqFr9THgi7JWCAAAQmLKdzfUT2M5K8v38nNXFumDx/93M1TbWPqn9fcvEH1fVLf+6C4yrnkHAAAGpnwHqe/9V65cCaGxLEL3bxYBAADC5Un/fYWs/gEAgIYQrLHE5nUFGAAAQFg9uY0FAADQcGgsAACA+kdjAQAA1D8aCwAAoP7RWAAAAPWPxgIAAKh/NBYAAED9o7EAAADqn+0KAAAA6huNBQAAUP9oLAAAgPpHYwEAANQ/GgsAAKD+0VgAAAD1j8YCAACofzQWAABA/QupsTIAE/CuAwCIrh4aq6G/KxVPmuDvS8e7rmn8UQaDwWAwLDtoLFgRjcVgMBgM0QeNBSuisRgMBoNh8dF48D7HjX9vNsBxo5HrHsegsWBFNBaDwWAwLD5+//aYl/qlN40/+s/Pd2oaf/RF+cd/fqGzfgMaC1ZEYzEYDAbD4uPZ6LW//9u4pvHF//Rcx6bxxf/WtM+fOy7Sb0BjwYpq3VhvxR98Ly6/3fDs6OE7+gzbEjtsw9ghKYmDFy4d+NX6AeN29os72KfPT7071/G/KwaDwWA8taPxkII/tkl8vufmpnFHfv/O2Ge7r/vn5zv99eO0Xzfq3jTuyCvDCl8ZesCxpVmNtXPeJ4ZxJn9T+D+qIajaNdbjge0eD2hXMSDiUf92D/pFlPdte69PxN0+be/Ibct6t70V0/ZmTNvrMR+V9mrb4P+JMhgMBkPc0WjQnj9+OOMPH0x9NmrNS313NRle9HyvLc/12Nh4SH7jIXlN4444NgtfY5FZCF0tGyu0wLpKYzEYDAajzuOFmK0v99/t/rFJXFGT4UX6DcLaWH6Hv09YVbZJit3sz3FYV+0aq7x/RGmfDqd6dSzq2WFfVKcfP+6yqWvX5Z26JrbrMabj4AFdPu8andS69+rXh+T67tskpcz14mUJccWh/NfVJO5CpvZgRWJIGzMYDAbjyRh/ajfvv9rO/kOraX9oPd09ZeUYjQbmOMegvU1pLFhT7Rrr35sNCHEYdmySeO2cK62aJF5bkUJjMRgMBqOa8VK/jMa6L2toMvzwK8MK9RuY21jBP0dpLARSu8Z6JfbgGwN2tpA3vddjWUS3mV07ju/eNn5Amz6jP4yeERG5tEO3TV26ZEd1PNmjvWHHJill2tVr0aFNX3n2orEYDAbjqRyNhxT89eO0Z6PWvNw/85WhB5rGFzcZduiVoQcaDdrTaGBuk+GHHZtZvbFU2eYkq5pmVySbrBq38t4GT4JarhUGvQbrSq+Iy70iLvWKuNirnWHHJnEXMjXt3I5T3neeWnHVeTyZKcVN448mHHYd3+ELTb0by/AQg8FgMJ7U8crQ/c/32vJy/91N44uf/+T7xoP3vRDzwytDD7w8ILtp/NFXhhU2HrzPMaHVkI118Uj6xSPp/h7xncfS9ZQrpHQ3A+0FUdWusUIMrAsxxnmsprqicuSU40dDdbm2dKaV7zwWM1sMBoPx9IxGg/Y832tL0/ijL8T80DT+6MsDst3f2uAYDdBYsSv3GIbPJrpa8kxSOe5xl5Uqu4PKuA2EV7vGuiW3vdir3bHuHQqiOmR93PH7bp3Xdu66uEPXLyN6jugwuG+XsV2iklr3XvP60L2B/oNpknjtnKZlphTrr9DyPOq5Lt7YWIaHGvy/fAaDwWCYPV6IUR3zVS/K25vGH20ad6TJsEP6DazdWJ61QbsiOfvJccvrZ59tILowX/OuH9E7HmiHL/g2lvueJnGnVlz1aizfhxr8v3wGg8FgmD1eiXXOWr3Qe5vjhgiN5Z7Gct+wK5J7jsquSJIsS7olQ99tILhaXvM+9EDz/jtbxKx/N3rpR12UTh3GRX4U17e1PKJN968iohd1jFzX9eP06C7Fnxi/571JyjXndJRridB3rdB9XXyTxGvnvOexfB9q8P/yGQwGg9HgI9zf3XDxSHrQxnIs+7lTya5IjjVAWZa87/RciuV3G4itlmuFQa/B+immw7mYDmd7dzzbu5NhR8c1706ui9b1d2amFHsugb9almmYx/J5qMH/w2YwGAxGgw+rNRagabVtrBAD64zcqcH/w2MwGAzGEz8a4HdC01ioVu0a62pMxNmYrkd69yiQ5Sx54A994zb0G/XNgEmzB86aMDg5dsiaHrFbI4ZnvhFXWL//FTEYDAaD4TsaoLGAatWusRgMBoPBsM6gsWBFNBaDwWAwRB80FqyIxmIwGAyG6IPGghXRWAwGg8EQfdBYsCIai8FgMBiiDxoLVhRKYzX0MQIAEAyNBSuisQAAoqOxYEU0FgBAdDQWrIjGAgCIjsaCFdFYAADR0Viwoto3Vvl97W5ZVemVqp9OV9qPVBYVVOTuerhtw4M1yfeXzLirJJSNHXxjUNfwng0A4GlkYmO9N3tHtSPMZwtR1K6xHg9s93hAu4oBEY/6t3vQL6K8b9t7fSLu9ml7R25b1rvtrZi27l8aHf4zAgA8bWgsWFEtGyu0wLpKYwEAzGfNxlJlm6TY6352qmzzkNW6P2F17IpUP0f+tKtdYz0cEFE2oOOVAZ0vDOx8ekC34kFRBwd3zx3SMz2+/+4vxuTOn1m48dszeXvuXC/12dXrrcJfIQCg7p74xgrleerr5VBvatdYCSHz2VX/HlDlapLcsDFvHgCAHzRWPb4c6k3tGqu8vLz0wvkzRYeKMnbuXbtq16J56ldTNoyJ3zS83/ahvbMG9SzoH3Wkb5dzMR18dvV+D9gVKVhk0VgAgOpZvbE8Sziyavzoc23lvY3/5/G6R5F1S0K6RSLH7nZF8vpZlW2SLEs2m7zFsbvq3MD11D4b2P08i+8dCKKWjRX0GqwrvSIu94q41CviYq92Prsa3iq6d5rnL85xj+4N03uC7vYiv29OAMBTK6yNte3oZcMIcFQB2shRRK7PMd3NIHsZAkq3DKTK+oryMy2hyu4I0+WUTRdRjluGDYzHGeBpEUztGivEwLoQ095n10CN5XmXeP+N+3/DBH5zAgCeOuFurEWxjX2Hz67en1teFyK7P7x0qWLcxt/z+LnHfVt3p27SwhVmAReGXIfibwO7IumPxs/TIpjaNVZZn7bX+rS/0KfTqb6dj/XrenBgZN7A7rsH9dweN2DnpDFZ82cd2PDtmby9P9+84bOrb2O5/x69JqcC/o3rH6ejAQAN0liOR31v6OhLxb2A5/zUctzy+tlnG+Pz+L8nUGMZCijQB6p+qsN/hDnKyneRE9Vq0GvedX9fNWssnzcnAOAp1jCN5Z6+8j+P5Rs/+u9EsCuSJMuSblXGdxvjE/m9x19jeS38+d3F5tN2wa6Adn3c+j4tgqnlWuG9e1fPnztVeKBw5/bs1Wnbv567efrkb0fHrR/Wf+vQPumDe+0d0ONgv4/tchefXY1/y7q3l36tsLq/ceebk79qAIDl5rEcy35ec0U2m83m9bllVyT9cpvfbfTPpl9H9P/p6NzOeM27/7VCWZa8V/z8PafvdfjGp0UwtWus4Ndg/RTT4VxMh7O9O57t3clnV/1bxftd5PmL81omNl4D7yfKAABPNUvOY1kX/1osTGrXWCEG1hnZt7HqDVe7AwAcwv07oUO7HsuyaKwwqV1jXZfbXR8Uef3T3tfHDCqdEHc9MeF60pQbyUm316Xc2bHl57yccvuxR1cuVT4oN+u4uRQLAODSAI0Vwr8rtCwaK0xq11gNyrGmyNsDAOAU7sYCQiFgYwEA4IXGghXRWAAA0dFYsCIaCwAgOhoLVkRjAQBER2PBimgsAIDoaCxYEY0FABAdjQUrorEAAKKjsWBFNBYAQHQ0FqyIxgIAiC58jXXu+v3WMwuiFx06ePh6TMzO2bMPmX1uEBeNBQAQnemNda9CW3pcW3pcm/bD2V8O3P7Lgdvnpx7v0mXr0KGZYTtJCKdeGqtK0x5WPL57/8HNO/eu3rpz9sr1hxUVYTh4AAC0MDTWqlNat51at53aosMPey8t+nTN8YcVlUeP3rx160HYThLCqUVj3b3/8Lu8Yxv3Fq/JOrx0e/4Cdc+MDbvHp26NXbix94yVXScvbTFcOX25tEFOBwDwFDK1saquPziae+VO1C4tape2vwafbu5fvazKNg9ZrY8zhghq0VinSm40+3RB8xELm386/7X4ea/Fz30tfk7zuKTX42a/MXxmy7gZLYd95aexPG8xx/vLz1vO6y6bjd/8DAAIhYmNteNS3wXHf73E/oeTZcevl9foqPSN5fo4sysSlfXUqE1jXb7++mcLWo1Z1DZhUccJS6InL+09bVnsrNRJyevnrd22btfe7EPHyx8+8tpH/6ayK4qqBX3L6R4CAKA6JjbWYvt/Ljj+6wXHf3345tc1PCp/jcUn3NOkFo1VXl6en5+/v6AgLy9vz549Obm5WVnZuzMzd2dmZWZlZ+Xkpmdm3bt3z2sfP++pIG853oEAgBowsbEO3VyQbP/TunPv3qu4WsOj8tdYquyZU7ArknEB0XOXrPr+CMHUorHuP3iUWXRqa96Rten5yd9lzFr1wxfJ6z5LShkwPbnHpAVdxia9PXTq6UuGt6IqGxf+ArzlDA8BAFAdExvr0e0D1/e+d33v+4/Kavo1DX6vx3J/3Kmy+we7Ijm2NHwcGj8dIZhaNNbpkuvN4+e+/tmc5nFJzYfPaj5sRvNhSvPYxOZDp7UY+uVbsVPfHDz5zOVrPi/lzHHX+8XvW879EI0FAAiViY11LeOFS5ttlzbbrmU2ruFRBboeS1LsxqtknDVlVyT9hIThR4imdo31enzSuyPntho5t92YeV3HL+gxaeGAaYtHz09TUjenbMnYuqfw3oOH/l/PrkjOpPL3lnOisQAANWBiY5VmNXE0VmnOG1XnC6oKN2gP7joeqvrponbvfuCj8ns9lqut/DaWewtbwB8hkFo01r1799KzcrJy92Rm5+7Oys7IzErPyMzYnZmVlZ2Tk7tv7768vLz79wO+61xvK39vOScaCwBQAyY2VsXPp27u//jmgahHuyZWjPxNxcjfPJ7+WtWVSw+bvldu+8fy//Ufj9PW+T8oz2eZ30kFw1qhV0TZFUn/MWj4EaKoRWM9eFSx/8S5rMJjP+TsX7l196J1W5Xl6xPmpQxPXNJn0vzosbP+NnDCGcP1WKqizynXqjPzWACAehCO36XzePZ7jsaqGPmbx9NHldv+0TEe/PtzPts6robR/8Muf99J5LmiXXd5sv4aGuOXHkEwtVkrvFz6+vCZLeNmtBiW+MbQ6S2GfNlyyNQWgye3HDTpzYET3x408c3+44yNpX+DOd8pAd5yzodoLABAqMLRWJVbJjgba9ILjxcs9DTWH2p6nRaeFrVrrBbDZ3wwcnabUUkdx87tPmmhPG1x3JzUSUvXJa35YYW6e3363rv3avZFbQAA1FpYfid0VWVV8bbKnCXa7cvaw4ePYoaW/5/fPXi2eWX2vrCcI8RTi8Z6WPH49OXSC9duXiq9VXLjduntuzfv/Hz3fvnDRxVVVQ1yEgCAp1pYGguooXr5ndAAADQgGgtWRGMBAERHY8GKaCwAgOhoLFgRjQUAEB2NBSuisQAAoqOxYEU0FgBAdDQWrIjGAgCIjsaCFdFYAADR0ViwIhoLACC6Bmis8xev/EnqcKj4lEmnhCcAjQUAEF0DNFbm3sI/SR0y9xaadEp4AtBYAADRhbuxDhWf6tBrZKtusdEDx/Ua+kWv2C+Y0IKvemmsKk17WPH47v0HN+/cu3rrztkr1x9WVITh4AEA0MLTWLfv/PzFzGXx4+eoO/e812lAUdHpkpIbjlFUdPrdToPDc6oQSC0a6+79h9/lHdu4t3hN1uGl2/MXqHtmbNg9PnVr7MKNvWes7Dp5aYvhyunLpQ1yOgCAp5CJjXXv/oOcvMNRX6xtn3w8cqc2cPuNlfnnusR8WlJy4z96rnaMkpIb73Qc5LOrKtskxe685eD82XGHrBp2sCuSaxP3HjZ/G0IMtWisUyU3mn26oPmIhc0/nf9a/LzX4ue+Fj+neVzS63Gz3xg+s2XcjJbDvgrUWKpck/eKXZHc70cAAAIwq7GGjV/8wYj0ljOuv5WmvbdR67JdG5ijbbmsuRvrT+MuVd9YdkVRve/RVNkmSZLhE87RVZ4N+PwTXW0a6/L11z9b0GrMorYJizpOWBI9eWnvactiZ6VOSl4/b+22dbv2Zh86Xv7wkZ8XsyuSJMvGN5VBrd9XvCEB4CllVmMNmrh8fbH2znyt5Qrt3Q1axx+1Plnapotax55xJSU32vcY4RjVzmO52BXJk1DGz0NVtsmyTGM9QWrRWOXl5fn5+fsLCvLy8vbs2ZOTm5uVlb07M3N3ZlZmVnZWTm56Zta9e/d8X8vx3nK/wwKgsQAANWNWY/UZO//obW3vFW1hodZnp9Z6s/b+wiujNpW06z7MfTGWY4TWWKrsXMtxPOT+UXN9RKo01pOkFo11/8GjzKJTW/OOrE3PT/4uY9aqH75IXvdZUsqA6ck9Ji3oMjbp7aFTT1+66vNSrrgyRpZdkZwrzr236BagZdXxHks8YVck3QKj633n2dS5pfe6tedZ3fs6/2cDK9sA8IQxq7GiRiTllmqbz2m5JVrRDW3zwdsv9N8zbN3lj6KGlpTcaB81rKjo9IedBoXYWLqfnTc9keX8aNQ3FpdjCa8WjXW65Hrz+LmvfzaneVxS8+Gzmg+b0XyY0jw2sfnQaS2GfvlW7NQ3B08+c/ma8ZU8aaWPLN9LrvTvSV1P6ULJ+93mN/p11315XkGVbfzPAgB4ApnVWB0/Tfr+krbwuLbxnJZzWdtUeOeVUUVjdt5u021IScmNQ4dOFRWddvwDw+oay/Bp57lUS/L6mGMe64lSu8Z6PT7p3ZFzW42c227MvK7jF/SYtHDAtMWj56cpqZtTtmRs3VN478FDw17GsPLMNhkC3V9j6adXvTpK/+80dDv6zHx5v3UBAE8Usxqr7fCk5ee0MQXavGPa+nPauuJ7bygXJ+0tb911UEnJjQ87DSosPNmpe3x1jeV7kYz3Q6r7cRrriVKLxrp37156Vk5W7p7M7NzdWdkZmVnpGZkZuzOzsrJzcnL37d2Xl5d3//597528/hWqZ+4z1MbyuZbLK9NoLAB4qpnVWK2HJs04ofXO0kYXaHOPaauPP/pgeZlSVPl2uz6Or8Vyz2M1byMbd/adJvDzmPPz0bCGyCfWk6EWjfXgUcX+E+eyCo/9kLN/5dbdi9ZtVZavT5iXMjxxSZ9J86PHzvrbwAlnDNdjGd8s7ggKba1Qc/+bRNn471+9lgIDrRXqLzGs+58ZAMBazGqsVgO+mnhEa7tV65WpjdyvrThV2W5jReSPWvcJy95o3fPzKV8XFZ2eNjvl9Vbdp81J0e2n/xYG/fXB7nsNy4juBPN7PRafXaKqzVrh5dLXh89sGTejxbDEN4ZObzHky5ZDprYYPLnloElvDpz49qCJb/YfZ2gsv/9+1RVB3hevu392XfOuX2DU/S8B13tW949fdTvq39P+ig0A8AQxq7GWr1Y7Dpwy6nv7V8e0nhla8mktarvWO1PrnaVNWr/vpbe7N/ugV8t2/c9fvBL+c4b11a6xWgyf8cHI2W1GJXUcO7f7pIXytMVxc1InLV2XtOaHFeru9el7794rb5DTAQA8hcz9XTo/7NrTI3ZK3LKMBScqPvnuWuS4ZdPmpV2+ej2cZwgR1aKxHlY8Pn259MK1m5dKb5XcuF16++7NOz/fvV/+8FFFVVWDnAQA4KkWjt9XeLDIPm764m+/23Xnrp9vgAR81cvvhAYAoAGFo7GAmqKxAACio7FgRTQWAEB0NBasiMYCAIiOxoIV0VgAANHRWLAiGgsAIDoaC1ZEYwEAREdjwYpoLACA6GgsWBGNBQAQHY0FK6pLY138uWjR0Y+nHWyx48IsTeMr3gEADcOsxnpQUTkz/VSHJXmtF+7xOzosyZuZfupBRWX4zxnWV5fGSjr84dQDrznG9gszwnnYAAC4mdVYMzNOtV+2r1tafuSqgiifEbmqoFtafvtl+2ZmnAr/OcP66tJYc4rauhtr6oHXsi4vCeeRAwDgYFZjdfsmP2pVwYzskxfLyh899pqsevS48mJZ+Yzsk1GrCrp9kx+uM4VI6tJYP90t/KrwLX1m5V9bE86DBwBAM6+xOq3YF7Uqv6y84vS1OzuOlahFF91j5/GS06V3y8orolbld1qxL8CB2RXJ5iQpdk3TNFV23aqVOu6OsKrjNe+nynKnHWyhz6yiG2rQF1Rlm83whqv1e8b9XLzhAOBpZl5j7e2Ssk/TtK3Fl/SB5Rg/HLmkaVqXlH2dVuz1c1B2RbLZZNXzo6JqNNZTpe7/rrD45o9fHnjd3VhfHnjdfjsz8Oaet4ddkeqU9c63a213BwA8KcxqrPZL97RftkfTNN/AcgxN09ov29N+6R6fXe2KpAssDxrrKVIv391woHSDfipr+sGW5+/uD7Ct/u3hvl3H94xdkXjLAcDTy6zGiliSE7EkRwvaWO5tvARKLP0Hnm4hUfYzZ+BnS0lRXHd6dvb7MrCC+vp+rA3HJ+ozK+nwhwE2rKaxPEuJsmp8jwYsMVX2eovVdYIMACAWsxrrw8XZHy7O1oI2lnsbLwH/x7/+k8/12eX52Ar0Genc0q5IzstjDB98sKT6aqyRiz+ckCPVqLGCppDrHt27KNAbyl9HObblLQgATwWzGqvVwszWCzNv3XuYceKKb2Dttl+5ee9h64WZrRb6XCJT7TyWzySCbLxaS7el51NOvzuTCFZXL401//u49/r8duiqF0NbK7QZ50b1byrP4+58d2ymyn7eTLpO8/c6FBYAPA1M++6GpbkfzN89Yn3hsctlJ66UHb9SdvxK2c7jJWrRxSOXb2WeuNYnJe+D+bsjFmX57Frd9Vh1bCz3a/BRZ2F1b6xvdk18v+9v3+vz2z4Ln63RNe9+7vS85TxvKcctf7OuQS/DorEA4KlhVmPNzzz5wfyMt2ftaj5tuzTlR2nytqZfbJu788SOYyVFF2+99uX2d2bvarVgt7LzmJ+DMnwOGf9doWGt0LMY6LxTlW1B1go9z8oFydZVx8batHfu+/1+914fT2OF8N0NgRtL1V/Lp7vUT5Jl3zeRn5VA/VuXtUIAeFqY1ViPHlcmZZyIWJT57pxd7yTtfGf2zrdm7mg+7cc5O0+cvX73rZk72i3KVHYeK3/02P9x6a5q93NxjOdR3SecezVHln2XeDzXvHtfvQxrqktj7TyU+sEAZ2C91+e3sateDOE7SIM2luefTnhFlS72PfTvXJvnGkAp8YQn0AIvJQIAnhzh+53Qe86URi3NaT7txyXZp96aucPsE4PQ6tJYbYf90R1Y7/f73bZTSSYdJPNRAIAgwtdYmqY9qKhclnPq/Vk730zcbupZQXR1aawPh/5/7sZK+KajWYfIYjMAIKiwNpbDpVv3Rqw9YNL54MlQl8bKLP6244j/fr/f70Ynt62qqgy0WR041gMpLABAMA3QWEC16uv7sQAAaCg0FqyIxgIAiI7GghXRWAAA0dFYsCIaCwAgOhoLVkRjAQBER2PBimgsAIDoaCxYEY0FABAdjQUrorEAAKKjsWBFNBYAQHQN2Vjz9yy7VFZSv+eDJwONBQAQXcM01oOKhxN3zWj89fsbivmduvCDxgIAiC7cjfWg4uGWYzsi0j5pltLu9TWdJ2fPMe/cIC4aCwAgOtMb6/yti4vz0j5VJ8nrP+26qn/ThR++vKT1q6s7tfwuuuV30fLWkX72UWWbkxzSNJddkfgFvU8WGgsAIDoTG6us/G7sdwnPznnnhUUfvLzsw8bftH0ltV3T1R1f3dDt9e+jWqjd3/g++t21PY272RXJnVZ2RWEt8alEYwEARGdWYz2oeNg+rfcLya1fWdVBWtel2cZur276+LXvIl/7Pqr5lujXvo+K2ze95ZYeTVZ2MO6pysxJgcYCAIjOrMZasO+b55I/aLy2Q5NNXZpu7uo1NnXpun34hjM7Xlnf6cXUj3x2VWWbobJU2SYpqiLZbDbPQ6psk2RZstnkLZ4uU2WbpCjOpUbPk9jd+yoUnBBoLACA6MxqrI9Wxby4qm3jDR0bb+xkGBE/DLz887XO3w9+aU27V1d19ndUziZyLRmqsmA8Z+kAACAASURBVLuYPJde6VNM31iu3VTZ95ZdkYz9BkuisQAAojOrsZ5Pfv+FNR+9uC7Ca6xt2/XH2Gv3biQfWv3Xpe8+v/rDDpv6Bzw0uyI528hr+VCVfe/0nscy3GlXJK+9aSwB0FgAANGZ1VivprZ/bk3r579t4x7PrWk9du/MB48fbju1+88LWj6T8t6zq1pNzg323Q2uy9/1YeS+JJ7GepLRWAAA0ZnVWEN2jPvryveeWf3+M6vff2bV+23VPlkX8zRN+7og5Y9Jr/730jf/uvK9F9Janb31k3FPVdHnlKTYvZYFPf/qMOTGYq1QQDQWAEB0ZjVW/qXCFt926vhDvwn7Zu29fKBKqzp85VjX1X1/P6vJfy1548+pbz+38r1NJ7f5OyTPt2O5LshyX95uuEgrxMbyPCXXvIuCxgIAiM787yC9fXFF4ZoOaZ/89quX/3NOk8bftPpw8ycT9868cOdyyAdZfwt8+i/fgoXRWAAA0TXk74QOWb01lu/XQsCaaCwAgOiehsZyfTtW6L+cBw2NxgIAiE6IxsJTh8YCAIiOxoIV0VgAANHRWLAiGgsAIDoaC1ZEYwEAREdjwYpoLACA6GgsWBGNBQAQHY0FK6KxAACio7FgRTQWAEB0NBasiMYCAIiOxoIV0VgAANGZ1Vg7531iGGfyN4X/9CAoGgsAILrwNRaZhdDRWAAA0YW1sfwOf0dVx18CrX8eD0mxG564vl4G9Y7GAgCI7olvLOPzqLJNVjVN0zS7IlFYVkVjAQBEZ25jBX/tBmksd1p5YgvWQ2MBAERn9cbyrPbJqqbZFUkXRq6tvLfx/zx6dkWSJInCsjIaCwAguoZsrItH0i8eSff3iG8b6XrK1UY+E1F+9/LQbcyFWFZHYwEARNcAjRW7co9h+GyiayBPJjnucZeVKrszybiNv+fxvleWqSxLo7EAAKKzdmN51gY9F6g7bnn97LON8Xn83Oe97AiLobEAAKKzZGO508h9w65I7lqyK5Iky5JuydB3G+MTuek6jMqyMBoLACC6cH93w8Uj6UEby7Hs5w4juyI51gBlWfK+01NHfrdxP5vXPapsvCyLyrImGgsAIDqrNRagaTQWAEB8DfA7oWksVIvGAgCIrgEaC6gWjQUAEB2NBSuisQAAoqOxYEU0FgBAdDQWrIjGAgCIjsaCFdFYAADR0ViwIhoLACA6GgtWRGMBAERHY8GKaCwAgOhoLFgRjQUAEF04GmtUyi+C/Aj4orEAAKILR2OtSO8ybcMz41b9a8KqX3+5/q/LdnUIz7lBXDQWAEB0pjfWxesHxqT+clTKL9xjTOovz1/bF7YzhIhoLACA6ExvrG8yuo5K+cXZq7mOwHLcWLarfdjOECKisQAAojO9sb7a+MLENb8zjKnr/1ztkamyzSarNTkXVbZJij2EDe2K5GfLkHeH+WgsAIDorPrvCu2KJMmyVKPoqWMk0VgWQmMBAERnVmMt2t568fY2mqbpr8TSj/JHZe5tfNkVSVLsjv8b8rnQWE8OGgsAIDqzGssRUlrQxnJv48MVV16Rpco2SVFkm81ms+lqyK5IznsUVySpsk2SZcm51ujawOZZe9TllJ/d0fBoLACA6CzZWJ600keWKrsryXOtlueWXZFsnsZy55Lusi7PZViqrsZ8d0fDo7EAAKKzYmPpw8quSK5E0q/luW77TnTZNZ9pKs+V86rs+CH47mh4NBYAQHSmXY/1Y6tFP7bSgl+P5drGmyrbDNxTVjTW04LGAgCIzvR/V/j1jx/4BtaCre8E3MGYOu5K8tdYAdcKvVYYdWuFhlxjrdCiaCwAgOjC8d0Nq7NjRqX8ovDst8cvbhuV8ovV2TFBNvadTXKlkd/G8kx7Ga559zyH55r3EHdHw6OxAACis1xjARqNBQAQXzgaa++JxRPX/O7KreLSMvvENb/POTY/POcGcdFYAADRWfV73vF0o7EAAKKjsWBFNBYAQHQ0FqyIxgIAiI7GghXRWAAA0dFYsCIaCwAgOhoLVkRjAQBER2PBimgsAIDoaCxYEY0FABAdjQUrorEAAKKjsWBFNBYAQHQN01jffPONqqpmnA+eDDQWAEB04Wis+zcuHlsd97i8zPHjihUrunbtumLFCvPPDqKisQAAogtHY927fGT/jHcOzW//uLxMH1jMZiEQGgsAILpwNNbDu6W39ycfnd+6IOmjXtHOwAo8m6XKNrm25aXKNkmx627YFcl5j/5R/fZuQTYL/Gr6/epH3Q7JzevExUNjAQBEZ3pjXdizct+0N6/mpZTtX3J0QZuCpI8eP7gbdLkweGMFrw2fxqpmX889uiYJ8hL6h1TZVvsYDKymh/RkorEAAKIzt7HuXCw+lNTqxOKPji1scy0/zZ1ZPaOCXI/VMI1V3b5Btq9fNT2kJxONBQAQnbmNdSxt0NkVHa58+/GFtM7Hv/7wWn5aWcHi4vmtC5I+qnxUHmAnd2Opsk1SFFm3bKZbR3NsYlckr599oyR4FVUTNJ7Xk1WvV+89wX1bN+nkdSiO55FlyWaTtzieU3VuI6uezX3SKfghBTgd19NJiuJ/F68/RgHQWAAA0ZnYWI8flR9b2Kbk249LN0RfXRflzKwCZ2YdWdQlQGbpG0vXTsaK8r6tyq4Iq2VjBV2Yq/bZdOuGnidSZZvu+NyBo7vpb70x+CEFKjB9c/r+Cfj+MVodjQUAEJ2JjVVV+fhsSrdr66NKN0QbMyt/0ZF5rU5tGOVvP+95rCCrZrqpI91UU00byzAz5r2ZapiuCjKN5GkX1wkECbJaH5K/fe2K5HmOmv4JWBSNBQAQnYmNdffu3VtFG6+ui3Q0ljuzji1sU3H/9r0L+++XnvG3X40aK9AkUC3WCn3u9Dy/u2LC01hBriSjsWgsAIAYzGqsx48f9+zZc+3atbcPr7m6LkqXWd1vH9sa9JBCbiyvxbhAm3lPShkDI2jQuB/0Wv4LZa0w6LJmnRpLV3Oes692rZDGAgAg3MxqrHv37qWmpvbo0WPt2rVlxRtKvxtwbX3U9Z1jH5SerO6QgjeWay3NeM17sLXCxBNqgG+yqj5obDabTZJlyffVvff1HEmNuqqmjaVbS5Rl3zsDXvNOYwEAEF5mNdaUKVM+/vjj1NTUfv36lZeXa5pWVVkR9rN7+vhZPxUSjQUAEJ1ZjbVu3bovvvji7t274T+lp5nv6qmgaCwAgOjC8bt0YDLjiukTgMYCAIiOxoIV0VgAANHRWLAiGgsAIDoaC1ZEYwEAREdjwYpoLACA6GgsWBGNBQAQHY0FK6KxAACio7FgRTQWAEB09dNYKlCvaCwAgOiYx4IV0VgAANHRWLAiGgsAIDoaC1ZEYwEAREdjwYpoLACA6GgsWBGNBQAQHY0FK6KxAACio7FgRTQWAEB0NBasiMYCAIiuIRtr/p5ll8pK6vd88GSgsQAAomuYxnpQ8XDirhmNv35/Q7FqxllBdDQWAEB04W6sBxUPtxzbEZH2SbOUdq+v6Tw5e4555wZx0VgAANGZ3ljnb11cnJf2qTpJXv9p11X9my788OUlrV9d3anld9Etv4uWt470s48q25zkkKa57IpkkxR77f4EVDnIq/h95mAvp8qOh+p0SKCxAADCM7Gxysrvxn6X8Oycd15Y9MHLyz5s/E3bV1LbNV3d8dUN3V7/Lipu37TXv4t6d21P4252RXJHj11RTF9LDNpYXpuF0kwhboZq0FgAANGZ1VgPKh62T+v9QnLrV1Z1kNZ1abax26ubPo7c9emEgnmLj67dcSH3wLWj4/PndPl+qHHPcFcKjWVFNBYAQHRmNdaCfd88l/xB47Udmmzq0nRz16abuvTNHLd8/9pRn4+OdRk7LmFZ/rc+u6qyzdApqmyTFFWRbDab5yFVtkmyLNls8hZP2aiyTVIU51Kj50ns7n0VnwZyN5bffVXZJiWe8Cxe2mRVH1I+q5reR2J3v7LXvo7D5mr/IGgsAIDozGqsj1bFvLiqbeMNHRtv7NR4Q8dO22LTjm1euGyRo64WLXLeWLZyhb+jcpaJK0NU2V09nuuc9CmmLxubJ5l8btkVydhvXo3ld1+vZvJ+Of2TGDYzbOP1Ksx0VYvGAgCIzqzGej75/RfWfPTiuogX10W88O1HI7On7y7OGT58+PLly7/88suVK1euX79+4cKF8fHxt27d8n9odsU12+PVK65a8Rs9/u60K5LX3kHnsQI+YYDG8kxkBWss3Xoki4khobEAAKIzq7FeTW3/3JrWz3/b5vlv2zy78oOkgmWLkhfHxsYeOnRo2LBhK1eujIuLKyoqio2NXbNmTaCDc13+ru8S9yXxFmgsz+X57tfwt73XFV80VkhoLACA6MxqrCE7xv115XvPrH7/mdXv/zXlb9k/5cXHx8fGxh48eDA2Nnbz5s2xsbGFhYWxsbGff/65156qos8pSbF7ra95sibkxqrBWmENG8t9n9cKpu8N/aVXNFZIaCwAgOjMaqz8S4Utvu3Udeugr/Z/febW+cqqyqVLlzoaKyEhITY2durUqfn5+f7msQwXmGu668QNF2mF2Fiep6z+mvfAT+h8Dq95Nfe19LIcYB5LdzI2m6ScoLFCQ2MBAERn+neQHi89OWX3rIRtX+4q3D18+PCJEyeeOHHi8OHDJ06cGD9+fLDrsTzqr0v0X74FC6OxAACiC+vv0klLS3P8c8LPPvvMcWPDhg0h7FdvjcU/6hMFjQUAEF1YG+vmzZuOhUKHiRMn3r17N4T96thY+u+oYhJLDDQWAEB04f6d0EAoaCwAgOhoLFgRjQUAEB2NBSuisQAAoqOxYEU0FgBAdDQWrIjGAgCIjsaCFdFYAADR0ViwIhoLACA6GgtWRGMBAERHY8GKaCwAgOhoLFgRjQUAEB2NBSuisQAAoqOxYEU0FgBAdCY21o8H7KOX/5D8Y96xC1cTUrZFJ66M/XrTiYull2+UTV+X0UNZ1X/u+v2nLvrsp8r+fnezXZFsdfrN0BAJjQUAEJ2JjZW0ObvbtNThizZHJ67sNi3VMUYs3SInrXX/OGjBRp/9VNkmSZIhp1TZZqOxnh40FgBAdCY21oilWxwhtXL3wYvXy/rOcabV7E1Zl2+UjVnxQ7dpqZHT03z2U2WbJMvekaXKNlmWaaynBo0FABCdWY31uLKqe+LKbtNSx6dtd9wTt/i7btNS+89d/6jisaZpMzdlOX702VWVbZJiV2XPeqFdkRz3OBvLMallcy4p2hVJt7To3squSLqNnA8ozj2JNYujsQAAojOrsS6U3nLMWu06dErTtMqqqp4zVneblrpiZ4Fjg9HLf+g2LXXiyh0+uzoryRNZjsTy1JNxS92m7pu6jVXZtZEut3wv+IKV0FgAANGZ1VhZxWcdjXX5RpmmaRevlzl+3HPsnOaY5VJWdZuWumLnfp9dXXnkTCv/2eSayHLc444sZ0/pJrHcM1n6RPPNNVgLjQUAEJ1ZjZWafqDbtNSeM1ZXVVVpmpZz9Jx3ct12/Li76LTPrvrVPklRFcmzQuhqL2dR2d2POW55/WycqaKxREJjAQBEZ1ZjTVmzs9u01LHfbHX86E6uSmdyOWe5zl296bOrcb5K94NrXsszWeV60K5IkixL7q5SZeNFVzSWSGgsAIDozGosx78iXLxtn+PHyau9kist40C3aalRX618XFnps6s+gOyKVzZ5LwR6/etDuyJ5X2SlXy5krVA0NBYAQHR8zzusiMYCAIiOxoIV0VgAANHRWLAiGgsAIDoaC1ZEYwEAREdjwYpoLACA6GgsWBGNBQAQHY0FK6KxAACio7FgRTQWAEB0NBasiMYCAIiOxoIV0VgAANHRWLAiGgsAIDoaC1ZEYwEARBeOxnr4+NHbm0b9+/Lo3yyPfmPDZ5P3ry4tLwvP6UFQNBYAQHTmNtb5G4ceV1ZomjZiz9JfLunsHr9b0WPjmT1hPE0IhsYCAIjOxMY6fS1/QUaPoovbNU27Xl62/PgOx/iiYNUvl3T+p+SuG87khvdkIQwaCwAgOrMa6/7D28nZ/eanR28tmuX7aPutk365pPN/fvPJlXu3/B+XXZFsLpJir9lJqbJzH/cNCIbGAgCIzqzG2nt6zfz06IUZPW/8fEHTtOvld+Yf2bL46Lbr5WWaph29+dM/L+32yyWdJxWs9HNQdkXStZEqy2rNTorGEh6NBQAQnVmNtSZ/9Pz06Cz7N5qmXS8ve25Vf8eVWM+t6u/IrAn5aS+tGRS5fbrPrnZFstW0qrzRWMKjsQAAojOrsb7e3Wtpdv/yR3c1TZtb9L3+gve5Rd8HO6KAiaXKNkmWJZtNVjVNlV0rie5tXcuLkqL4aSzP4mPd+g1hQWMBAERnXmN9UvvGMnaRO5h8Z6X0U1bOerIrks3YWLrYUmWmtqyPxgIAiM68tcIx89Ojs09+o2laqfdaoePLsfaeXpO6d/gPRTONexrnsQIs/HkmsiTF7lVmfnbRX0HPTJYIaCwAgOjMaqy8M+v017yXlpfNO7Jl8dFtjsC68fOFhRk956dH7z29xmdXw0VU/hrL02Gutqq+sQgrkdBYAADRmffdDWVLsvrMT4/+/tA030e/PzRtfnr04kz53kM/391gVyTdXJP/9T7nTc+/QKx2rZCr30VCYwEARGfud5DOT+8+Pz1635m1xZfS3WPfmbXz06MXZPQ4eTXwV717lgJ9w0rTXakly5Lu8ZCueWetUAA0FgBAdOb+Lp3T1/IWZ8rz06MNY0lWn1PX9oXzPCEWGgsAIDrTfyd0+aM7e0+vWZ03amFGz0WZMWvyx+w7s/b+w9thO0OIiMYCAIjO9MYCaoHGAgCIjsaCFdFYAADR0ViwIhoLACA6GgtWRGMBAERHY8GKaCwAgOhoLFgRjQUAEB2NBSuisQAAoqOxYEU0FgBAdPXTWCpQr2gsAIDomMeCFdFYAADR0ViwIhoLACA6GgtWRGMBAERHY8GKaCwAgOhoLFgRjQUAEB2NBSuisQAAoqOxYEU0FgBAdDQWrIjGAgCIzvTGuvfo5x/Pbk3aP2Nc9uhx2aPn7J+549yP9x79HLYzhIhoLACA6MxtrCOlRdP3Td51aUtJ+fl7j8vuPS4rKT+/69KWafsmHyktCud5Qiw0FgBAdCY21pHSonkHZ1wqP3Pj0RXDuFR+Zt7BGWQWAqGxAACiM6uxfn7086TcsUfvFJwvP3bo0t7FqxeM+zLh07HxCVPHLkyde6z0wNE7BZNyE35+dNf/cdkVyeYiKXZz/xBgOTQWAEB0ZjXWjnM/KofH7bm9JePUlvjxwyfPnbDtyIbs81vXZadMXTDp+wNr9txWlcPjfjy71c9B2RVJF1aqLKtm/hHAgmgsAIDozGqsOftnLj4zOe3y9DELhw2dOGBHyZrsW5uzbm7KuLnux+upm64uTLs8ffGZyUn7Z/jsalckG1X1lKOxAACiM6uxxmWPXn5x6opLU3uP6T4yeeCKS1N9x/KLUxOyRhn3DJhYqmyTZFmyOR7VLSZ6tjbe6f1cqmxrOnKk4R4WIi2JxgIAiM7Exlry06TkC5N6jY76LHlA8oVJyRcmzS0a+8nIqJ6fRQ5WYpIvTFp8fuKEnM+Ne9oVydU9rmRy/KzKnkuzVNmdVp6FRX93qrI7qZw3fe+B9dBYAADRmbhWmGRPWHh+/OBZMTEJ0fNOJSw8P94xhi/q23NU5MLz45PsCXP2zzTuaZzHcs816SadfOanZDXAnZ6OUmXn3r73wHJoLACA6Ey85n3ygZFzzoyZmhvXfUS3QUm9Egs/Szo95ovdw3qOjhww45M5Z8ZMPjDS3zXvhgW8OjaWc15MNzvm5x5YDY0FABCded/dcHdi7tjpxz5TTn02aU/sgLmf9Pj848j4Lj3GdBs0/5MvD8dNP/bZxNyxfr+7wa5Iuous/DWWcVnQNS/l505HUsmypJsbc95DYlkXjQUAEJ2530E6NnvE5OK4qSeGG8bk4rix2SOCfQepKvt8PZb3/Jbn8vbq7jQ0m/vpuRTLwmgsAIDozP5dOocn5oxNyI+bUBQ78eiQiUeHTCiKTciPm5gztmG/5J2r3S2OxgIAiC5svxNaScgaNSHn87kHZu04t62Bfyc0l2JZHo0FABCd6Y1lMY7VRArL6mgsAIDonrbGghhoLACA6GgsWBGNBQAQHY0FK6KxAACio7FgRTQWAEB0NBasiMYCAIiOxoIV0VgAANHRWLAiGgsAIDoaC1ZEYwEAREdjwYpoLACA6ExvrIrbt0pWLT/xWf9DkR8WdvngeFzfyyuXPrp1I2xnCBHRWAAA0ZnbWLf2ZBZGfri/3VuGURj10e19OeE8T4iFxgIAiM7ExrqZk5Hf7u38tm+6R4Hrx+Ojh+a3e/sWmYUAaCwAgOjMaqyKstsFXdtc+jbl8obVZ+ZML9259dyipIsrl+1t88bRUUMupi3d2+aN/M7vP7p10/9xOX53s4Pvb3C2K5L7XlX2bKO/DZHRWAAA0ZnVWD+lJp9Upmiatq9zq5wPmt8u3H/vzKk9Ee/s69zqztGiw8P6Hhoq53zQ/KeUZD8HpU8oTVNlWQ14/Kpss7ke1t+G2GgsAIDozGqsg/27n1k4S9O07FZvZL3b7HpOxq0DedkfNL+Zv+fk7Gm3Dx/MadMy691mB/p399nVrkihp5Iqe2pMfxtio7EAAKIzq7F2v988p/17d04cO714Xn6fqLKjRfly1LWMHRc3rb1z4qg96avzq1akv9Vk9/vNjXsGTCxVtkmyLNls8hZNlW1S4gnH0qDNZrM1TVwkG5YWdauNuokuSVHkQCuQsA4aCwAgOrMaa9ffXj0+c9r1vTkFg+U93Tvuie5482CBVlVVdvzoteyMO/bjOd0idrRovOudV4172hXJlT+uTPJcbKW7CMt9p995LN26oWflUZXdwcW6orXRWAAA0ZnVWDlRHU8unldVUXH76JFbRw5XVVY67q+qrCzdk31R3Xxi/uytr72U072TcU/jPFbwnArQWN5PosqOH1hYFAaNBQAQnVmNdXz+7PQOra9m7z79zdIzK78pSd/hyKyKu3dL0rcfmvS5+tpLW6Tnj8+b5bOroX5orKcRjQUAEJ1ZjfXoTtmju3d+aNl0c+NnHOPS9q2VFRW3jxVfzc06vnDO5sbPqG+8Un7tqu++dkXSLeTVqrGMa4XuBUIaSww0FgBAdOZ+z/uxr+ft6PhhRnSXE0sXVVZU3Dl18ui82RsbPbPhpb9sePmvF7cF/04Gw9dj1aix9Ne8B4owGsu6aCwAgOjC8Tuh712+VF567Upudt7oT797q9naF/60UXrx/Pcbw3OGEBGNBQAQXTga68SyJSeWLdn46svfvvDfapu/HUqcev9KSXhOD4KisQAAogtHYwE1RWMBAERHY8GKaCwAgOhoLFgRjQUAEB2NBSuisQAAoqOxYEU0FgBAdDQWrIjGAgCIjsaCFdFYAADR0ViwIhoLACA6GgtWRGMBAERHY8GKaCwAgOjMbazKysrcwux4ZdjrvaX/+OhXv2/3Ty37NolTBmfuz6isrAzneUIsNBYAQHQmNlbZz2XTlk55MfIv/9r+F7+P+uWfev3jM31/9WK/X73U91dvDn7mqxWTy34uC/PZQhQ0FgBAdGY11uPKx18tn/JvbX7xL53+7rfd/+cfe/39X/r8w3P9/uHlgf9LGva/3/j0/7wZ+28z0qY8rnwc/nOG9dFYAADRmdVY+47kvBD1n8/2/pc3P/vzOyP+/N7oP7ce++eI8X/pOOmv3aY8E/3Vsx9P+13HhGf3Fef6Py67ItlcJMVe7XnYFcm5nSqHtAMsjcYCAIjOrMYa+/XwX7SxvRb3+0AvHDntn9uO/zvl25F+HvMEk6ZpmirLag3OiMZ6EtBYAADRmdVYbUc0iRjXJG5xl7wT6b6P7j22MXFdt4lpb4xOfsvnQbsi2WpUVd5orCcBjQUAEJ1ZjSX1/b+TV/bXNC1xXbfDp7MqKh857n/0+MHhM9sT13XTNC0tY0Dc1/9m3DNgYqmyTZJlyWaTVU1TZddKonNbd1q5b3iWG+tQbGgYNBYAQHRmNVbEmN+2GvNPy7aP1zQtcV23tJ3jHPevSh/hCKzNe8d+vuI/vlzzrHFPuyK55qFcleSOJ98ZKt+0ct1QZdpKXDQWAEB0ZjXW58lvtR3/y1af/48dB5Zpmhb55d8f+ylT07Q+s/6Hpml7ihfHff33U1b9Li09wrincR7Lt6Jcd3tdEu+zmV2RQrtcHhZEYwEARGdWY6l546On/1P36f/o+HH41/9x5kqBpmmjl/2r454pq/5t1sbf7z0+1XdX7wuq/DWWp8Pcs17+U8wxE8Z8lnBoLACA6MxqrGu3D01d3WzQnN/M+67zzA1vHzy1znF/4em05dvfXZ8TOe/7P6zObHG97JDvvnZF0nWRv3jyuuYqWGNpXmuPEAaNBQAQnVmNVVVVWXhmyZQ1z8Uv+tWnS/5v8rZW+SeW5J9Y+M2Ot5V1/++87/41Nf2l4p+Sq6oC/EYdz1Kgb1hpuiu1ZDnQPJbPVfEQCI0FABCdib9L59HjnwvPzF+2o+WsTX9R1v82ce2/zN7460U//CEl/bmNe94pOr/w0eOfw3y2EAWNBQAQnbm/E7pKq7x0Y3fG4UFrst5YtvO/U9L/vCG3ZdbRIZduZFZp/E5oBERjAQBEZ25jAbVDYwEAREdjwYpoLACA6GgsWBGNBQAQHY0FK6KxAACio7FgRTQWAEB0NBasiMYCAIiOxoIV0VgAANHRWLAiGgsAILr6aSwVqFc0FgBAdMxjwYpoLACA6GgsWBGNBQAQHY0FK6KxAACiq5/Gahp/lMGox0FjAQBER2MxrDhoLACA6GgshhUHjQUAEB2NxbDioLEAAKKjsRhWHDQWAEB0JjbWW/EH34vLbzc8O3r4jj7DtsQO2zB2SEri4IVLB361fsC4nf3iHjcrCQAAE5RJREFUDvbp81Pvzg3+cc6w4KCxAACiM6uxHg9s93hAu4oBEY/6t3vQL6K8b9t7fSLu9ml7R25b1rvtrZi2N2PaXo/5qLRX2wb/OGdYcNBYAADRmdZYoQXWVRqL4W/QWAAA0ZnVWOX9I0r7dDjVq2NRzw77ojr9+HGXTV27Lu/UNbFdjzEdBw/o8nnX6KTWvVe/PiTXd98mKWWuwytLiCsO5SO5SdyFTO3BisSQNmZYf9BYAADRmdVY/95sQIjDsGOTxGvnXGnVJPHaihQa62kcNBYAQHRmNdYrsQffGLCzhbzpvR7LIrrN7NpxfPe28QPa9Bn9YfSMiMilHbpt6tIlO6rjyR7tDTs2SSnTrl6LDm36yrMXjfVkDRoLACA609YKg16DdaVXxOVeEZd6RVzs1c6wY5O4C5madm7HKe87T6246jzizJTipvFHEw67zuDwhabejWV4iCHioLEAAKIzq7FCDKwLMcZ5rKa6onLklONHQ3W5tnSmle88FjNbQg8aCwAgOrMa65bc9mKvdse6dyiI6pD1ccfvu3Ve27nr4g5dv4zoOaLD4L5dxnaJSmrde83rQ/cG+pRtknjtnKZlphTrr9DyPOq5Lt7YWIaHGjwXGLUYNBYAQHSWu+ZdP6J3PNAOX/BtLPc9TeJOrbjq1Vi+DzV4LjBqMWgsAIDoTLvmfeiB5v13tohZ/2700o+6KJ06jIv8KK5va3lEm+5fRUQv6hi5ruvH6dFdij8xfs97k5Rrzuko1xKh71qh+7r4JonXznnPY/k+1OC5wKjFoLEAAKIzba0w6DVYP8V0OBfT4Wzvjmd7dzLs6Ljm3cl10br+zsyUYs8l8FfLMg3zWD4PNXguMGoxaCwAgOjMaqwQA+uM3KnBP84ZFhw0FgBAdGY11tWYiLMxXY/07lEgy1nywB/6xm3oN+qbAZNmD5w1YXBy7JA1PWK3RgzPfCOusME/zhkWHDQWAEB0ZjUWg1GXQWMBAERHYzGsOGgsAIDoaCyGFQeNBQAQHY3FsOKgsQAAoqOxGFYcNBYAQHT101gNfRZ40tBYAADR0ViwIhoLACA6GgtWRGMBAERXP42lAvWKxgIAiI55LFgRjQUAEB2NBSuisQAAoqOxYEU0FgBAdDQWrIjGAgCIjsaCFdFYAADR0ViwIhoLACA6GgtWRGMBAERHY8GKaCwAgOjMaizbauN4IfXM9Qkd7nzRunzqOw++fNsxcgoLwn/OsD4aCwAgujA11p9SL539PKYk4eMbE9q7M4vAQiA0FgBAdOForN+k3Sj6bPjpkf1+GvOJO7NyCveH/2whChoLACA60xvrVyt/3jt0wuHhnx3/dKg7s7IOHgp8SKpskxS747ZdkWw2WQ3hRFx72RXJsztERWMBAERnbmP9YmX5tkGz9w6cvH9IgjuzMg4UBz0kT2Ppayv4ltVvC6HQWAAA0ZnYWP971cM1/VJ2ynMy+yW6M2vX/hPVHZKzluyKVN0MFo31xKKxAACiM6ux/mHV40WDtn/Xa+XWXosdmbVn4OTt+adDOCRVtkmK4pNMdkWyOcmqYzP9z+7G8r6hOLeiv8RCYwEARGdWYyUOLVwTs3NDzGZHZu2Q5zy79PKnxVUhHJIznrznsFTZfY/niiu/81j6G659dHtDCDQWAEB0ZjXW8t5Fab33OjJrc6+Vf0m+6rhCa0T1maXKNklRvS9d9144VGX3VFbwxmIlUVQ0FgBAdGY11hL5jCOzVsfs/HPyDf1XOYw6GjyzXD2kn3yisZ4yNBYAQHRmNdYC+eoS+cyy3kX/lXzH9zvfxxwLklmeHtJ9D4NhrdC9BEhjPZloLACA6MxqrDl9fp4vX/1jcrlvYDnG2ICZ5dVDquy6Xt1zzbv3o8GveaexxERjAQBEZ1ZjKX20/0x+HCiwHGPc8VAugcfTiMYCAIjOrMb6fXJV8MByjAlkFvyhsQAAojOrsYC6oLEAAKKjsWBFNBYAQHQ0FqyIxgIAiI7GghXRWAAA0dFYsCIaCwAgOhoLVkRjAQBER2PBimgsAIDoaCxYEY0FABBd/TSWCtQrGgsAIDrmsWBFNBYAQHQ0FqyIxgIAiI7GghXRWAAA0dFYsCIaCwAgOhoLVkRjAQBER2PBimgsAIDoaCxYEY0FABAdjQUrorEAAKIzvbEu3X4wdkPxe5+vbTls0ctD1735Zdbo9ccu3X4QtjOEiGgsAIDozG2sVfkXh8yccjCvT8HuuHUbpyZ8u3nXj8MKciIHfTkpLe9SOM8TYqGxAACiM7Gx0vIv90+c3G1ZYfz6A7N25xXmfqld/Ez7aYB2rsftIz0mzopPzbsc5rOFKGgsAIDozGqsS7cfNBq146MF+0f+WHxwz5cPL32lXZtRdWls5U9Dfj4eo53sfnt/TMy46f4XDVXZ5iSrNTobuyLZJMUebBNV1j+pKuu3937Me6dqnhb1i8YCAIjOrMYau9neInFv9LenZqrf3zoxeuMPX+dlzzxzcPzt47EX9vfXTvaoKpJzNvYb8e0R4552RXKXjl1RVK26xKlhAOlDyq5INs/OdkUK8EQ0VrjRWAAA0ZnVWG9Oy2m1sLD/12rVOVm7MPTuqdFnDo4rzP78/sn+JQdiTmT0ryjsc+S7Ic1iNxj39NMz9dpYupKyK5KsKJIzuQInFo0VdjQWAEB0ZjXWywnpbZcUDZ6erJ3trp3vrf3UX/tpQMWZvufy+90+9MmwhWuXLFeGJKa8NGanz66qbDMs4HmtHHovJBoe1ceQXZH8rji6W8pxwz2vpZvgMu6qyjZJUZ13UlthQGMBAERnYmO1+fpQ96QfHx3rWXUmSjvbXTvbXTsbdaWg94zkOZ1Tj3dcXNBe2flyQrq/o3I2jit5/E4jue/UP+q+HezKLFdMqbKk2HX/z/V6uif0PGYL4YlRb2gsAIDoTFwr/FtSQfvlxR2Si9LWTKs60bPqRM+qY5+c2jWwx4Jd7Zcd+Wjx4ZZK3pvTcgIeml2RPFNXfie2AjeW/qIuX46cckWVYzrLs1LomcTyOz0W+Mp41B8aCwAgOhOveX91Ss5Hiw93WF4clXK4bF//ysI+lQf7fjF/UfvlxW2XHP5g/sFmk3M+3xRsRshVSrrE8cSTO4pq3lh2RZIUVX8hlqx4XaVl3Ne4BEljmY3GAgCIzsTvbmg8LuPtWfkfLT4ckVx0Zuvwyn0Db2UMiZmxue2Sw60XFr45I6/xuAw/392gKvqacS3VeRbvfNbsarxW6Jqq0u+lv2rLcEGY9z0kVljQWAAA0Zn7HaSNEjLempnXemHhwDmb9q8cMWH6vDZfH3p/3oE3Z+Q1SshIy/f7HaTGi9w9d8mqZyVPkmXXzJPuUUNvBfyWLUOCqbL3RvrlQtfTyrJUq+/sQm3QWAAA0Zn7u3TS8i83HpfRbErOmzPy3pld8M7sgjdn5DWbktN4XKDAAjSNxgIAiC8cvxP68032N6flvDw2/eWE9Den5Xy+2c7vhEZwoTQWAAAWZ25jAbUQ/H0JAIDoaCw0DBoLAPBko7HQMGgsAMCTjcZCw6i2sRpubR0AgFDRWLCc4O9Lx7sulDcnAAANhcaCFdFYAADR0ViwIhoLACA6GgtWRGMBAERHY8GKaCwAgOhoLFgRjQUAEB2NBSuql8YqyR3fyNZofG5JKG9jk57BjBet36MK9GwNcu71ewwmnYIV/mQACMGsxto57xPDOJO/Kfwf1RBUTRurpCQ10qbTaHxuST18BD4NjRXoaevyKvX1VCY1Vh3fLTU9Kr8vV5I7vpH+Tltkaon/Py7H7o3G54Z+hAAsInyNRWYhdDVqrBLXh5LuR88nVl3QWE9eY9X93VKjowr0csY/otRIR2cZnt8RWI77AQgnrI2lH3nfjj+Wsdxfdamy7n/cSYpd01TZ8f+rF/qWsLSaNVbu+EY2Px+T7s8qx43IyEbueQT3JILjw8+55fhIw6SC4YNQN/UQcHEtyKtccX3i+p0+8TPXEaBUan5U+tMx3nY827icHK95lUbjc3IMfyb+P+lzDbv5TtG8PHiIzya+e+mOVnev8e/F6xgCnbjvn2SgPxB/f1ae3fyeneFdEehEqn0531Bz1ZTn77fEtbPvoQIQQsM0VuGWmaf3bdixYensxKkJCQneu/p2Eo311KnhPJZzEsCwjXeUuHIqNdLmddv9qeZ5BufajPdkg/vJrgT44Kz2VZzPrH8V122fJw+1sao/Kt3ntOssXbcjU6t7Oc8R6s8ikNzxjQyVYDjyavbSzdmUlKRGRqYGOYZAJ+73T9L7DyTAu8Xn1UM8O98NQno538Zyn57rodRIlggBsZnbWEE+RFVVHeVieITGQh2vxzKsuXgtvvi77a8JDDMKjs879yUyueMb+Z0gqdWreK8Hhd5YoRzVlStXnBs5Hh0f6fi8T40M9qd0xScCQlkg8/1zC2Vfz16uA/X7R+p1qAFOPNCfpPEV/b5bfF49xLPz3SCkl/PTWK79c8c3sjVq5OxhJrEAgTVMYx06dMhRV8uXzDt79qz3g8Eay7OOKKuapmmaXZH0d6iyTVJU533Ulrjq8u8KS9zTUHVqLN+aMTIs4tT9VWp6fyhHdcVdD84OccSVp1Hq2Fg+F2+H1Fh+99JPQQU/hkAnXpsudL1bfF89lLPzu0EoL1fdPJat0fhc97ZBnhCAlTVAY1VVVSUmJo4aNWrp13OunTng87jX9ViecvJbXarsii3dvo5tVdnm/RgEUqfG8p4PqE1j+bkyxmvixP/r1mkeq9aNVc1RXXF+eEeOH9/IsfDk+SG0pUm/P+qeOdj8n/+nCrRXbeexgh5PdX9r7pf3ffXqzi7QBiG9nG9jBbgey3edEYAoGqCxjh8/7pjEWrQgadPaVJ/Hg64VegJMUuzOaSzd1vp9WTcUWI2vedd9Dvn5rKpJ/eg/2PT3G+Y5SnJTU2u4Vngl8PVYxmuzdLM17nkp1yVeAa/H8ntUnjNyH4/uWrErxnAJuNDmv7G878wd7+fKqitXjP84LpS9dNdj+T+GQCfu90/SeMx+3y3VvbrnOANUqXuDkF7OT9YH/HeFjbgqCxBTAzTW8uXLR+n4PB64seyK5JyasiuSZxvHeqHPjBeNJbBafHeD73pNDRvL6wmcz+znQ9QtWHAEvK1/JX0i6Ba/GkVGNvLuIedBjQ/y0R7wqDzbuCeuAheP56nc/66w2rVC3RE2ioz0uvZcd5qGHwPtpf/jqXbtz++JB/qTrPbd4vvqgc7O6y80wImE9uYMchiGaT9mswAhhbuxbty4MXr06FGjRs2cOXN12orvN63z2SToyqDjEbsieW/jai4a6wkR5t+lE8qiEgAANRKm727Yt3rs8YzlF4szli2eO2rUqK+mTS27evZO6fn7ZVd9dg2yVui6wl2SZXdTOTnmt2isJwSNBQAQXTgaK2NR//OF2woyNqQuXeBYH9yXvfPnGxfvl5U+Kr8b/s9vWB+/ExoAILrw/U5o9wVYmzdvNvsTGqKjsQAAogtfYyUkJMyfP7+wsNDsj2c8AWgsAIDowtdYQOhoLACA6GgsWBGNBQAQHY0FK6KxAACio7FgRTQWAEB0NBasiMYCAIiOxoIV0VgAANH9/+3dO27bQBRAUW9rthMg02cjLNNkAalThF3gMkVaVyxSeR9OYZkcfmJLsSi9p5wDwRAkfqSKF/MIWWMRkcYCILvzNFYPZ6WxAMjOOhYRaSwAstNYRKSxAMhOYxGRxgIgO41FRBoLgOw0FhFpLACy01hEpLEAyE5jEZHGAiA7jUVEGguA7DQWEWksALLbq7F+fP6wePz+9e3yl2qS0lgAZHe5xpJZHE9jAZDdRRtr87Hata93k9rvfTVvT1e64bidhq4cvzGn01gAZBezsc6SL0ceZ9pst3A61zf6j2gsALLbt7Fev45Ga6zdYkhjnUxjAZBdisbq613p+q68TA+Hw9Nxu9kGpRtmE8CPX7rSzByXh99srL7elVrLYVY5nm+aXTZ7Te+OJ5le+vi9+ST7Dz5vhsYCILtrNtbjw/3jw/3q5fYGqecq6evYU83Tp75ubDAN/JoM6msbR/PU2ZwV9nUWcC+7bBx8dpbSDVsjR+tYJ9NYAGR3hcb69PXn4jF//y/rWBvjvK3QmSpqseVLjS1rZ510T6tlqtkq2OzgzRJXs8i2WLDSWCfTWABkd3uNNTbO7DhDV0o3PP9963RPJzbWvKg01jloLACyu5nGagd+4wCxOc7QlVLrOrHebKzlrHBx8HaqOJ7JrPC9NBYA2V36txseH+6PaKzFL1YdtY5Va1kP/Ba3qW/ddf5mY7UDwa2P0Y4LD8efvkJzv5h73k+gsQDILmBj/YOjFopWd7u/84yKaUcaC4DsrvA/oa/TWFu3Yu16Qt5DYwGQ3RUaawevJ8/zMO9MTXSYDCqsfWksALK7jcbi1mgsALLTWESksQDITmMRkcYCIDuNRUQaC4DsNBYRaSwAstNYRKSxAMhOYxGRxgIgO41FRBoLgOw0FhFpLACy01hEpLEAyE5jEZHGAiA7jUVEGguA7DQWEWksALLTWESksQDITmMRkcYCIDuNRUQaC4DsNBYRaSwAstNYRKSxAMhOYxGRxgIgO41FRBoLgOw0FhFpLACy01hEpLEAyE5jEZHGAiA7jUVEGguA7DQWEWksALLTWESksQDITmMRkcYCILvXL1V/AAw862jxGHloAAAAAElFTkSuQmCC" alt="" />
选择安装的 scala SDK 路径
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyYAAACpCAIAAABRW771AAAd+0lEQVR4nO3d/3Mc5WHH8f2l0/4J+QuSMpnOyTM3TeWW6Uz6ZULSSSCScINvkhTDQUkgQ0AyuAH5/B1sNDpPkZC/YIXzUWobcBzpbIxNAONzDE6QLPlOPsm2JGPv8a3NNEPbJE3UH/bbs7vP7u192fv6fs0zk729Z5/nuT1m9pPneXRWPrc5T6FQKBQKhUIJtSif25xfAQAAQGiIXAAAAKEjcgEAAISOyAUAABA6IhcAAEDoiFwAAAChI3IBAACErnTk+qvA6jZoAACA1kLkAgAACF3QyOV4qXn11VfFM6EPFgAAoHEURblw4YL7/IULFxRF8b82aOR68cUXV1ZWjhw5UmbkysQVRYln7GdWD8+X+kyeMnHFFLid+eHVVXUKAACwcuHChT/64z9xpC7pSbegkeuBBx5YWVnp7+8vP3KtXr1aDF3VRy798tByVJUjBAAAbcsRsALmrZX6RK7hzPBqK8PULHKFlo2IXAAAwJMZs4LnrZXqI9fvf//70pFrXkwxwuH88Gp9iTCeWVnJxM3JMHsdz3VJ8zgTV1bH46v1JUyrWY8GHW/aTgkLl7Z+AQAAdFrYCp63Virby/XQQw9NTU1t3bpVVdXFxcUgkcv3YGUlE9dzmZZyMvHVq/V5sXlxgszWoLiwmIkrYqQzwpJVw7tTyfoks1wAAMBPiJFLfPnwww9/9NFHKysrH3/88cMPPxwscpmzWMYZYS5Kn1Iy4lUmbq5FuhKXbfu8OQ3lmMSypqeMFOfbqXM6i8gFAAA8hbuw6HDrrbfedtttjpOyq8X4oqUbMf04so4WsLTZp/nh1fGMO3HJ81BZkcveKZELAAAEFvr2+SBkV9vjiz7JZK7xOaPN/PBqcUkxHo+7sk+pyOVcWDSWKj07ZWERAAAEUo8fiahN5NJDl3snu5GSxPwj/xGIkpFLbFb2t43uToXFSjOgsX0eAAA41OOnUN3ni8VigMjVJIS/hgQAAKi7zvg3FlkqBAAADVU6crU22+4xAACAxmj3yAUAANAEiFwAAAChI3IBAACEjsgFAAAQOiIXAABA6IhcAAAAoSNyAQAAhI7IBQAAEDo9chUBAAAQGiIXAABA6IhcAAAAoSNyAQAAhI7IBQAAEDoiFwAAQOiIXAAAAKEjcgEAAISOyAUAABA6IlflRgAAAEZGgsQGIlflRkZGGv2PBwAAgAYjcoWOyAUAAIhcoSNyAQAAIlfoiFwAAIDIFToiFwAAIHKFjsgFAABqH7lUNR1TTNFEVg10VTYRDVy5tYQTuTJxpXuoEELDFSgMdTfPYAAAaEohRS49PBk5qsZBSuyi+TVH5GqmiAYAQOcJN3KFlI2IXEQuAABaS50il3YQi0UVJZZWVTWbiBpLj7G0M5wJ78bSqvaudWrtQWHhMpZ29puImSua2nmrdixtVUvr7cXSVtPmJY4BmB8ieMwSySJXYahb7yCeWdHzUEY/ZyajTFwRK2nV4vFuRYlPWhEqE7cqyLu4d9JqSYlnxHYy7rF49GsOL56xrjCGKg6me2gobn/X6qJ7aIjkBwDoTHVaWNQ2eGmZRjvWk5ZVwxbO9OyVjkUTWdWoJO3CftLIVXoPqvsSvZr9ULxEMoCaR65M3B6SMnEzoUj2RdnSlT3lFIa6ZXFL3oUty7nS0spKJm7v2J7qXIcrmbgRymT5z/auflQY6laIXACAjhT29nlzmsoxiWXloXTMPpUkTIAJ01Dy/OTqV7KgKQzHFemkE3KuAQT51D4kkcsZPWyrflZYsqabhDkkKzZ1d3dLZpLEuSuPLoRj6yphWqtUv65j94FwXBjqtn04IhcAoBOFO8slPRkgctkDVhWRy7xWVbOJaPDIZeuuSl57ubS0Yy0sFqzT8Yz1v0Jmcc1UdXvNcfl34Yhc9iZK90vkAgCgbI2IXM6FRdtynrgEaVwbfGHRlZ/MVl0rmJ6XuAdQ+71cOiONCCt9ZuIxw4m11CgJNCUjjNCFV2yytxCsX/uxb+RiYREAgIZErqJtf7os/YhLe9aed2ulsWhuindvn3fmJ6OtaCwWbJbLPYBQ9nI5V/K0/ezCnnVrz3k87jfb5BFjZHvgjVf2nCauLRrTawH6XQkcuazBsH0eANCxmuXX51VVX2AMr4tGCfAjER2z3Oa93R8AgPbWNJGrupkkL4pLbdsPgshlcq1iAgDQKRofuYxVvJb5adNydXzkcq5cAgDQgRofudoe/6w1AAAgcoWOyAUAAIhcoSNyAQAAIlfoRgAAAIhcAAAATYLIBQAAEDoiFwAAQOiIXAAAAKEjcgEAAISOyAUAABA6IlflGv0XqQAAoELm0/yVV15JJpM7K5JMJsfHxwuFQpDYQOSq3Ag/hQoAQAsSI9fOnTuXl5crSwJLS0vvvPPOnj17glQmclWOyAUAQCtyRK4q80DAFohclSNyAQDQiohcLYbIBQBAKyJytRgiFwAArYjI1WKIXAAAtKJmj1yqmo4ppmgiqwa6KpuIBq7s3W9VLdR2PCbvyFUY6jbuU/dQwTqfiSvxjK1mJm6r4XhZAVcXhaHukm1adYINQN6m9NM5zgTuwqqsSG9l+cMrl3Tw1bdZ/cBqpDZ3CQBaUktELj2sGLmlNjFI2oX/yeqbrZ48chWGuhXhWV0YGhKe267HeM0jV5VJoaoByD5d9ZFLrxxaQvAcTwiZq9zb20wRDQDaSCtFrpBCTOtHrsJQt+9zujDUbXu79pHL1UVZqhuA5NPVLHKFlj+8m63qTpbZV23qAwACacnIpR3EYlFFiaVVVc0mosY6UCztDGfCu7G0qr1rnVp7UFi4jKXl/bradzSinbQaiqVt66H6S8/W9HcTMXP1tFgsmp/VcUMkkcsrcdkma3wylvnSWprUm3OeyMSV7ni8W1Hik873/LuwnTdaMOtk4kr3UEZvTww79tHo9YUFVO0td9fG3SiYbQ5Z43F9Sq+O7MfWyDO2RszOMj5diKfunRQWLvXx+9xJx7tl3CvZfVZk/6X4jM3rU/veOmN48Yx1hTFU+5c+FLe/6/GVAUBbaKXIZS4saoFGjyZqOmZmF6uGLZzpWScdiyayqlFJ2oX7pEf7zkY8LpSGRelo9cBnvK+WF7k84431TBaqeEQu5/SQUE2/PBM3n46yPVTeXYhtSp++inDotfPMPWwr7di7NgOiflQY6lbcjdiuknckLCw6Ri6mUsdV7i7c65O2On53UvKlGOOQrHrabqn9PntPhfp87/Lvy//WKe5D4YbJ8p/tXfdXBgBtoiUil8mcpnJMGunni8ViOmYPLMKUkt6AvX6xZOSStu9qpKinJY135PIdrddgRGXMctk4HuOyyOV4ytlmk6w5D3Eix/ncdXchmyeTTiBJFvKsKRRJ5LLnBFlIsSVR93jsg3J25Kix4vrsVudGf95dSL6gwHfS+a7HTfC7V5m40t3dLf1mrbkrjy6kU3f+t066Juv+rmXvSr8yAGgXASPXl7/8Za8DUbizXNKTASKXPWCFE7nMM6qaTUTrG7mCZi5xvU14mNmv1h6sxnqX/586CpWdXfgtLAaKXFbv5mj9ZobsXftHLvcfV3p3JB156cjl1UUFd9Lxrnih0W6Jj5CJK0p3d4n/RDy68PzUAW4dkQsAbFpilss3cjmX6rTcY1vIsy8jVrmwaOYqeyNmddfiZoDWZDWDLyyuuHbpaH+x6HhmCfuyPRbJrIrOZUSrG+dT0PaUtLqoOnKZ5+Qrd674YOvaf2HRPjK/jnxGLi4sSpbM7Nf7LiyWuJOOd4XGza5LfAT9uGSEEbrwik1l3bryIxcLiwDaWstHrqJtQ7pkrsi2tqjtlxKWAG0730tvnxc6tTdiLWFGY7GoXs1s1r+1GkSuFfu6jzw5iM902Y94WYtEzu3nxjnpqp9jOsYntayUegyvOB7jiqIo3fG4vU1x2c++WuYKZEZVj+3z9t3rro68Ry42UmoNzmOjuf46nilxJyXXafvZZd+T/CPYb6n0k0nHGnfF9vJuXQWRy+MrA4C20OyRqzKqqi/ZhddFo1T16/POXc8hsDba1/wnPQN23Si1/sjyj9Mxy22BVssBoJW0aeTymCIKzvw/8zUcVU20xj/40zHBwFKnj9wpd9a9OgsAra7dIpexbFf73yBtEs0eufS1pk56Wtb1I7d35JKsyAJA22i3yNX2mj1yAQAAGSJXiyFyAQDQimoYuRYXF3fv3h2kJpGrckQuAABakRi5du/effXq1cqSwOLi4p49e958880glYlclRsBAACtyXyanz9/fnh4eGdFksnka6+9duPGjSCxgcgFAAAQOiIXAABA6IhcAAAAoSNyAQAAhI7IBQAAEDoiFwAAQOiIXJW7cOHCyy+/vG/fvkb/oSsAAI3xd0/kyy1ffXK2Z9OFu3ecnZkP9NsKbYPIVbnnn3/+zJkzy8vLjR4IAACNUUHkuu3JmTs3nb9j4y/uffpco4dfV0Suyo2MjNy8ebPRowAAoGEqiFxa+cbG978+ONXo4dcVkatyI8Jv1wIA0IEqjlxa8Wo2l8sdPXp09+7dlf0ofKiSyeSBAwfeeuutcu8VkatyRC4AQIcLKXKNjY2dPn16cXHxZvNZXFw8f/78/v37p6bKm6UjclWOyAUA6HAhRa6nn376+vXrN5rY5cuXR0dHy7pXRK7KEbkAAB0u1MjV5Hbu3FnWvSJyVY7IBQDocCFFrqeeemq56RG56ofIBQDocOFFrqWmR+SqH2nkOj1yt6Nc/Fm6/mMDAKAOwotc15oekat+AkYuUhcAoF2FFLl27NhxtemFGLlUNR1TTNFEVg10VTYRDVzZsxGr51haVe0jUaKJrDBCvS9VzSaiihILMesEj1zS4vExY2nVdq+yiahi46yQn0gOprJqfiI5mJzIV3Wfq1fNMFQ1m0pO5NX8RDKVNT6jmk0NDlovNfmJ5EaBo4KaTWnnkxOe/2FnU4MbN24cNIZqNqg15RhJNjXo0xQAdLLwItdCKfPz+9coirJmv/3Mqg2n5kteWxNhRy490Bg5qsYPeLEL62Q2ETVyhppNJNKqPVqlY4oercTz2lFth+dQw8hlBMRYzJWoRNlE1PGh1PxEMjmRr/UX0RCOoKOq+Ynk4GAqlXJFLpF2A2yNmLHJI/y5I5R2je9IGh9nAaAJhRS5tm/fPl9KobBvjbJq1Splzb6CeGbD64WS19ZEnSKXNBtVTx659HOqVzUzk5nntRO1HZubT+Tyv9BzlktN+0Qu6buOwNHS5LNcRoTyvMQ1xTWY0lOp9OYYvdinElO2ROUeidgsAMDkTlG55f9ecXl79r/KjVyXS5mb23un0vX43se7uh4/OTdnnTk5V/Lamqh35NIOYrGovuQnLIPF0s5wJrxrzFoJp9YeFJYLhcCkzWOJszvOyGVlrnRMiSYStojmTmy1Uu/IlY45p7iE2RdxUkdbNdu4ceNgKqvNFaWseKrVUsU69gYllbX5Jtu622AylUoODqbO3sxNJPWmUlnb3JJ5lfaWNciJ0gt/wpB8I1c25WhEjFnSnKRmU4OpVEr7ONqnU/PmR/AaUjvNJgJADblT1N3JK7/53R/EvPWrz/6vd3uh3Mg1V0o+P9andD12Qv8f8czc3Fz+xGNdeqToG8vnx/qUvrG8pE7fWMmOvNR7YVHMQ6qxF6kobOFyhDM9e6Vj0URWNSpJu7B3rSczd4wrOiOXVU1/t/ki18U3Dr53dJf7vE/kUlVtUVF1nDTjiHsdTRXjlZE8JCtojqtclW0pSp8hyqYG9bU5R6yxOjU2YRWFDV7aSa2+dJOW9IN7RS7pel+gyCVkU9eipHwB0T/5AUDHkgapsRMfipFr0799UO7C4rZt2/Kl5HJjfUrX+uM5n4N8Pp8b6+tafzynZS7tZVdX1/rj+Xz++Hr9oDJ12z5vTlM5JrGsxKDHBzPyOPaBx9KO+kXvyKW/q2+IV2WRS0h16Rps2A8ieOT63k/nHeXiGwfd1/pFrmwi6loq9Ypc5v7xQSvoiLvCJXXcbZqVxckqY+bMOZVlpRwzcunzZXrLkvTmnW+8PqPzrfxE0pWogs1yZb0qeO2UZzsXAEhJg9RXBufM5UWvJcWSketSKbOzo71K18Dk7KVLl2ZHe5XeUfPM7ORAlxg5ekdnJwe6ugYmZ2dHe7sGRrVj/VTJjrzUaZZLejJA5LIHrDIjV1GbXYulS+7lkv7pX80Fj1xf2X3KUe779/dH3pxzVPOJXNlEVJy6M+pLIpeZdcSUoB2ZcURax+RV2d6v7SrtL/7EUFWHyKXttHLWL7mXq1TkcrfpPwwA6GReWUpbXvRZUvSPXFu3bp0tZWZmtFeJDEzOzM7OzsxMDkSU3lH9jP5qZkaoPDkQiQxMjvZGBiZnJgcivaPaCaFOuRoauZwLi/YYJNmSFWhhUU0nxN99MCKVrFPp0mcTLCy6Z7kWlm+u/8lFRzUxcrl+8EK63irZy2XfgCXMRSVTKXEzuKuO1ayjsrCMaPQrSUvGZievhUXnXxFWELnsl9vCoixxytt33CDbMqv3L1ywlwsApHzi1NiJD32WFEtGroulTE+P9CiR/olp/eVEf0RRFCXSPzE9PT3SoyiR/gmx/kR/JBKJaCcn+iM9PT3asdmO+8B/AI2MXEXbBnnJ3zba1hatn3Wwbbc3d2PZu/C8SrGtMNoGo0W8s+m19Y9ctt9BfePgDyfytsh1rFBylssVK+WzX9ZclD1JbNy4cTCZSiXFgDJoze7I6gjDsFUu2jfCOxcWrQVKV6iyNt1LYlbVkcs27SQdknS+yjYwbVeZmk3Zt/lLLuEvFgFAJqQfidiyZct0KVNTz/YokUePTZlnjj0aUYwzU8cejZhJoedZ44z4rnFstOM+8B9A0/36vP9f4bW0gJHrvaO7Rk+cESPXwfeWajUGc/aFla/wsJELALyEF7neb3rNF7mqXtdTXGo4vGoE/2etb6rFH7+79Ehm/pHM/I/fXbpZ02e3vjxmTHLVsunWJ85guX+nPiBtiTSM4QFAqwsvcv2y6TVR5DKWEevxx4MNETxyhUpbJhsMsEgHAEBthRS5Nm/efKHpNVHkantNErkAAGiU8CLXe02PyFU/RC4AQIcLL3K929zOnTs3PDxc1r0iclWOyAUA6HAhRa4dO3acPn36503s0KFDhw4dKuteEbkqR+QCAHS4kCLX4cOHx8fHz549e675nDlz5siRI8lkcm7O+WNP/ohclSNyAQA6XMVh62uDM7c9OevV7NLS0gsvvLCzKT3zzDPj4+O5XK7ce0XkqtzY2NjCwkKjRwEAQMNUHLm+tfncP27+eaOHX1dErsq9+OKLr7zyygcffNDogQAA0BgVhK3bnpy5a8u5rw1efPbl9xs9/LoiclVuYWFh7969IwAAdKoKItffP5Hr2/zu+LFfNPoxXm9ELgAAgNARuQAAAEJH5AIAAAgdkQsAACB0RC4AAIDQEbkAAABCR+QCAAAIHZGrQv96YnHwyNX7xhe+s/fKXc8VKBQKhULpwPKdvVfuO7Dw+EtXdry68MY0vw3uh8hVoQ2HrsaeK6wZmV+99VJ0U45CoVAolA4sX9qa+5tdc2tGC9/df3nrq9ca/XBuakSuCn17X+Evt+f6X1wYee3a3lOLFAqFQqG0QbnlyevllSeW//RH1z7/L/M/PLjw0AvzwR+juVzu6NGju3fvbvS/Ul22ZDJ54MCBt956q9zkQOSq0F3PFaKbcmOvX3t75gaFQqFQKO1Rvpj4sIJyyxPLf7197jv7yohcY2Njp0+fXlxcvNlqFhcXz58/v3///qmpqbKSA5GrQlrk2ntq8e2ZG40eCwAAtfFnmz4tt3wx8eEtT16Pbsrd9VwheEdPP/309evXb7Ssy5cvj46OlnVviVwVInIBANpPnSNXS9u5c2dZ95bIVSEiFwCg/dQtcj311FPLLY7IVSdELgBA+6ln5FpqcUSuOvGKXKdH7naUiz9LN2qQAACUpZ6R61qLI3LVSfDIReoCALSKukWuHTt2XG1x4UYuNR1TdLG0qga6RE3HlGgiW6Kyo2VVeK0oSjSRdbemqtlEVFFijUkzZUUuaalyAAFvbMBGgrRmfiXm12FrKh0T/6swv8AglQEATaKekWshmPn5UxtWGYFg1YZT8/MBLwxbiJFLzSaixmNSzSYS6ZpFLnfL9miVjil6tBLPa0dBxhCGTotc5jfurmlk31jM/BLVdMyKziUqAwCaR90i1/bt2+cDKLy+YZWirNlXMF9uMI6DKxT2rVFWbXi97Av9hRm5jKdzWR0Eilyulh1XmZnMPK+dKGskteUfufyvbcXIJVySTUQlNc2YVdS+UOPb0Wr7VAYANA93opr+4HcrLidzv6k+cl0uZW7u5ONdyp1750rWLNXO3juVrsdPVtuOQ5iRS03HXOtE+qSFsSJYFJafpPNS4ls+LTsjl5W50jElmkjYIlplWbBK1USu6defv3TmsHjGfRtrcmM9GzdOWLfSlr38lmu90pJ4XoxZYvwq2QgAoLHckevrI7/639/9Qcxb//nZH27d9R/VR665UvInHutS+sbyeef5/Fif0tXX16UofWP5fP7EY136U06vPNanCCesV0rfmNGsrX5lQt7LZTyrxVgg36zjPX0inVBxtewTuaxq+rutELk+vL78Ue7ix+++88lrP7n57GBx84OfPPJP5ruOXFLDGytrXN9IVSwWs4moYmtNv88+H9xrPZfIBQBtQLp0uOvkZ2Lkevjwr6tfWNy2bVu+lNzx9V1d64/ncs7zubE+Relaf9w47lp/PJfP53NjfdpJoVrX+uM5Wx3v+uWqx18sGtvWVXEPlvWuNeXiTAaOt/xalkQuobW0Fkga+cAuK3L99vu9v/3eN//nn+/47L47fh2//Vf3fOPTe27/eN3tZgXVyD7Cy8pvrH1WS5U0biRUR4CLRh1jsBop+gbBIpELANqCNHJ1bbGWF8UlxSoj16VSZicHupTe0dlZ5/nZ0V6la2By1qgj6B29dOnS7Giv8bprYHK2ZP3K1OlHIvRI4EoGwqYre0jKqu63/FoutZer4X/yVl7kkuatHzqraSFHmmVrc2PNxuWRS4lGPXfI+TdetKco9nIBQIvy2iOvLS86lhSriVxbt26dLWVmZnIgovSOzrjOj/YqkYHJmdnZWaOKVcc8MzMzORCJDEzO+NevWKjb5xPirzOYT3vbHizzCW5WEUOS/S3flp1/sehecHT3UNYnr1JZkWvhwbW/fGDt29//9uT3v5t+8J6h++4a3/XE5cuX3c0acag2N9ajcZ+FRdVz3dA1WeWaiRQilzsie1cGADQPn79M3HXyM8eSYpWR62IA0yM9iqL0jEzrLyf6+0emp6dHepRI/8T0xYsXp6dHehQl0j9huyTSPzE9PT3RH9GPfOtbFzgP/McW+vZ5xzZt8aS1iKUoSjQWc0zGuN7yadn+u1yOR7X1Utt1fza9ttkil1hy2aOzZ1/NvDSS3PbYhvtj29bduWdd38vr+s7eHzOvcv/gWU1urGfj1o9mubfPWzFMbMRaZrTWL/1SlNmFx+Y8IhcANKO6/UjEli1bpoOZOvZoxHz8RB49NjU1NfVsjxJ59NiUpELPs1Pm60hPT0Sv9myP/q6svt6a+8B/YPz6fJ2UE7l+8ulj6z75wV2f3Nfz8brbi+tuv7nujg/WfXP5nt5GDR4AAKl6Rq73W1ybRC7FQ6PHZSnrn7W29m8JeetavK8O4wQAILh6Rq5ftrg2iVzNr6zI9ekDaz4eiBcTj6i7Bm/u233jpy/fPH9WXVqswzgBAAiubpFr8+bNF1ockatOyopcAAC0hHpGrvdaHJGrTohcAID2U2nkWv6LLbnY3vIi17ut7Ny5c8PDw2XdWyJXhb6998qXtlwamrz29swNCoVCoVDao3wx8WEF5Qs/uvLV4cKDqSvBH6M7duw4ffr0z1vWoUOHDh06VFZyIHJV6AepK/8wfPne/fOjJxf3nqJQKBQKpR3KLU9eL688sfyFH139/IbLa8fmN716Lfhj9PDhw+Pj42fPnj3Xas6cOXPkyJFkMjk3N1dWciByVWjz0avfem7h1u256CYKhUKhUDq0/Pnm/N/unIuNFfpfurLnVBmRa2lp6YUXXtjZgp555pnx8fFcLlduciByVeild5aeOLxw/4GFu54rUCgUCoXSseX+AwuDR648d/La3OLNRj+cmxqRCwAAIHRELgAAgNARuQAAAEJH5AIAAAgdkQsAACB0n9uc/39HAu1gK3BbfwAAAABJRU5ErkJggg==" alt="" />
add maven 支持
aaarticlea/png;base64,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" alt="" />
再新建一个maven module
aaarticlea/png;base64,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" alt="" />
编辑Pom文件
父级Pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.rihai.spark</groupId>
<artifactId>spark-streaming</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>hdfs-streaming</module>
</modules> <properties>
<scala.version>2.10.1</scala.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.10</artifactId>
<version>1.4.1</version>
</dependency>
</dependencies> <build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
子级Pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spark-streaming</artifactId>
<groupId>com.rihai.spark</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>hdfs-streaming</artifactId> </project>
pom 说明:
maven编译scala,需要一个专门的maven-scala-plugin。该插件可以编译java 和 scala。
项目结构图:
aaarticlea/png;base64,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" alt="" />
然后在main文件夹下,建一个scala文件夹,File->project structure 设置scala文件夹为 sources 文件类型。
aaarticlea/png;base64,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" alt="" />
一个spark 项目就创建好了。
streaming代码示例:
spark streaming 简单理解就是分批次处理数据源的数据,然后输出到外部数据源。最大优点是可以做到秒级实时处理。
streaming 数据源可以为:文件系统(hdfs),kafka,flume等。输出方式有:文件系统(hdfs),databases等。
上两个官方的图来直接说明问题:
aaarticlea/png;base64,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" alt="" />
分批次处理:
aaarticlea/png;base64,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" alt="" />
在本例中以 文件系统 作为数据源,实时处理用户访问的日志数据。
假设日志格式如下:
用户ID,页面ID,数值(暂无意义),访问时间
U86942038,P68658056,1,2016-09-27 15:17:01:137
U25452627,P27395813,5,2016-09-27 15:19:43:901
数据源目录的日志会不断更新,streaming 程序会定时处理该目录更新的日志数据。
处理需求如下:
- 每隔20s统计出该批次 用户-页面访问数据
- 利用窗口计算:每40s统计出前40s 用户-页面访问数据
- 利用updateStateByKey:统计出所有批次 用户-页面访问数据
创建一个scala class ,如图:
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANoAAAA6CAIAAABZO9AOAAAHf0lEQVR4nO2b32/TVhTH/V8Vv/MwialsMATrABHITBlssDZTJUTJJKRRraoFG2olEKBV/TEm2gRCHZG1q5p2DI1sCCTaJqRdpSiFpm2aVEDpyuQ9OLF9f9i5SZzYNeer82Bd+557an96z72OD7fjm2mr7OvBP0j7RPzbwiHA3GTXrl27jYqz0DsVR6pVOVCDLxWV3/Z2PbP9hoJVY6VxDDxck2kKPFwr6R1wBCvLSuN45PI8Fccjl+dLemdBDXAEU40pWZMTJMvUuKNSHBt8yd6lwkDRvmfUFv/TYihPUztQHLFTYNvImHDc2T47k9rQ47izfZbFe4U49uX1JCksLowmyb4qheTsCPPldjTWrUzH7UWVxY7bi4zeK8SxK7Mga/w1dGUW5Lzfh4DV0JcvhoPjiJ2y/RaDsVsZO2tlgtz49z9279WsHQ+PvlVSM4mj2tLgS/YuITiSp2y/xWDsVgaOyp6GZQejWpVbmcOjbxdGk2SybujLy0uZwz4FPhRH4pTttxiM3cp778iephWr7EWPLtsWJsUGXypabIr2PdN2Nkv5KDY7Eqdsv8Vg7OaS1+Bg7rDa4ggGVpYBjmAOMsARzEEGOII5yCg4Un+hBoHqIMAR5CABjiAHCXAEOUjOxXGs+yhm84/u2B0UqLbaTjgCka7XNsORavWLKSHyHC8mZFmWhMIB4/UWymToklHpLpAEjuOsj6461RbHe/fuDdEUCoVK9nUijprYcKz30Ow4SgLHCVJN4qtGtcUxnU5TcUyn0yX7sqAGODKfwi6wMX4z1TxZRyIRjMVIJMLSUUVtenHNH4z5g7HpRbxkxwDHhMhzigoTgNagTgmSwPGiVGgXJO0S4ilJAscLAs9xwgj2OIvd1S5KAtQNQz51LLYy/NBiwKY4ujd1TF4UBY7vimvueTFBuV32qeY4rq+vDw8PqywODw+vr6+zdFRR8wdjykdo/mDM6BqdyPWaLjEhiz+OPKQlMUng9Asuaneyi8EkJAkEQEU/lIUmMhwaQ0LkSXqoUWlHCZHnyMDwkOxUPbYyU1NTKo6Tk5OMvUgczwcYcCQfE9pSvPl6UIyOTc4adMHmHdKbjghyOA0MMz+SwPE8fYtEiyoh8sgIhEM8JDtVDxw3NzcDgYAyNW5ubjL20pJ1eu18IPZt8K/pNEOythFHbSAVAfoSTcmORBjF/iX8SALH8TxlbqwQRzwkO1WnFz2PHz8eGhp68uQJe5dKtzIlk7WawsxxNJ8IaY1qG+V9EOXxF/sUT6ixmfnRjtE52TxU02SNh2Sn6vfecXR0tKzrq3jRQ+wEtMV6yRmxChy1LYMg4LOaDlkkNHWPot9JmPghhuPFOPMSQtnKUNaOTtnJwGtwm+XQFy52ybk4vh8CHBEBjvYKcEQEOIIcJMAR5CABjiAHCXAEOUiAI8hBcjmO7zZyS3/2zg+3zQ2enBs8+U/wbOZR/7uNnN1xgehyM475uejcz6dehs/lpjrzD7ryD7pyU50vw+fmBk/m56Kl+4PqLtfimE9OJAdPZKMXc79/j1k2ejE5eCKfnLA7RhAud+K49Sb7vF/ITlzITX5HtezEhef9wtabLNpP+/nWik+urH7FXVnlTT1/kq66NsidOGYe3lwMteYmLig20Nn8+aGPvZ99NNDZrDYuhlqXHlxH+2kAWVF05YBfXPQf1yVEEf+kzXFyJ45zv5zJjrWvjfvXxv2xgdZTnj2r4/7Vcf8pz57YQKvSnh1rT976Eu1n/uFjuXLAg6eE4ICojOVOHBM3D66NnVWss60pcElQju/+cLyzrUk9Fb/RhPaj40hJd2j1if6zauzjMfzBU6p2SnijfRUmCUqzaU0MUdWA/CmcIOlLcCRK/PSSHdMCowoiROROHOPXP83+2qZYh+9A8JJXOR75UbjYekA9lbhxEO1nnqyZP2iVBPRzXL0HetUOzZvJEJJWtFWiJkZWEUBq1vQfluMkqfHT/3DyEI2hggg1uRPH5MDx1fCZ7P2W7P2WSLf39NHdyvHpo7sj3V7leDV8Jtl/HO2n38roFv5Y5Qr1c3/dtKefe5A7Ti2TMPJmVlHAXoSgH9q0KoMSP/GHV/nNsnmEsiy7FceXU92pW57V8FeKdbTs8zbt8hzY1dGyT21M3fK8iF5B+xmlV7RyxRBHo3pC0lXhdP1w1AY3wdGoxsioZAdwZNPWq+XZq3szoeaVkS+olgk1z17du/VqGe1Hu0f0yhV6ejXIcfoWatVOBcmaigLRRRL1KZtYQhglbpM/vAoc39tkLctybiYc72nM3PGuhATMMne88Z7G3EyY6ET9lyUrV6jVJ2i+K8xDmnRrUnx9T/dmVuBSVk0MvvooNJHLCTx+xpIdamDsESJyLY6yLOemR2Z7GlP9+5eDnpW7x1buHlsOelL9+2d7GnMzFr0SplbfW+utgiGsjaoWMojQzTjKsrz1euXFb2L8ZtP0lQ9muj9M/HToxfilrdcrVvknM7Tl3ioYwtqoaiGjCF2OY22EZ7UaeKtgCGujqoVKRwg4ghwkwBHkIAGOIAcJcAQ5SIAjyEEicfwfOA5wiXlILLEAAAAASUVORK5CYII=" alt="" />
streaming代码:
package com.rihai.spark.hdfs import org.apache.spark._
import org.apache.spark.streaming._
import scala.collection.mutable
import scala.collection.mutable.ListBuffer /**
* Created by rihaizhang on 2016/9/26.
*/
object PageLoggingStreaming { def createContext(appName: String, timeUnit: Duration, checkpointPath: String, dataPath: String): StreamingContext = { println("Creating new context !")
val conf = new SparkConf().setAppName(appName)
val ssc = new StreamingContext(conf, timeUnit)
ssc.checkpoint(checkpointPath) //e.g.
//U86942038,P68658056,1,2016-09-27 15:17:01:137 val lines = ssc.textFileStream(dataPath) val page_user = lines.map(line => { val strs = line.split(",") (strs(1), strs(0)) }) //单次page-user
val p_u = page_user.groupByKey().flatMap(s => { val set = new mutable.HashSet[String]() for (user <- s._2) {
set.+=(user)
} val listBuffer = new ListBuffer[(String, String)] for (elem <- set) {
listBuffer.+=((s._1, elem))
}
listBuffer.toTraversable
})
//p_u.persist(StorageLevel.MEMORY_ONLY) // window page-user
val wp_u = p_u.window(timeUnit * 2, timeUnit * 2).groupByKey().flatMap(s => { val set = new scala.collection.mutable.HashSet[String]() for (user <- s._2) {
set.+=(user)
} val listBuffer = new ListBuffer[(String, String)] for (elem <- set) {
listBuffer.+=((s._1, elem))
}
listBuffer.toTraversable
}) val updateFun = (newValues: Seq[Iterable[String]], prevValues: Option[Iterable[String]]) => { val set = new scala.collection.mutable.HashSet[String]() for (user <- prevValues.getOrElse(Iterable[String]())) {
set.+=(user)
}
for (value <- newValues) {
for (user <- value) {
set.+=(user)
}
}
Some(set.toIterable)
} // updateState page-user
val sp_u = p_u.groupByKey().updateStateByKey[Iterable[String]](updateFun).flatMap(s => { val listBuffer = new ListBuffer[(String, String)]
for (elem <- s._2) {
listBuffer.+=((s._1, elem))
}
listBuffer.toTraversable
}) sp_u.checkpoint(timeUnit * 8) //print
p_u.print()
wp_u.print()
sp_u.print() ssc
} def main(args: Array[String]): Unit = { if (args.length < 2) {
System.err.println("Your arguments error !")
System.exit(1)
} val time_unit = Seconds(20)
val checkpointPath = args(0)
val dataPath = args(1) val ssc = StreamingContext.getOrCreate(checkpointPath, () => createContext("page.logging.streaming", time_unit, checkpointPath, dataPath))
// val ssc = createContext("page.logging.streaming", time_unit, checkpointPath, dataPath)
ssc.start() for (i <- 1 to 10) {
println("loop-" + i)
Thread.sleep(1000 * 20)
} ssc.stop(true, true)
//ssc.awaitTermination() System.exit(0)
} }
调试:
先用本地目录来调试
配置run configuration ,设置checkpoint目录和数据源目录
aaarticlea/png;base64,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" alt="" />
运行,然后手动往数据目录增加日志文件,如下图。
aaarticlea/png;base64,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" alt="" />
spark streaming会自动识别新增文件,并读取。
运行结果
Creating new context !
loop-1
16/10/11 18:35:40 WARN SizeEstimator: Failed to check whether UseCompressedOops is set; assuming yes
-------------------------------------------
Time: 1476182140000 ms
------------------------------------------- -------------------------------------------
Time: 1476182140000 ms
------------------------------------------- loop-2
-------------------------------------------
Time: 1476182160000 ms
-------------------------------------------
(P68658056,U86942038)
(P27395813,U21453697)
(P27395813,U12142025)
(P27395813,U26712632) -------------------------------------------
Time: 1476182160000 ms
-------------------------------------------
(P68658056,U86942038)
(P27395813,U21453697)
(P27395813,U12142025)
(P27395813,U26712632) -------------------------------------------
Time: 1476182160000 ms
-------------------------------------------
(P68658056,U86942038)
(P27395813,U21453697)
(P27395813,U12142025)
(P27395813,U26712632) loop-3
-------------------------------------------
Time: 1476182180000 ms
-------------------------------------------
(P68658056,U86142038)
(P27395813,U21453697)
(P27395813,U26941232)
(P27395814,U12142025) -------------------------------------------
Time: 1476182180000 ms
-------------------------------------------
(P68658056,U86142038)
(P68658056,U86942038)
(P27395813,U21453697)
(P27395813,U12142025)
(P27395813,U26712632)
(P27395813,U26941232)
(P27395814,U12142025) loop-4
-------------------------------------------
Time: 1476182200000 ms
------------------------------------------- -------------------------------------------
Time: 1476182200000 ms
-------------------------------------------
(P68658056,U86142038)
(P27395813,U21453697)
(P27395813,U26941232)
(P27395814,U12142025) -------------------------------------------
Time: 1476182200000 ms
-------------------------------------------
(P68658056,U86142038)
(P68658056,U86942038)
(P27395813,U21453697)
(P27395813,U12142025)
(P27395813,U26712632)
(P27395813,U26941232)
(P27395814,U12142025)
本地目录调试OK,接下来用hdfs目录来调试:
先写一个日志生成程序,定时往一个临时hdfs目录写入日志文件,并移动至最终目录。先放临时目录的原因是为了保证其原子性。hadoop 的开发可以参考 hadoop 开发&调试
临时目录:"/user/rihai/logdata/tmp",最终目录:"/user/rihai/logdata/"
代码:
package com.rihai.hadoop.hdfs; import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*; /**
* Created by rihaizhang on 9/7/2016.
*/
public class CreateLogging { private static List<String> usrIdList;
private static List<String> pageList;
private static int usrCount = 100;
private static int pageCount = 1000;
private static int scoreMax = 5;
private static String tempPath = "/user/rihai/logdata/tmp";
private static String mainPath = "/user/rihai/logdata/";
//private static String tempPath = "hdfs://master:9000/user/rihai/logdata/tmp";
//private static String mainPath = "hdfs://master:9000/user/rihai/logdata/"; public static void main(String[] args) throws InterruptedException, IOException { buildUsrIds();
bulidPageList();
bulidLog();
System.out.println("正在运行");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
System.out.println("运行结束");
} /**
* 生成日志
*
* @throws InterruptedException
* @throws IOException
*/
private static void bulidLog() throws InterruptedException, IOException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
SimpleDateFormat format2 = new SimpleDateFormat("yyyyMMddHHmmss");
for (int i = 0; i < 100; i++) {
StringBuilder sb = new StringBuilder();
//build log
for (int j = 0; j < 100; j++) {
if (j > 0) {
sb.append("\n");
}
int pIndex = GetRandom(pageCount);
int uIndex = GetRandom(usrCount);
int score = GetRandom(scoreMax) + 1;
String datestr = format.format(Calendar.getInstance().getTime());
sb.append(String.format("%s,%s,%s,%s", usrIdList.get(uIndex), pageList.get(pIndex), score, datestr));
}
String fileName = String.format("log_%s.txt", format2.format(Calendar.getInstance().getTime()));
//send to hdfs
System.out.println("准备写入");
SendToHdfs(fileName, sb.toString());
//sleep
Thread.sleep(1000 * 60 * 2);
} } /**
* 发送Hdfs
*
* @param fileName
* @param content
* @throws IOException
*/
private static void SendToHdfs(String fileName, String content) throws IOException { HdfsUtil hdfsUtil = new HdfsUtil(); if (!hdfsUtil.exists(tempPath)) {
boolean result = hdfsUtil.createDirectory(mainPath);
if (result) {
System.out.println(tempPath + " 创建成功!");
} else {
System.out.println(tempPath + " 创建失败!");
return;
}
} String tempFileName = tempPath + "/" + fileName;
String newFileName = mainPath + "/" + fileName; hdfsUtil.createFile(tempFileName, content);
System.out.println(String.format("写入%s成功", tempFileName)); boolean result = hdfsUtil.renameFile(tempFileName, newFileName); System.out.println(String.format("移动至%s%s", newFileName, result ? "成功" : "失败")); } /**
* 随机生成页面
*/
private static void bulidPageList() {
Random random = new Random();
/**
* e.g.
* P93002432
*/
pageList = new ArrayList<String>();
for (int i = 0; i < pageCount; i++) {
int temp = random.nextInt(100000000);
pageList.add(String.format("P%08d", temp));
}
} /**
* 随机生成用户
*/
private static void buildUsrIds() {
Random random = new Random();
/**
* e.g.
* U00234999
*/
usrIdList = new ArrayList<String>();
for (int i = 0; i < usrCount; i++) {
int temp = random.nextInt(100000000);
usrIdList.add(String.format("U%08d", temp));
}
} /**
* 取随机数
*
* @param max
* @return
*/
private static int GetRandom(int max) {
Random random = new Random();
int temp = random.nextInt(max);
return temp;
} }
package com.rihai.hadoop.hdfs; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.io.IOUtils; import java.io.ByteArrayOutputStream;
import java.io.IOException; /**
* hdfs 工具类
* Created by rihaizhang on 9/6/2016.
*/
public class HdfsUtil {
private Configuration conf = new Configuration(); public HdfsUtil() {
} public HdfsUtil(Configuration conf) {
this.conf = conf;
} /**
* 检查文件或目录是否存在
*
* @param path
* @return
* @throws IOException
*/
public boolean exists(String path) throws IOException {
try (FileSystem fs = FileSystem.get(conf)) {
return fs.exists(new Path(path));
}
} /**
* 创建目录
*
* @param dirPath
* @return
* @throws IOException
*/
public boolean createDirectory(String dirPath) throws IOException {
try (FileSystem fs = FileSystem.get(conf)) {
boolean result = fs.mkdirs(new Path(dirPath));
return result;
}
} /**
* 创建文件
*
* @param filePath
* @param bytes
* @throws IOException
*/
public void createFile(String filePath, byte[] bytes) throws IOException {
try (FileSystem fs = FileSystem.get(conf)) {
try (FSDataOutputStream output = fs.create(new Path(filePath))) {
output.write(bytes);
}
}
} /**
* 创建文件
*
* @param filePath
* @param contents
* @throws IOException
*/
public void createFile(String filePath, String contents) throws IOException {
createFile(filePath, contents.getBytes("UTF-8"));
} /**
* 追加文件
*
* @param filePath
* @param bytes
* @throws IOException
*/
public void appendFile(String filePath, byte[] bytes) throws IOException {
try (FileSystem fs = FileSystem.get(conf)) {
try (FSDataOutputStream output = fs.append(new Path(filePath))) {
output.write(bytes);
}
}
} /**
* 追加文件
*
* @param filePath
* @param contents
* @throws IOException
*/
public void appendFile(String filePath, String contents) throws IOException {
appendFile(filePath, contents.getBytes("UTF-8"));
} /**
* 删除文件或目录
*
* @param filePath
* @param recursive
* @return
* @throws IOException
*/
public boolean deleteFile(String filePath, boolean recursive) throws IOException {
try (FileSystem fs = FileSystem.get(conf)) {
boolean result = fs.delete(new Path(filePath), recursive);
return result;
}
} public boolean renameFile(String sourcePath, String targetPath) throws IOException { try (FileSystem fs = FileSystem.get(conf)) {
boolean result = fs.rename(new Path(sourcePath), new Path(targetPath));
return result;
}
} /**
* 读取文件
*
* @param filePath
* @return
* @throws IOException
*/
public String readFile(String filePath) throws IOException {
try (FileSystem fs = FileSystem.get(conf)) {
FSDataInputStream input = fs.open(new Path(filePath));
//byte[] buffer = new byte[input.available()];
//input.readFully(0, buffer);
ByteArrayOutputStream output = new ByteArrayOutputStream(input.available()); IOUtils.copyBytes(input, output, conf);
String fileContent = output.toString("UTF-8");
return fileContent;
}
} }
运行CreateLogging 程序:
aaarticlea/png;base64,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" alt="" />
重新配置PageLoggingStreaming 程序的run configuration ,设置checkpoint目录和数据源目录
aaarticlea/png;base64,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" alt="" />
运行结果:
aaarticlea/png;base64,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4jqudVbnNR15X/vFwRp725L/AAAAXJOj/He67EL5gYYv9tad1V7Ozc6T8198fPzp03Y/9lWQ/wAAAFyTo/zXca2r7LO60o9rTh4523D8QvahnISEhKOlld2dPaOmNPIfAACAa3KU/27evHm+tqXog+q8/zleldtYX36u7qtz9V+dq8iqH4vK734AACAASURBVDWlkf8AAABck6P8V1JSYjQazxxtzvufqqzYirSYL1O2f5EaU5a52+5tHwryHwAAgGuym/8uX74cHx8vx7jzNS3571Ud/u/jh3cfz9l9/FBs+agpjfwHAADgmmznvxs3buzfv1++26OkpOTmzZsdVztPFf+1+OOTBe9VnT56YdSURv4DAABwTbbzX1VVVWxs7P79+y9dujS+lEb+AwAAcE028t+1a9c++OCDqqqqGzdujDulkf8AAABck438V1NTc+3atQmmNPIfAACAa3J0/+9EkP8AAABcE/kPAADAvZD/AAAA3Is75r833nhj4pMAAAA8pmZy/tuwYYPwwFtvvaXU9+3bN+nHsbe3t7KyctWqVZbFvr6+wMBA5WVYWJjcTHBwsFwZGhqKjo729PTcuHGjXKmpqQkKCvLx8SkrK7M3xplKRUWFv7+/r6/vsWPH5IrRaFy0aNGCBQtu3LgxkQoAAHjczeT89/777w8ODgqCIIriJ598MnUHUZIkvV6/cuVKQRAsi1u3brWsaDSakZERs9nc1NQkV3JycqKjo00mU35+vlwJDw+/deuWVqv19va2N8aZire3d0NDQ11dnY+Pj1zZvXt3YmJiRkZGbGzsRCoAAOBxN5Pz39WrVyVJkhNYR0eHJEnDw8M3b948evSoMqazs9OZqcLDw50ZZpn2tFptRESEZaWvr0+SpKqqqvv378uVsLCwtrY2yxni4+MlSTKbzX5+fvbGOFN54YUXenp67t69O2/ePLkSEhLS1dXV09MzwYqak8cQAAC4iJmc/2SWCaywsHD+/PlK5fDhw4Ig7NixIzw8fNu2bUuXLpUk6fLly/Pnzw8KCjp37ty41+rt7d2wYcPAwIDVGUFRFIuLi5WX3t7eiYmJc+bMKSwstBym0+nS0tLsjXGm0tzc/Nprr8XFxV28eFGueHl5iaIoiqKXl9dEKlZsHsNPP/109uzZc+fOXbt27RgPIQAAmHLulf+sKiMjI4IgtLW1/eAHP7h+/bpcf+WVVy5cuNDa2vrqq6+Oe63ExET5bJ/V6qWlpa2trcrLJ554QqfTnT17VrkiUJKk27dvFxUVORjjTOXQoUMVFRU7d+7MysqSK0qSe+qppyZSsWLzGP7oRz86f/68KIpWZyUBAIArcOv8pzy3/NfT01O+S+OHP/zhuNcSHtbQ0CDX161bNzQ0pIwPCAgwmUyiKM6aNUuu9Pf319XVSZJ09+5de2OcqXh7e9+7d6+vr0+5jjAkJKS7u7u7uzskJGQiFXt7bfnvpUuXtmzZEhERcfbs2bEeQwAAMNVmeP4TRVEQBLPZbLMyPDws3x2i/Ds0NBQaGnrmzBmz2TzW7GI0GgVBaG9vVyr37t0TBMFkMikVf39/y02ioqLy8/Obmprkj00lSWppaZEkaWRkJCkpyd4YZyoBAQG1tbX19fXKDcjx8fEajSY9PV2+xHDcFSs2j2FDQ8PQ0NCVK1d8fX3HdAwBAMAjYD//9fS0fPrude1x9TvXtcdaPn3X2NPjIKW5SP5buHChIAgLFy6UX+bn5yvn5PLz85OTkwVBiIqKUv5NTk4+f/78woULn376actr8ka9/0Or1Sozy1/d0tzcrFS6u7vlYYsXL7bcymAwhIaGBgQENDY2yhVlk+XLl9sb40xFp9M9++yz/v7+Wq1WrhgffJPLzZs3J1KxYvMYvv76635+fl5eXu+9957j4wYAAB49u/mv9bMPW3711uVfvdX+cARs1x6//Ku3Wn71VutnHzpIaS6S/wAAAGDFbv4znDpx/Q+b23Zu+npLZLv2mFxs1x77ektk285N1/+w2XDqhIOURv4DAABwTY6u/+uuP2n4761tOzde/lXEde2x69pjl38V0bZzo+G/t3bXn3Sc0sh/AAAArmmU+z+66052xP362vYNX2+O/Hpz5LXtGzrift1dN0r4M5L/AAAAXNXo9/921Va3//5X13dsvL5jY/vvf9VVW+1MSiP/AQAAuKbR859BV9UWs9Hw+18afv/LtpiNBl2VMymN/AcAAOCaRsl/1yuPXvqvn1/btq5j5y87dv7y2rZ1l/7r522VR0dNaeQ/AAAA1+Qo/7VVll94+99af/kf137zTleNtqtGe+0377T+8j8uvP1vbcfLHac08h8AAIBrspv/2o6XX3jr9Ssb37y69e3OB5/5duqqrm59+8rGNy+89fq1Y185SGnkPwAAANdkN/+17Pnvlv9c883mtzpPVlrWO09WfrP5rZb/XNPy4W4HKY38BwAA4Jrs5r+bPd3X9n9oqLbx+2+G6uPXPvvgsfj9NwAAAFgZ/f7f8SH/AQAAuCbyHwAAgHsh/wEAALiXGZv/BMDtTen/OwAAj68Zm/8AAABgE/kPAADAvZD/AAAA3Av5DwAAwL2Q/wAAANwL+Q8AAMC9kP8AAADcC/kPAADAvTjKf509N8r+0pLw+V/WZeh+llT1s4Mn/ivr1CdH/3rxm45RUxr5DwAAwDU5yn+/ya//WUr1m5k1EYfrI3NPR+aejsipX5tx6ucp2tOXrzlOaeQ/AAAA1+Qo/1We/8dbh09vKj776clLeY1X0upbNpX8dV3BX8Kz6rbm1ztOaeQ/AAAA1+Qo/900GqsvXuu+cVOpFJ9tfftI0y8K/vJmRo3jlEb+AwAAcE1ju/8j9dTFiNyGyILG/8o77Xgk+Q8AAMA1jSH/lTR8vTq5+t+z68MPN+Sf/trxYJfKf8PDw2lpaZN+7CBJUlpa2vDw8HR3AQAAxsCp/NfZc2N38emwz46tTtetza5Lqbk06iYulf8SEhIMBsOkHztIkmQwGBISEqa7CwAAMAZO5b+4ooYf7zv+RoouMud01YVvnElprpP/mpubY2JiJEmKjIwUBEEQhJCQEL1eL7/b2NgYGBj44osvdnR0KJv09fUFBgYqL1esWCFvOHfuXLkyNDQUHR3t6em5ceNGuRIWFiaPCQ4OlisVFRX+/v6+vr7Hjh2zV7G5uqWoqChBEKKiouTmIyMjbc5TU1MTFBTk4+NTVlZmby31fjmzF85Utm/f3tzcPOofAgAAuAin8t8b+4+/nnzy31JPnfvH6N/8J3Od/Ld169a6ujpJkkRRFARBFMWqqqolS5bI74aGhlZXV584cWLTpk2WmwiCoLwsKSmxmjMnJyc6OtpkMuXn58sVjUYzMjJiNpubmprkire3d0NDQ11dnY+Pj72KzdUtDQ4OCoJgNpvl5gcHB23OEx4efuvWLa1W6+3tbW8t9X45sxfOVGpra7dt22azfwAA4IKcyn9h+46/nqJ7/WC18ynNdfJfUFDQnTt35Ody+jGbzbNmzZIrHh4eAwMDZrPZ399frmi12oiICMf5LywsrK2tzbLS19cnSVJVVdX9+/flygsvvNDT03P37t158+bZq6hXV1M6UZ6o54mPj5f3y8/Pz94Y9X45sxfOVG7fvh0UFGSvfwAA4Gpm/u+/eXh4DA0Nyc8FQfjuu+/Ky8tfeukluRIYGNjU1KTT6Tw8PCRJ6u3t3bBhw8DAgGVO2rNnz6JFi/z9/evr6+WKt7d3YmLinDlzCgsLlWGiKBYXFysvm5ubX3vttbi4uIsXL9qrWK1ukzr/qeeR6XQ65TYXqzE298uZvXCmIorik08+aa9/AADgapzKf+/9uWH5+2V/+vIvzqc018l/zz33nOX5P0EQfH19Gxoa5Ep2dvbs2bP37t0rn4FLTEyUz29Z5qTy8nKTyVRRUbFgwQK58sQTT+h0urNnzyrXwEmSVFpa2traqrw8dOhQRUXFzp07s7Ky7FWsVrdJnf/U80iSdPv27aKiInur29wvZ/bCmcqdO3c4/wcAwGPEuc9/Pyxb+sGXP9nzpfMpzXXy3+bNm0+fPi0/t0w/lhoaGtasWSM9CIgKOSZ2dXVJD39qHBAQYDKZRFFUKpIkrVu3TjnRKEmSt7f3vXv3+vr6LK/Js6pYrW6T3PPIyIjSvHqe/v5++RrHu3fv2hxjc7+c2QtnKvX19Vu2bLHXPwAAcDVO5b8/fXX2p/sq91f81fmU5jr5T6/X79y5U3pw/4dVlCkpKenr61u7dm1paalSvHfvniAIJpNJfrls2TKTyXTs2LGlS5fKlaioqPz8/KamJqUiSZLVObyAgIDa2tr6+nrlllt1Rb16WFiYVf+zZ8++dOmSVqudM2eOvXlaWlokSRoZGUlKSrI3Rr1fzuyFM5UdO3Yo91MDAADXN/Ov/5MkKTY2trOzc/Xq1YIgrF692vKtiIgIT0/PmJiYkZERudLc3KycJ+vu7pYkqaCgYO7cucHBwY2NjfIYg8EQGhoaEBCgVCRJWrx4seXMOp3u2Wef9ff312q19ipWqw8NDYWEhFg1X1BQ4OPj4+fnV15ebm8epeHly5fbG6PeL2f2YtRKZ2dnXFycBAAAHh9ukf9EUUxJSZn0YzfpMjMzrW7pcH0pKSmiKE53FwAAYAzcIv8BAABAQf4DAABwL+Q/AAAA90L+AwAAcC/kPwAAAPdC/gMAAHAv5D8AAAD3Qv4DAABwL26R/4aHh9PS0ib92EGSpLS0tOHh4enuAgAAjIFb5L+EhASDwTDpxw6SJBkMhoSEhOnuAgAAjMHMz3/Nzc0xMTGSJEVGRsq/fhsSEqLX6+V3h4aGoqOjPT09N27cqGzS19cXGBiovDQajYsWLVqwYMGNGzfkSm9vb2Vl5apVq5Qx6kpjY2NgYOCLL77Y0dEhVwoLC318fJ5//vmmpia5UlNTExQU5OPjU1ZWZrP5qKgoQRCioqLk5iMjI2126Mzq6op6nhUrVsiHaO7cufZ6Vle2b9/e3Nxss38AAOCCZn7+27p1a11dnSRJoigKgiCKYlVV1ZIlS+R3c3JyoqOjTSZTfn6+5SaCICgvd+/enZiYmJGRERsbK1f0ev3KlSstx6groaGh1dXVJ06c2LRpk1xZuHDht99+W1ZWFhISIlfCw8Nv3bql1Wq9vb1tNj84OCgIgtlslpsfHBy02aEzq6sr6nlKSkqsGlD3rK7U1tZu27bNZv8AAMAFzfz8FxQUdOfOHfm5nHXMZvOsWbPkSlhYWFtbm+V4rVYbERFhmYpCQkK6urp6enrmzZtnOdJyjLri4eExMDBgNpv9/f3lSnt7uyRJAwMDzzzzjFyJj4+X+/Hz87PXvzKn8kTdoTOrqyvqedT5T92zunL79u2goCB7/QMAAFcz8/Ofh4fH0NCQ/FwQhO+++668vPyll16SK97e3omJiXPmzCksLJQkqbe3d8OGDQMDA5apyMvLSxRFURS9vLwsZ3acwAIDA5uamnQ6nYeHh1Ls7+9PSkrKyMiw3Eqn0zm4PcUq/9ns0JnVrSo259mzZ8+iRYv8/f3r6+sd9GxVEUXxySeftNc/AABwNTM//z333HOW5/8EQfD19W1oaJArTzzxhE6nO3v2bHBwsCRJiYmJfX190sNZSsl/Tz31lOXMjhNYdnb27Nmz9+7dq5xvkwe8+eabt27dUiq3b98uKipy0L9V/rPZoTOrW1VszlNeXm4ymSoqKhYsWOCgZ6vKnTt3OP8HAMBjZObnv82bN58+fVp+rs5MAQEBJpNJFEX5E2HhYXJMDAkJ6e7u7u7uVq54szebutLQ0LBmzRr5eU9Pj9ls1mq1L7/8slzp7++Xr028e/euvf7lOUdGRuQnNjt0ZnWris15urq6pIc/H1f3rK7U19dv2bLFXv8AAMDVzPz8p9frd+7cKT24/0P5LFgWFRWVn5/f1NS0dOlSpXjv3j1BEEwmk/wyPj5eo9Gkp6fLl+vJjEajIAjyxXA2KyUlJX19fWvXri0tLZUr8+fP7+/v1+v1vr6+cqWlpUWSpJGRkaSkJLkSFhZm1f/s2bMvXbqk1WrnzJljr0NnVldX1PMsW7bMZDIdO3ZMORrqntWVHTt2KPdTAwAA1zfz858kSbGxsZ2dnatXrxYEYfXq1ZZvGQyG0NDQgICAxsZGudLc3KycFevu7pYsvv/l5s2b8hitVquMkb+6RV2JiIjw9PSMiYkZGRmRt8rJyXn66aeDg4NPnjwpV5RNli9fLknS0NCQ1SlGSZIKCgp8fHz8/PzKy8vtdejM6uqKep6CgoK5c+cGBwcrR0Pds1Wls7MzLi5uHH8UAAAwXdwi/4mimJKSMunHbtJlZmZevHhxursYm5SUFFEUp7sLAAAwBm6R/wAAAKAg/wEAALgX8h8AAIB7If8BAAC4F/IfAACAeyH/AQAAuBfyHwAAgHsh/wEAALgXt8h/w8PDaWlpk37sIElSWlra8PDwdHcBAADGwC3yX0JCgsFgmPRjB0mSDAZDQkLCdHcBAADGYObnv+bm5piYGEmSIiMj5d+6DQkJ0ev18rsrVqyQi3PnzlU26evrCwwMVF7W1NQEBQX5+PjIP60rSdLQ0FB0dLSnp+fGjRvlSm9vb2Vl5apVq5St1DMXFhb6+Pg8//zzTU1NcqWiosLf39/X1/fYsWM2m4+KihIEISoqSm4+MjJSkqTGxsbAwMAXX3yxo6PDXj/OrKXer7CwMLnn4OBgexX1Wtu3b29ubnbmbwEAAFzBzM9/W7duraurkyRJFEVBEERRrKqqWrJkifxuSUmJzU0EQVBehoeH37p1S6vVent7y5WcnJzo6GiTyZSfny9X9Hr9ypUrLbdSz7xw4cJvv/22rKwsJCRErnh7ezc0NNTV1fn4+NhsfnBwUBAEs9ksNz84OChJUmhoaHV19YkTJzZt2mSvH2fWUu+XRqMZGRkxm81KalRX1GvV1tZu27bNZv8AAMAFzfz8FxQUdOfOHfm5nM/MZvOsWbPkijqlabXaiIgIyyQXHx8vb+Xn5ydXwsLC2tra1Gs5zn/t7e2SJA0MDDzzzDNy5YUXXujp6bl79+68efPs9a/MqTzx8PAYGBgwm83+/v72+nFmLfV+9fX1SZJUVVV1//59exX1Wrdv3w4KCrLXPwAAcDUzP/95eHgMDQ3JzwVB+O6778rLy1966SW5smfPnkWLFvn7+9fX10uS1Nvbu2HDhoGBAcskJ9PpdMpNJN7e3omJiXPmzCksLLQcY7mV1cyy/v7+pKSkjIwM+WVzc/Nrr70WFxd38eJFe/2r819gYGBTU5NOp/Pw8HDQj5NrWe6XJEmiKBYXF1sOsKqo1xJF8cknn7TXPwAAcDUzP/8999xzluf/BEHw9fVtaGiQK+Xl5SaTqaKiYsGCBZIkJSYmyme8rPLf7du3i4qKlJdPPPGETqc7e/asclWcMr/y3GpmZcCbb75569Yt+eWhQ4cqKip27tyZlZVlr391/svOzp49e/bevXuV8382+3FmLav9kiSptLS0tbXVQUW91p07dzj/BwDAY2Tm57/NmzefPn1afq4+q9fV1SVZfCIsPEyOif39/fIVhHfv3pW3CggIMJlMoigqnyOr57eaWZKknp4es9ms1WpffvllueLt7X3v3r2+vj7lCjw1ec6RkRGr5hsaGtasWWOvH2fWUu+XJEnr1q1TTpfarKjXqq+v37Jli73+AQCAq5n5+U+v1+/cuVN6cP+HVbhZtmyZyWQ6duzY0qVLleK9e/cEQTCZTPLLlpYWSZJGRkaSkpLkSlRUVH5+flNTk+VWRqNREAT5wjubM8+fP7+/v1+v1/v6+sqVgICA2tra+vp65XbjsLAwq/5nz5596dIlrVY7Z84cuVJSUtLX17d27drS0lJ7/Tizlnq/JElSzinaq6jX2rFjh3I/NQAAcH0zP/9JkhQbG9vZ2bl69WpBEFavXm35VkFBwdy5c4ODgxsbG+VKc3Ozcv6vu7tbsjgpuHz5cnmMwWAIDQ0NCAhQttJqtcow+etU1DPn5OQ8/fTTwcHBJ0+elCs6ne7ZZ5/19/fXarWSJA0NDSm361p26OPj4+fnV15eLlciIiI8PT1jYmJGRkbs9TPqWjb3S5KkxYsXWzVgVbFaq7OzMy4ubtQ/AQAAcB1ukf9EUUxJSZn0YzfpMjMzHdwI4ppSUlJEUZzuLgAAwBi4Rf4DAACAgvwHAADgXsh/AAAA7oX8BwAA4F7IfwAAAO6F/AcAAOBeyH8AAADuhfwHAADgXtwi/w0PD6elpU36sYMkSWlpacPDw9PdBQAAGAO3yH8JCQkGg2HSjx0kSTIYDAkJCdPdBQAAGIOZn/+am5tjYmIkSYqMjJR/7jYkJESv18vvFhYW+vj4PP/8801NTXKlt7e3srJy1apVygyNjY2BgYEvvvhiR0eHvTFDQ0PR0dGenp4bN260N2bFihVyA3PnzpUrFRUV/v7+vr6+x44ds9l8VFSUIAhRUVFy85GRkTbXUu+FemZ1paamJigoyMfHR/7BYpuVsLAwuefg4GB7R2P79u3Nzc3O/C0AAIArmPn5b+vWrXV1dZIkiaIoCIIoilVVVUuWLJHfXbhw4bfffltWVhYSEiJX9Hr9ypUrBUFQZggNDa2urj5x4sSmTZvsjcnJyYmOjjaZTPn5+fbGlJSUWPXm7e3d0NBQV1fn4+Njs/nBwUFBEMxms9z84OCgzbXUe6GeWV0JDw+/deuWVqv19va2V9FoNCMjI2azWUmW6qNRW1u7bds2e8cfAAC4mpmf/4KCgu7cuSM/l9OY2WyeNWuWXGlvb5ckaWBg4JlnnrHcyjK3eXh4DAwMmM1mf39/e2PCwsLa2trUqzvOfy+88EJPT8/du3fnzZtnr39lBuWJei31XqhnVlfi4+MlSTKbzX5+fvYqfX19kiRVVVXdv3/f3tG4fft2UFCQvf4BAICrmfn5z8PDY2hoSH4uCMJ3331XXl7+0ksvKQP6+/uTkpIyMjIst7LMbYGBgU1NTTqdzsPDw94Yb2/vxMTEOXPmFBYW2huzZ8+eRYsW+fv719fXy5Xm5ubXXnstLi7u4sWL9vpX5z+ba1nthXpme2vpdDqrm2OsKqIoFhcXOzgaoig++eST9voHAACuZubnv+eee87y/J8gCL6+vg0NDcoAQRDefPPNW7duWW5lmduys7Nnz569d+9eB+f/nnjiCZ1Od/bsWeU6OfWY8vJyk8lUUVGxYMECuXLo0KGKioqdO3dmZWXZ61+d/2yuZbUX6pltrnX79u2ioiLL5dSV0tLS1tZWB0fjzp07nP8DAOAxMvPz3+bNm0+fPi0/t0xjsp6eHrPZrNVqX375Zcu6emRDQ8OaNWvsjQkICDCZTKIoKp8sq8d0dXVJD3/67O3tfe/evb6+PuV6OzV5hpGREWUq9VrqvVDPrK709/fLV0bevXvXXkWSpHXr1iknUG0ejfr6+i1bttjrHwAAuJqZn//0ev3OnTulB/d/WEWZ+fPn9/f36/V6X19fpWg0GgVBkC+qkySppKSkr69v7dq1paWl9sZERUXl5+c3NTUtXbrU3phly5aZTKZjx44pYwICAmpra+vr6wMDA+VKWFiYVf+zZ8++dOmSVqudM2eOvbXUe6GeWV1paWmRJGlkZCQpKcleRZIkq7Oe6qOxY8cO5X5qAADg+mZ+/pMkKTY2trOzc/Xq1YIgrF692vKtnJycp59+Ojg4+OTJk3JFq9UKD8hfgxIREeHp6RkTEzMyMmJvjMFgCA0NDQgIaGxstDemoKBg7ty5wcHByhidTvfss8/6+/trtVpJkoaGhpQbeBUFBQU+Pj5+fn7l5eVyRb2Wei+sZrZZUdpbvny5vYokSYsXL7bsx+podHZ2xsXFjenPAQAAppdb5D9RFFNSUib92E26zMxMBzeCuKaUlBRRFKe7CwAAMAZukf8AAACgIP8BAAC4F/IfAACAeyH/AQAAuBfyHwAAgHsh/wEAALgX8h8AAIB7If8BAAC4F7fIf8PDw2lpaZN+7CBJUlpa2vDw8HR3AQAAxsAt8l9CQoLBYJj0YwdJkgwGQ0JCwnR3AQAAxmDm57/m5uaYmBhJkiIjI+Uftw0JCdHr9fK7NTU1QUFBPj4+8k/0SpIUFhYmDwsODpYrjY2NgYGBL774YkdHh1wxGo2LFi1asGDBjRs35EphYaGPj8/zzz/f1NRkb4wza1mJiooSBCEqKkpuPjIyUq739fUFBgYqw3p7eysrK1etWqVUKioq/P39fX19jx07Zm8vVqxYIa8+d+5ce/2o51Gvvn379ubmZsd/BQAA4Dpmfv7bunVrXV2dJEmiKAqCIIpiVVXVkiVL5HfDw8Nv3bql1Wq9vb3likajGRkZMZvNSpILDQ2trq4+ceLEpk2b5Mru3bsTExMzMjJiY2PlysKFC7/99tuysrKQkBB7Y5xZy8rg4KAgCGazWW5+cHBQ2SlBEJRher1+5cqVlhVvb++Ghoa6ujofHx97e1FSUmK1nLof9Tzq1Wtra7dt22azfwAA4IJmfv4LCgq6c+eO/FxOLWazedasWXIlPj5ervj5+cmVvr4+SZKqqqru378vVzw8PAYGBsxms7+/v1wJCQnp6urq6emZN2+eXGlvb5ckaWBg4JlnnrE3xpm11JSkpTzRarURERGWCcxqgCRJL7zwQk9Pz927d5XV1Xuhzn/qftTzqFe/fft2UFCQvf4BAICrmfn5z8PDY2hoSH4uCMJ3331XXl7+0ksvWY7R6XSWN4iIolhcXKy8DAwMbGpq0ul0Hh4ecsXLy0sURVEUvby8lGH9/f1JSUkZGRkOxoy6lppV/uvt7d2wYcPAwIDj/Nfc3Pzaa6/FxcVdvHjR3l7s2bNn0aJF/v7+9fX19vqxmsfm6qIoPvnkkw52AQAAuJSZn/+ee+45y/N/giD4+vo2NDQoA27fvl1UVGS5SWlpaWtrq/IyOzt79uzZe/fuVc6cKdnuqaeeUoYJgvDmm2/eunXLwZhR11Kzyn+JiYnyWTrH+e/QoUMVFRU7d+7Mysqytxfl5eUmk6miomLBggX2+rGax+bqd+7c4fwfAACPkZmf/zZv3nz69Gn5uToz9ff3y1cH/cULBgAAGxZJREFU3r17VymuW7dOOWWoaGhoWLNmjfw8JCSku7u7u7tbudqvp6fHbDZrtdqXX37Z3hjn17Ik9zwyMiI/ER5mGWStrv+7d+9eX1+fcq2hei+6urqkhz8NV/djNY/N1evr67ds2eJgFwAAgEuZ+flPr9fv3LlTenD/h1XYamlpkSRpZGQkKSlJKSpnyGQlJSV9fX1r164tLS2VK/Hx8RqNJj09Xb6kT5Kk+fPn9/f36/V6X19fe2OcWSssLMyq/9mzZ1+6dEmr1c6ZM0cp3rt3TxAEk8mkVIxGoyAI8mWIkiQFBATU1tbW19crN+qq92LZsmUmk+nYsWNLly611496HvXqO3bsUO6nBgAArm/m5z9JkmJjYzs7O1evXi0IwurVqy3fUk5lLV++XCkuXrzYckxERISnp2dMTMzIyIhcMT74bpebN2/KlZycnKeffjo4OPjkyZP2xoy61tDQkHKyUFFQUODj4+Pn51deXi5Xmpublam6u7slSdJqtUpF/nIZnU737LPP+vv7a7Vae3tRUFAwd+7c4ODgxsZGe/uunsdq9c7Ozri4OLuHHgAAuB63yH+iKKakpEz6sZt0mZmZyu0aj4uUlBRRFKe7CwAAMAZukf8AAACgIP8BAAC4F/IfAACAeyH/AQAAuBfyHwAAgHsh/wEAALgX8h8AAIB7If8BAAC4F7fIf8PDw2lpaZN+7CBJUlpa2vDw8HR3AQAAxsAt8l9CQoLBYJj0YwdJkgwGQ0JCwnR3AQAAxmDm57/m5uaYmBhJkiIjI+VfrQ0JCdHr9fK7K1askItz586VK42NjYGBgS+++GJHR4e9SlhYmLxVcHCwslBfX19gYKDysqamJigoyMfHR/5BXkmSCgsLfXx8nn/++aamJgfzWIqKihIEISoqSm4+MjJSsvhl4Rs3btjrUL1fQ0ND0dHRnp6eGzdutNezeiv1XqjX2r59e3Nz86h/CAAA4CJmfv7bunVrXV2dJEmiKAqCIIpiVVXVkiVL5HdLSkqsxoeGhlZXV584cWLTpk32KhqNZmRkxGw2K0lOXkgQBOVleHj4rVu3tFqtt7e3XFm4cOG3335bVlYWEhLiYB5Lg4ODgiCYzWa5+cHBQUmSdu/enZiYmJGRERsba69D9X7l5ORER0ebTKb8/Hx7Pau3Uu+Feq3a2tpt27bZ7B8AALigmZ//goKC7ty5Iz+Xs47ZbJ41a5ZcUSceDw+PgYEBs9ns7+9vr9LX1ydJUlVV1f379+WKVquNiIiwzFLx8fHyWn5+fnKlvb1dkqSBgYFnnnnG3jxqypzKk5CQkK6urp6ennnz5tnrUL1fYWFhbW1tlhV1z+qt1HuhXuv27dtBQUH2+gcAAK5m5uc/Dw+PoaEh+bkgCN999115eflLL70kV/bs2bNo0SJ/f//6+nq5EhgY2NTUpNPpPDw87FUkSRJFsbi4WH7e29u7YcOGgYEByywl0+l0lree9Pf3JyUlZWRk2JzHJnX+8/LyEkVRFEUvLy97Har3y9vbOzExcc6cOYWFhfZ6Vm+l3gv1WqIoPvnkkw52AQAAuJSZn/+ee+45y/N/giD4+vo2NDTIlfLycpPJVFFRsWDBArmSnZ09e/bsvXv3Kue31BVJkkpLS1tbW+XniYmJ8pk8q/x3+/btoqIiy4ogCG+++eatW7dszmOTg/z31FNP2etQvV9PPPGETqc7e/asfK2hzZ7VW6n3Qr3WnTt3OP8HAMBjZObnv82bN58+fVp+rj4/19XVJT38ibCsoaFhzZo1Dirr1q2zPK1oSQ6X/f398nWHd+/elYf19PSYzWatVvvyyy/bnMcmueeRkRHLz3+7u7u7u7uV6wjVHar3KyAgwGQyiaIoV2z2rN5KvRfqterr67ds2eJgFwAAgEuZ+flPr9fv3LlTenD/h1XYWrZsmclkOnbs2NKlS+VKSUlJX1/f2rVrS0tL7VUkSbI8Fyi7d++eIAgmk0l+2dLSIknSyMhIUlKSXJk/f35/f79er/f19bU3T1hYmNW0s2fPvnTpklarnTNnjlyJj4/XaDTp6enyxXk2O1TvV1RUVH5+flNTk1JR96zeSr0X6rV27Nih3E8NAABc38zPf5IkxcbGdnZ2rl69WhCE1atXW75VUFAwd+7c4ODgxsZGuRIREeHp6RkTEzMyMmKvIknS4sWLLedpbm5WzqV1d3dLFifYli9fLo/Jycl5+umng4ODT548aXOeoaEhq1N6coc+Pj5+fn7l5eVyxfjg+19u3rxpr0P1fhkMhtDQ0ICAAKWi7lm9lXovrNbq7OyMi4sb9U8AAABch1vkP1EUU1JSJv3YTbrMzMyLFy9Odxdjk5KSIoridHcBAADGwC3yHwAAABTkPwAAAPdC/gMAAHAv5D8AAAD3Qv4DAABwL+Q/AAAA90L+AwAAcC/kPwAAAPfiFvlveHg4LS1t0o8dJElKS0sbHh6e7i4AAMAYuEX+S0hIMBgMk37sIEmSwWBISEiY7i4AAMAYzPz819zcHBMTI0lSZGSk/FO2ISEher1efjcsLEwuBgcHy5WampqgoCAfH5+ysjK50tvbW1lZuWrVKmVO9Rh1RZKkvr6+wMBA5eWKFSvktebOnStXCgsLfXx8nn/++aamJpvNR0VFCYIQFRUlNx8ZGWmzZ/U86rWMD341+MaNG/Yq6pnV86j3a/v27c3NzY7/CgAAwHXM/Py3devWuro6SZJEURQEQRTFqqqqJUuWyO9qNJqRkRGz2awkp/Dw8Fu3bmm1Wm9vb7mi1+tXrlwpCIIyp3qMuiIvbblVSUmJVW8LFy789ttvy8rKQkJCbDY/ODgoCILZbJabHxwctNmzeh71Wrt3705MTMzIyIiNjbVXUc+snke9X7W1tdu2bbPZPwAAcEEzP/8FBQXduXNHfi6nFrPZPGvWLLnS19cnSVJVVdX9+/flSnx8vDzGz8/Pch7LxKMeo65otdqIiAjH+a+9vV2SpP+/vfsJbSp7/zh+tl8iSl0Ua6EhjWTMEAaDjor4H7sZF0VQhlJw4yBFUQasXbR10ZUrNy2l1I6jiylqKQihxXo1TBtD6ZcsgoLgZrBtEm1packkTXNT4/ktDl6uub2d+P0V2+l9v1Y3T+55znPTzYfb/Mnlcrt377ab3+hgHFhntvax7hUMBhOJRCqV2rdvn13F2tnax3pdc3Nzfr/fbn4AALDZbP3853K5CoWCOhZCfPr0KRQKHTlyxDhB1/XHjx+XrAqHwyUfGTEnHrtzjMrCwsKlS5dyuZx51e3btw8ePOj1eiORiFHMZDJdXV19fX1281vz36ozl/Sx7lVRUaHruq7rFRUVdhVr55I+q16Xruvbtm2zmx8AAGw2Wz//7d2713z/Twjh8Xii0ahxwuDg4Nu3b81L5ubmHj16VNKnJP9ZzzFXOjs71b0086pQKJTNZoeGhg4cOGBue+HChdnZWbv5V81/1plL+lj3MtLezp077SrWziV9Vr2u+fl57v8BAPAvsvXz35UrV16+fKmOrffwpJQXL140bhBKKTOZjHq/4OLiovk081rrOSUV8SUVNxOJhPzyv8+pVCqfz2uadurUKbv51b7FYtE8QMnM1j7WvYLBYDKZTCaTxnsErRVr55I+q15XJBK5evWq3fwAAGCz2fr5LxaLtbS0yM+f/zCHG8Xr9ZofvnnzRkpZLBa7urqM4szMjBBCvc1u1XNWXbW0tCSEyGaz6uGJEyey2ezw8PDx48dVZf/+/ZlMJhaLeTweVamrqysZr7Ky8vXr15qmVVVV2c1s7WPdq729vbu7++7du+qtiqtWrJ2tfazXdfPmTePz1AAAYPPb+vlPStna2jo9PV1fXy+EqK+vL3n20KFD5ofGza2TJ0+qiqZpRlF9vYv1HGslHo8bxWQyKaXs7++vrq4OBALj4+PqnAcPHuzatSsQCLx48UJKWSgUrB8E7u/vd7vdtbW1oVDIbuaSPqvuNfP5214+fPhgV7F2tvYpua7p6em2tjbblx4AAGw+jsh/uq739PSs+2u37u7du/fq1auNnuLr9PT06Lq+0VMAAICv4Ij8BwAAAAP5DwAAwFnIfwAAAM5C/gMAAHAW8h8AAICzkP8AAACchfwHAADgLOQ/AAAAZ3FE/ltZWent7V331w5Syt7e3pWVlY2eAgAAfAVH5L+Ojo6pqal1f+0gpZyamuro6NjoKQAAwFfY+vkvHo83NzdLKRsbG9Wv1gaDwVgspp4dHx/3+XyHDx+enJxUlYWFhadPn549e9boMPP5d3Lfv39vt6qurk41DwQCqnL69GlVqa6utlslpUyn0z6fz274pqYmIURTU5MavrGxcdUJ//zzT7/f73a71c8TSymHhoa8Xq/H4xkeHrabp5yK9bqsu9+4cSMej6/9VwAAAJvH1s9/165dGxsbk1Lqui6E0HV9ZGTk6NGj6tljx449f/782bNnly9fVpVYLHbmzBkhhNHh1q1bnZ2dfX19ra2tdqu6u7uLxWI+n5+YmFCVgYGBkkmsq9R45r1KLC8vCyHy+bwafnl5edUJf/7559nZWU3TampqVKWmpiYajY6Njbndbrt5yqlYr8u6++jo6PXr1+0uAQAAbDZbP//5/f75+Xl1rFJLPp/fvn27qrhcrlwul8/nvV6veZU53wSDwUQikUql9u3bZ7cqnU5LKUdGRj5+/Kgq1ixlXaVpWkNDwxr5zzxJyWnmh+3t7eq6amtrVeWHH35IpVKLi4vGzP9b/rNel3X3ubk5v9+/xiUAAIBNZevnP5fLVSgU1LEQ4tOnT6FQ6MiRI6ri8/kmJibC4bDL5TKvMuebiooKXdd1Xa+oqFhjla7rjx8/Nh7evn374MGDXq83EomsumphYeHSpUu5XO7/n/+UcDhsfMwlHo//9NNPbW1tr169spunnIr1uqy767q+bdu2NS4BAABsKls//+3du9d8/08I4fF4otGoqty/f7+ysvLOnTtr3P8z8t/OnTvXWDU4OPj27VvjYSgUymazQ0NDBw4cWHVVZ2enuru2Lvlvbm7u0aNHxsPffvttaGiopaXl999/t5unnIr1uqy7z8/Pc/8PAIB/ka2f/65cufLy5Ut1bJe0otHouXPnzJWS//8mk8lkMhkMBtdYdfHiReNGo5QykUjIL//XXLJKfMmIpCXUJMVicY38l8lk1HscFxcXVaWmpmZpaSmdThvvCLTOU07Fel3W3SORyNWrV1cdHgAAbEJbP//FYrGWlhb5+fMfJVFmYGAgnU6fP39+cHDQKM7MzAgh3r17px62t7d3d3ffvXtXvc3OblXJHcQTJ05ks9nh4eHjx4+vsWppaUkIkc1m1cO6urqS+SsrK1+/fq1pWlVVld2Eb968kVIWi8Wuri5V2bNnz+joaCQSMT5cbJ2nnIr1uqy737x50/g8NQAA2Py2fv6TUra2tk5PT9fX1wsh6uvrzU81NDTs2LGjubm5WCyqiqZpxj059XUqM5+//+XDhw92q6SUhw4dMnfu7++vrq4OBALj4+N2q+LxuLFXMpksFAoltxhVH7fbXVtbGwqF7CY0Hp48eVKdEw6Hv/vuO6/Xq2ma3TzlVKzXVbL79PR0W1tbGX8EAACwWTgi/+m63tPTs+6v3bq7d++e8XGNf4uenh5d1zd6CgAA8BUckf8AAABgIP8BAAA4C/kPAADAWch/AAAAzkL+AwAAcBbyHwAAgLOQ/wAAAJyF/AcAAOAsjsh/Kysrvb296/7aQUrZ29u7srKy0VMAAIAvTK7JEfmvo6Njampq3V9ZSCmnpqY6Ojo2egoAAPCFycnJhA1H5L94PN7c3CylbGxsVL9aGwwGY7GYenZ8fNzn8x0+fHhyclJVFhYWnj59evbsWaPDzOff/33//r3dqrq6OtU8EAioyunTp1WlurrabpWUMp1O+3w+u+GbmpqEEE1NTWr4xsbGVTuXs5e1Uk6fP//80+/3u91u9UPDUsqHDx+63e7vv/9+YmJCVW7cuBGPx8v5WwAAgG/D6fnv2rVrY2NjUkpd14UQuq6PjIwcPXpUPXvs2LHnz58/e/bs8uXLqhKLxc6cOSOEMDrcunWrs7Ozr6+vtbXVblV3d3exWMzn80YqGhgYKJnEukqNZ96rxPLyshAin8+r4ZeXl1ftXM5e1ko5fX7++efZ2VlN02pqalTlxx9//Pvvv588eRIMBlVldHT0+vXrdpcAAAC+PafnP7/fPz8/r45V0srn89u3b1cVl8uVy+Xy+bzX6zWvMmeyYDCYSCRSqdS+ffvsVqXTaSnlyMjIx48fVcWapayrNE1raGhYI/+ZJzEOyslt1r2slXL6tLe3Synz+Xxtba2qvHv3TkqZy+V2796tKnNzc36/f41LAAAA35jT85/L5SoUCupYCPHp06dQKHTkyBFV8fl8ExMT4XDY5XKZV5kzWUVFha7ruq5XVFSssUrX9cePHxsPb9++ffDgQa/XG4lEVl21sLBw6dKlXC73tfnP2vkf91q1Uk4fJRwOmz9Ak8lkurq6+vr6jAvftm3bGpcAAAC+Mafnv71795rv/wkhPB5PNBpVlfv371dWVt65c2eN+39G/tu5c+caqwYHB9++fWs8DIVC2Wx2aGjowIEDq67q7OxUdw2/Nv9ZO//jXqtWyukjpZybm3v06FHJSBcuXJidnVUP5+fnuf8HAMCm4vT8d+XKlZcvX6pju6QVjUbPnTtnrpT8/zeZTCaTSeMdb6uuunjxonGjUUqZSCTkl/9rLlklvmRE0hJqkmKxaIxk7fyPe61aKadPJpNR755cXFxUlVQqlc/nNU07deqUqkQikatXr646PAAA2BBOz3+xWKylpUV+/vyHOaJJKQcGBtLp9Pnz5wcHB43izMyMEEK90U1K2d7e3t3dfffuXfVmOLtVJXcQT5w4kc1mh4eHjx8/vsaqpaUlIUQ2m1UP6+rqSuavrKx8/fq1pmlVVVV2ncvZy1opp8+bN2+klMVisaurS1X279+fyWRisZjH41GVmzdvGp+nBgAAm4HT85+UsrW1dXp6ur6+XghRX19vfqqhoWHHjh3Nzc3FYlFVNE0z7smpLz2Z+fz9Lx8+fLBbJaU8dOiQuXN/f391dXUgEBgfH7dbFY/Hjb2SyWShUCi5xaj6uN3u2traUChk17mcvayVcvoY4508eVJVHjx4sGvXrkAg8OLFCynl9PR0W1tbuX8JAADwTZD/pK7rPT096/7Krrt79+69evVqo6f4Oj09Pbqub/QUAADgC+Q/AAAAZyH/AQAAOAv5DwAAwFnIfwAAAM5C/gMAAHAW8h8AAICzkP8AAACchfwHAADgLOQ/ubKy0tvbu+6vLKSUvb29KysrGz0FAAD4AvlPdnR0TE1NrfsrCynl1NRUR0fHRk8BAAC+4PT8F4/Hm5ubpZSNjY3qp2yDwWAsFlPPLiwsPH369OzZs8b54+PjPp/v8OHDk5OTqnL69Gm1sLq62m7VzOffCH7//r2qDA0Neb1ej8czPDysKnV1dapPIBCw26tEU1OTEKKpqUkN39jYKKUsFAq//vrrjh07fvnll/J3t1asfR4+fOh2u7///vuJiQm7ztaZb9y4EY/Hy/xzAACAb8Dp+e/atWtjY2NSSl3XhRC6ro+MjBw9elQ9G4vFzpw5I4Qwzj927Njz58+fPXt2+fJlVRkYGCjpaV1169atzs7Ovr6+1tZWVampqYlGo2NjY263W1W6u7uLxWI+nzfSlXWvEsvLy0KIfD6vhl9eXpZSPnjw4Ndff81ms3/88Uf5u1sr1j4//vjj33///eTJk2AwaNfZOvPo6Oj169fX+BMAAIBvzOn5z+/3z8/Pq2OV2PL5/Pbt283nmJOcy+XK5XL5fN7r9aqKNf9ZVwWDwUQikUql9u3bpyo//PBDKpVaXFw0Kul0Wko5MjLy8eNHu73W2MU4qKur++uvv8znlLO7tWLt8+7dOyllLpfbvXu3XWfrzHNzc36/325+AADw7Tk9/7lcrkKhoI6FEJ8+fQqFQkeOHDGfY05yPp9vYmIiHA67XC5VuX379sGDB71ebyQSsVtVUVGh67qu6xUVFaoSj8d/+umntra2V69eGafpuv748eM19rKy5r+amprOzs6qqqqHDx+Wv7u1Yu0jpcxkMl1dXX19fXadrTPrur5t2za7+QEAwLfn9Py3d+9e8/0/IYTH44lGo+ZzzEnu/v37lZWVd+7cMe5vhUKhbDY7NDR04MABu1VGTtq5c6eq/Pbbb0NDQy0tLb///rtx2uDg4Nu3b9fYy8qa//7zn/+Ew+H//ve/xvsIy9ndWrH2UbtcuHBhdnbWrrN15vn5ee7/AQCwqTg9/125cuXly5fq2JzYzKz1aDR67tw5dZxIJOQ//dc4GAwmk8lkMmm8c66mpmZpaSmdTtfU1BinXbx40bgZuepedrMVi0Vjuz179mSzWV3XjXnK2d1asfZJpVL5fF7TtFOnTtl1ts4ciUSuXr1qNz8AAPj2nJ7/YrFYS0uL/Pz5D2v8mpmZEUKot75JKQcGBtLp9Pnz5wcHB1XlxIkT2Wx2eHj4+PHjdqva29u7u7vv3r3b3t6uKnv27BkdHY1EIj6fz1hVcp/PulddXV3JeJWVla9fv9Y0raqqSlWampr++OOPiYkJY55ydrdWrH3279+fyWRisZjH47HrbJ355s2bxuepAQDAZuD0/CelbG1tnZ6erq+vF0LU19ebn9I0TXz25MkTKWVDQ8OOHTuam5uLxaI6p7+/v7q6OhAIjI+P262a+fw9KR8+fFDnhMPh7777zuv1appmbHfo0CHz7iV7FQqFkttsane3211bWxsKhVRlamrq2LFje/bsMeYpZ3drxdrnwYMHu3btCgQCL168sOtcMvP09HRbW1v5fwsAAPANkP+krus9PT3r/squu3v37pk/LPKv0NPTo+v6Rk8BAAC+QP4DAABwFvIfAACAs5D/AAAAnIX8BwAA4CzkPwAAAGch/wEAADgL+Q8AAMBZyH8AAADOQv4DAABwFvIfAACAs5D/AAAAnIX8BwAA4CzkPwAAAGch/wEAADgL+Q8AAMBZyH8AAADOQv4DAABwFufmv4aGhv+hAgAA8G/n3PwHAADgTOQ/AAAAZyH/AQAAOAv5DwAAwFnIfwAAAM5C/gMAAHAW8h8AAICzkP8AAACchfwHAADgLOQ/AAAAZyH/AQAAOAv5DwAAwFnIfwAAAM5C/gMAAHAW8h8AAICzkP8AAACc5R/z3/8BfQRQi6sieIAAAAAASUVORK5CYII=" alt="" />
最后,我们在spark 集群上提交任务,spark 集群搭建方式可参考 spark 安装
将Streaming 程序打包后上传到spark 机器上。如图:
aaarticlea/png;base64,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" alt="" />
把checkpint 目录先清空:
hdfs dfs -rm -r /user/rihai/spark_tmp/checkpoint/*
提交任务,注:默认 会读Hdfs 目录
spark-submit --class com.rihai.spark.hdfs.PageLoggingStreaming --master spark://192.168.56.101:7077 /home/rihai/install_package/hdfs-streaming-1.0-SNAPSHOT.jar /user/rihai/spark_tmp/checkpoint /user/rihai/logdata 2> spark-error.txt
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />
spark streaming 实时计算的更多相关文章
- Spark Streaming实时计算框架介绍
随着大数据的发展,人们对大数据的处理要求也越来越高,原有的批处理框架MapReduce适合离线计算,却无法满足实时性要求较高的业务,如实时推荐.用户行为分析等. Spark Streaming是建立在 ...
- 【Streaming】30分钟概览Spark Streaming 实时计算
本文主要介绍四个问题: 什么是Spark Streaming实时计算? Spark实时计算原理流程是什么? Spark 2.X下一代实时计算框架Structured Streaming Spark S ...
- Spark练习之通过Spark Streaming实时计算wordcount程序
Spark练习之通过Spark Streaming实时计算wordcount程序 Java版本 Scala版本 pom.xml Java版本 import org.apache.spark.Spark ...
- 【转】Spark Streaming 实时计算在甜橙金融监控系统中的应用及优化
系统架构介绍 整个实时监控系统的架构是先由 Flume 收集服务器产生的日志 Log 和前端埋点数据, 然后实时把这些信息发送到 Kafka 分布式发布订阅消息系统,接着由 Spark Streami ...
- 大数据开发实战:Spark Streaming流计算开发
1.背景介绍 Storm以及离线数据平台的MapReduce和Hive构成了Hadoop生态对实时和离线数据处理的一套完整处理解决方案.除了此套解决方案之外,还有一种非常流行的而且完整的离线和 实时数 ...
- 50、Spark Streaming实时wordcount程序开发
一.java版本 package cn.spark.study.streaming; import java.util.Arrays; import org.apache.spark.SparkCon ...
- Dream_Spark-----Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码
Spark 定制版:005~贯通Spark Streaming流计算框架的运行源码 本讲内容: a. 在线动态计算分类最热门商品案例回顾与演示 b. 基于案例贯通Spark Streaming的运 ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记八之铭文升级版
铭文一级: Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记二之铭文升级版
铭文一级: 第二章:初识实时流处理 需求:统计主站每个(指定)课程访问的客户端.地域信息分布 地域:ip转换 Spark SQL项目实战 客户端:useragent获取 Hadoop基础课程 ==&g ...
随机推荐
- 剑指offer系列35----序列化二叉树
[题目] * 请实现两个函数,分别用来序列化和反序列化二叉树 * 1 / \ 2 3 /\ /\4 5 6 7 * * 序列化的结果是1,2,#,#,3,4,#,7,#,#,5,#,#,. * 而反序 ...
- LwIP情景示例
1. 你使用UDP作为探测包,但被探测的主机不在网络上. 在发送UDP packet之前,LwIP要将其保存下来(分配一个RAM类型的pbuf),并首先发送ARP Request,但得不到回应.如果你 ...
- Maven修改镜像仓库地址
修改maven根目录下的conf文件夹中的setting.xml文件,如果你修改了默认仓库的存储位置,即.m2文件夹下没有本地仓库,但是有个setting.xml文件,那就修改这个文件就可以. 具体内 ...
- php实时输出内容能够
web开发中有没有碰到需要适时的将结果输出到浏览器页面而不刷新整个页面的需求呢?当你在处理一个过程需要耗时很长,但你又需要适时的知道程序当前的处理状况的时候,该怎么办呢?下面就分享一下如何使用php及 ...
- CPU GPU天梯图
2014年2月
- 有关JSP注释
最近学习过滤器的时候,dispatcher可以指定过滤器被Servlet容器拦截的方式,可以是REQUEST.INCLUDE.FORWARD.ERROR,默认是REQUEST方式. 现在有两个filt ...
- hostapd移植与使用
介绍 版本:hostapd-2.5.tar.gz 下载地址:http://w1.fi/releases/hostapd-2.5.tar.gz 依赖:libnl openssl 移植 libnl移植 w ...
- SQL server 学习笔记1
1.查询安装的排序规则选项喝当前的排序规则服务器属性 select * from fn_helpcollations(); 2.查看当前服务器的排序规则 select serverproperty(' ...
- Android sqlite管理数据库基本用法
Android操作系统中内置了sqlite数据库(有关sqlite数据库详细介绍见:http://zh.wikipedia.org/wiki/SQLite),而sqllite本身是一个很小型的数据库, ...
- JQuery validate 在IE兼容模式下出现 js错误(成员找不到)的修正:
JQuery validate 在IE兼容模式下 下出现 js错误(成员找不到)的修正: // Add novalidate tag if HTML5. //this.attr( "nova ...