跳到内容

使用PySpark集成R英格兰vs伊朗让球Studio Workbench和Jupyter

概述

本文档描述了使用RStudio Workbench的步骤,英格兰vs伊朗让球前身为RStudi英格兰vs伊朗让球o Server Pro1,使用Jupyter notebook和PySpark连接到Spark集群。

在本例中,Apache Hadoop YARN被用作Spark集群上的资源管理器,您将使用PySpark创建交互式Python会话。

火花集群图

先决条件

请注意

RStu英格兰vs伊朗让球dio Workbench服务器必须能够访问Spark集群以及YARN和HDFS的底层配置文件。这通常需要您使用Hadoop管理工具(如Cloudera Manager或Ap英格兰vs伊朗让球ache Ambari)在Spark集群的边缘节点(即网关节点)上安装RStudio Workbench。您也可以通过将配置文件从Spark集群复制到RStudio Workbench服务器来实现这一点。英格兰vs伊朗让球

添加RS英格兰vs伊朗让球tudio Workbench作为边缘/网关节点

对于管理员

介绍单节点作为Spark客户端加入Hadoop集群的过程。该步骤通常由Hadoop管理员执行。在本例中,我们使用Cloudera Manager,但这些步骤也可以适用于其他Spark集群,如Amazon EMR。

这个过程可能会根据Cloudera Distribution Hadoop (CDH)的不同版本、身份验证和其他变量而有所不同。指的是Cloudera经理文档为更多的信息。

步骤1:向Hadoop集群添加一个新主机

因为您已经有一个安装了RStudio Workbench的服务器,所以第一英格兰vs伊朗让球步是将RStudio Workbench节点添加到现有的Cloudera CDH集群中。

  • Cloudera经理Dashboard,选择下拉菜单,单击添加主机

    Cloudera Manager仪表板,添加主机选项UI截图

接下来,单击经典的向导在第一页。

步骤2:指定RStudio Workbench节点的主机名英格兰vs伊朗让球

  • 继续安装,直到它要求指定要添加的节点的主机名。添加RStudio Workbench节点的主机名。英格兰vs伊朗让球

    使用模式UI截图示例搜索主机名和IP地址

  • 这个主机名应该可以从Cloudera CDH集群访问,当您单击时,Cloudera Manager将验证这一点搜索

    使用模式UI截图示例搜索主机名和IP地址

  • 当一切都验证后,点击继续

    验证所选主机UI截图示例

步骤3:为RStudio Workbench节点指定凭据英格兰vs伊朗让球

  • 继续安装向导,直到它要求RStudio Workbench节点的登录凭证。英格兰vs伊朗让球

在本例中,我们使用带有用户名的Amazon EC2实例centos以及通过私钥进行身份验证。根据您访问RStudio Workbench节点的方式,您可能正在使用不同的身份验证/凭证机制。英格兰vs伊朗让球

以“其他用户:centos”和“认证方式”登录所有主机,界面显示所有主机接受相同的私钥选项

步骤4:等待Cloudera Manager代理和包安装完成

如果主机名和凭据正确,Cloudera Manager将在RStudio Workbench节点上安装Cloudera Manager代理。英格兰vs伊朗让球

安装完成成功的UI截图示例

然后将在节点上安装Cloudera CDH包(这可能需要几分钟)。

安装包安装状态UI截图示例

步骤5:验证添加了带有RStudio Workbench的新主机英格兰vs伊朗让球

  • 继续安装,Cloudera Manager将检查主机。如果一切安装正确,那么RStudio Workbench节点将加入Hadoop集群。英格兰vs伊朗让球
  • 验证RStudio Workbe英格兰vs伊朗让球nch节点是否出现在主机列表中。最初,这个节点没有任何角色,但是您将在接下来的步骤中添加必要的角色。

所有主机仪表板UI截图示例

步骤6:向RStudio Workbench节点添英格兰vs伊朗让球加角色

您现在可以向RStudio Workbench节点添加角色英格兰vs伊朗让球。需要添加的角色如下所示:

  • HDFS网关
  • 纱网关
  • 蜂巢网关
  • 火花网关
  • Spark2网关(如果您的Cloudera CDH集群安装了Spark2)

方法的示例如下火花网关角色到Cloudera 英格兰vs伊朗让球Manager中的RStudio Workbench节点。然后,您可以为所有必要的角色重复此过程。

  • 进入Cloudera Manager首页,选择待添加服务的页签,单击添加角色实例

    添加角色实例选项选中的UI截图示例

  • 网关选项,点击选择主机

    选择主机选项选中的UI截图示例

  • 从节点列表中选择RSt英格兰vs伊朗让球udio Workbench节点。

    节点列表仪表板UI截图示例

您现在应该看到RStudio Workbenc英格兰vs伊朗让球h节点被选中网关选择。

  • 一定要验证RStudio Workbench节点的主机名。英格兰vs伊朗让球

    验证主机名UI截图示例

  • 执行向导中的步骤,然后单击重新部署客户机配置部署按钮。

    部署按钮的屏幕截图,工具提示文本显示您的配置已经过时,需要重新部署您的客户机配置。

  • 然后,您可以重复此过程以添加上面列出的所有必要的角色。

