How to set up a sparklyr cluster in 5 minutes

如果您曾经想要使用Sparklyr软件包在R群集中使用Spark集群来处理大数据集,但还没有开始,因为设置Spark集群太难了,好吧......很容易。您可以使用Azure上的指南SparklyR和AZTK在大约5分钟内启动并运行 ,您甚至不需要自己安装任何东西。我将总结以下步骤,但基本上您将运行命令行实用程序以在Azure中启动集群,其中包含您已安装的所有内容,然后使用浏览器连接到RStudio Server以使用sparklyr分析数据。

image.png

步骤1:安装Azure分布式数据工程工具包 (aztk)。为此,您需要安装Python 3的Unix命令行。我在Windows上,所以我使用了Windows子系统Linux的bash shell,效果很好。(我只需要使用pip3而不是pip安装,因为默认情况下有Python 2.)相同的进程应该可以与其他Linux发行版或Mac终端一起使用。

步骤2:使用Azure订阅登录Azure门户。如果您没有Azure订阅,则可以免费注册并获得200美元的Azure积分

步骤3:返回命令行,在secrets.yaml文件中设置身份验证。您将使用Azure门户来检索必要的密钥,如果您还没有Azure帐户,则需要创建一个Azure Batch帐户。(批处理是Azure中的HPC群集和作业管理服务。)您可以在aztk文档中找到分步详细信息

步骤4: 在cluster.yaml文件中配置群集默认值。您可以在此处定义用于群集节点的默认VM实例大小 ; 例如, vm_size: standard_a2为您提供基本的2核节点。(你可以在命令行中覆盖它,但是在这里设置它很方便。)你还需要在这里指定一个用于设置节点图像的dockerfile,并且要与sparklyr一起使用,你需要指定一个包含R和您想要的Spark版本。我用了:

提供了Spark 2.2.0,R 3.4.1和预装的一套R软件包的图像,包括sparklyrtidyverse。(如果需要在节点上安装其他东西,可以在这里提供自己的dockerfile。)

docker_repo:aztk / r-base:spark2.2.0-r3.4.1-base

第5步:保护Spark集群。这很容易:只需使用这样的命令行工具:

aztk spark cluster create --id mysparklyr4 --size 4

在这种情况下,它将启动一个包含4个节点的集群,每个节点有2个核心(在vm_size上面配置选项之前。)每个节点都将预先安装R和(警告:Azure批处理的默认配额低得可笑:对我来说一开始它总共有24个核心。你可以很容易地获得你的限制,但可能需要一天时间才能获得批准。)配置集群大约需要5分钟; 等待时,您可以通过单击Azure门户中Azure批处理帐户的“池”部分中的群集名称来检查进度。

image.png

一旦准备好,您还需要为头节点提供密码,除非您在secrets.yaml文件中设置了ssh密钥。

步骤6:连接到Spark群集的头节点。通常你需要先找到IP地址,但是aztk可以通过ssh命令轻松找到它:

aztk spark cluster ssh --id mysparklyr4

(如果你在步骤5中设置了密码,你需要在这里提供一个密码。)这会在头节点上给你一个shell,但更重要的是它映射了Spark和RStudio服务器的端口,这样你就可以连接到他们http://localhost在下一步中使用URL。在完成后续步骤之前,请不要退出此shell,否则将取消端口映射。

第7步:连接到RStudio Server

在桌面上打开浏览器窗口,然后浏览到http://localhost:8787。这将在您的浏览器中打开RStudio Server。(默认登录名为rstudio / rstudio。)为了清楚起见,RStudio Server在Azure Batch的群集的头节点上运行,而不是在本地计算机上运行:上一步的端口映射是将本地端口8787重定向到远程集群。

从这里开始,您可以像往常一样使用RStudio。特别是,已经安装了sparklyr软件包,因此您可以直接连接到Spark集群,并使用RStudio Server的内置功能来处理Spark。

image.png

一个有关使用RStudio服务器的好处之一是,你可以关闭浏览器,甚至你的机器,并RStudio服务器将保持其状态,使用户可以准确地拿起你下次登录时离开。(只需使用 aztk spark cluster ssh到如有必要,首先重新应用端口映射。)

步骤8:完成后,使用该aztk spark cluster delete命令关闭群集 。(虽然您可以从Azure门户的“池”视图中删除节点,但该命令会为您执行一些额外的清理。)只要群集已配置,您将按照通常的VM速率为群集中的每个节点付费。(一种节省成本的选择是为节点使用低优先级VM,与通常的速率相比节省高达90%。)

而已!一旦你习惯它,它就快速而简单 - 最长的部分是等待集群在第5步中启动。这只是一个摘要,但完整的细节请参见Azure上的指南 SparklyR和AZTK

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容