连接b/w r studio server pro和gcp上的配置单元

c7rzv4ha  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(370)

这不是一个与编程有关的问题,请耐心听我说。
我目前在gcp上设置了两个示例-一个是r studio server pro,另一个是我的带有hivedb的集群。我想用我的rstudio server pro访问配置单元中的数据库。两者都在gcp上运行。
有谁能给我指点一下吗(我看过关于rstudio desktop->hive connection以及从spark集群中运行rstudio server的文章,但是我必须将rstudio server pro链接到hive db,两者都在gcp:o上运行)

0pizxfdo

0pizxfdo1#

供将来参考:r studio-dataproc-
在这种情况下,我将数据从hivedb推送到spark中,并使用sparkyr包在同一集群中的r studio服务器中建立连接。如果您希望直接连接到hive,还可以检查“hive-r-jdbc”连接。
gcp在计算引擎上提供了r studio server pro,但并不经济。我用了大约8小时,一周5天的费用是21美元,而你现在看到的是100美元以上。我希望以下步骤能对您有所帮助:
r工作室运行在8787端口。您必须将此端口添加到防火墙网络规则中。滚动到你的gcp汉堡包图标,向下滚动到vpc网络,点击防火墙规则并添加8787。以后应该是这样的

根据您的需求和位置设置dataproc集群。然后ssh进入浏览器窗口或通过gcloud命令行运行。当提示在Cloudshell中运行时,只需按enter键。

进入window/gcloud命令行后,为r server添加一个用户:

sudo adduser rstudio

设置密码。记住它。
接下来转到r studio网站,链接:https://dailies.rstudio.com/ 点击ubuntu上的r studio服务器。复制链接地址

返回窗口/命令行并安装它。将链接地址粘贴在sudo wget之后,如下所示:

sudo wget https://s3.amazonaws.com/rstudio-ide-build/server/trusty/amd64/rstudio-server-1.2.650-amd64.deb

然后运行:

sudo apt-get install gdebi-core

接着:注意这是上面链接中的r版本。

sudo gdebi rstudio-server-1.2.650-amd64.deb

按“是”接受,您将看到一条消息r server active(running)。现在导航到gcp中的computeengine选项卡并复制主集群的外部ip(第一个)。现在打开新浏览器并输入:

http://<yourexternalIPaddress>:8787

这将打开r studio服务器,现在输入使用的id作为“rstudio”和您之前设置的密码。现在您已经从dataproc集群启动并运行了r studio服务器。

Hive

回到终点站,进入

beeline -u jdbc:hive2://localhost:10000/default -n *myusername*@*clustername-m* -d org.apache.hive.jdbc.HiveDriver


我们将从hdfs(即google云存储)将数据导入hive。在这里,我们只是将数据从bucket复制到hive表中。输入命令:

CREATE EXTERNAL TABLE <giveatablename>
    (location CHAR(1),
     dept CHAR(1),
     eid INT,
     emanager VARCHAR(6))
 ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
 LOCATION 'gs://<yourgooglestoragebucket>/<foldername>/<filename.csv>';

现在您在hiveyourtablename中有了一个表,其中包含特性->位置、部门、eid和emanager->来自google云存储中的csv文件->gs://
现在退出配置单元(ctrl+z)并键入:

ln -s /etc/hive/conf/hive-site.xml /etc/spark/conf/hive-site.xml

这是指向配置单元中要spark的配置文件的链接。这样做比将文件复制到该位置更好。因为可能会有混乱。
Spark:
通过键入以下内容登录spark shell:

spark-shell

现在输入:

spark.catalog.listTables.show

检查hivedb中的表是否存在。

现在转到rstudio服务器浏览器并运行以下命令:

library(sparklyr)
  library(dplyr)
  sparklyr::spark_install()
  #config
  Sys.setenv(SPARK_HOME="/usr/lib/spark")
  config <- spark_config()
  #connect
  sc <- spark_connect(master="yarn-client",config = config,version="2.2.1")


现在在右侧,您将看到环境旁边一个名为“connection”的新选项卡。这是您的spark群集连接,单击它,它将显示hive中的表名。

相关问题