在您添加了所有必要的角色之后,RStudio Workbench节点的集群角色应该类似于下图。英格兰vs伊朗让球

一个UI截图示例,显示了一些主机和它们所配置的关联角色

步骤7:验证Hadoop集群和HDFS上是否存在用户

重要的是,登录到RStudio Workbench的相同用户也存在于Hadoop集群中。英格兰vs伊朗让球这是因为RStudio/Jupyter会英格兰vs伊朗让球话将作为该用户运行,任何Spark上下文将继承该用户的YARN和HDFS权限。

信息

可以使用多种方法实现跨RStudio Workbench实例和H英格兰vs伊朗让球adoop集群同步用户。例如,可以通过LDAP/AD将两个系统配置为相同的身份提供程序。有关更多信息,您可以与Hadoop管理员进行更多讨论。

  • 在HDFS中手动创建用户,可以使用如下命令(replace . txt)<英格兰vs伊朗让球 rstudio >实际用户名):

    终端
    $ HDFS DFS -mkdir /user/<英格兰vs伊朗让球rstudio> $ HDFS DFS -chown rstudio:rstudio /user/rstudio/

步骤8:验证RStudio Workbench和Hadoop集群之间的网络连通性英格兰vs伊朗让球

  • 确保RStudio Workbe英格兰vs伊朗让球nch节点可以通过网络访问Cloudera CDH集群。在Amazon AWS中,我们建议允许Cloudera CDH安全组和RStudio Workbench安全组之间的所有通信。英格兰vs伊朗让球

使用RStu英格兰vs伊朗让球dio Workbench与Jupyter和PySpark

现在RStudio英格兰vs伊朗让球 Workbench是Hadoop/Spark集群的一个成员,您可以安装和配置PySpark以在RStudio Workbench Jupyter会话上工作。

为用户

本节描述用户使用RStudio Workbench和Jupyter notebook通过PySpark连接到Spark英格兰vs伊朗让球集群的过程。

步骤1:在Python环境中安装PySpark

  • 在配置为Python内核的环境中安装PySpark,例如:

    终端
    Sudo /opt/python/2.7.16/bin/pip install pyspark . sh

    Python版本

    PySpark不能在安装了不同小版本Python的情况下运行,请确保在RStudio Workbench和Spark集群中使用相同版本的Python。英格兰vs伊朗让球

步骤2:配置Spark的环境变量

  • 要为所有Jupyter会话配置Spark环境变量,请在/etc/profile.d/它导出所需的配置变量,例如:

    文件:/etc/profile.d/spark.sh
    出口JAVA_HOME/usr/lib/jvm/java - 1.8.0 openjdk 1.8.0.222.b10 - 1. - el7_7.x86_64 / jre出口HADOOP_CONF_DIR/etc/hadoop/conf

    Java版本和JAVA_HOME变量

    确保您导出了一个JAVA_HOME与PySpark编译所用的Java版本相匹配的变量。在本例中,我们使用的是Java Version 8。

步骤3:通过PySpark创建一个Spark会话

现在,您已经准备好创建一个Spark会话并连接到Spark。

  • 从RStudio 英格兰vs伊朗让球Workbench主页创建一个新的Jupyter Notebook或JupyterLab会话。

  • 然后,进口pyspark并在笔记本中运行以下Python代码,创建一个使用YARN的新的Spark会话:

    Python代码
    pyspark进口SparkConfpyspark进口SparkContext相依SparkConf()相依setMaster“yarn-client”相依setAppName“英格兰vs伊朗让球rstudio-pyspark”scSparkContext相依相依

步骤4:验证Spark应用程序在YARN中运行

此时,您应该能够看到Spark应用程序正在YARN资源管理器中运行。

YARN资源管理器的UI截图示例

步骤5:运行一个示例计算

  • 您可以在笔记本中运行以下示例代码来验证Spark连接是否正常工作:

    Python代码
    数据(123.45distDatasc并行化数据distData的意思是()

步骤6:验证对HDFS的读写操作

  • 您可以在笔记本中运行以下示例代码来验证对HDFS的写入工作是否正常:

    Python代码
    #保存文件到HDFS抽样sc并行化范围14))地图λxx“一个”x))抽样saveAsSequenceFile“saved_file”
  • 您可以在笔记本中运行以下示例代码来验证从HDFS读取的操作是否正常:

    Python代码
    #从HDFS读取相同的文件排序scsequenceFile“saved_file”收集())

  1. 我们已经将RStudio Ser英格兰vs伊朗让球ver Pro重命名为RStudio Workbench。这一变化反映了该产品对广泛不同开发环境的日益增长的支持。卡塔尔世界杯欧洲预选赛赛程表请见我们的官方公告和检查我们的常见问题解答关于从RStudio Server Pro到RStudio W英格兰vs伊朗让球orkbench的名称更改。

回到顶部