这不是编程相关的问题,请关注我。
我目前在GCP上设置了两个实例 - 一个是R studio服务器PRO,另一个是我的Hive DB集群。我希望使用我的rstudio server pro访问配置单元中的数据库。两者都在GCP上运行。
有人可以指导我吗? (我已经看过rstudio桌面的文章---> hive连接以及从spark集群中运行rstudio-server的文章,但我必须将Rstudio服务器PRO链接到hive db,两者都在GCP上运行:O)
供将来参考:R studio - Dataproc -
在这种特殊情况下,我将数据从HiveDB推送到Spark并使用sparklyr包在同一集群内的R studio服务器中建立连接。如果您希望直接连接Hive,也可以检查“Hive-R-JDBC”连接。
GCP在计算引擎上提供R studio服务器PRO,但它不具成本效益。我用了大约8个小时,约收到21美元。一周5天,你看着> 100美元。我希望以下步骤可以帮助你:
R studio在端口8787上运行。您必须将此端口添加到防火墙网络规则中。在您的GCP中滚动到汉堡包图标并向下滚动到VPC Networks,单击防火墙规则并添加8787.它应该看起来像这样后来
根据您的要求和位置设置数据集群。然后SSH进入浏览器窗口或运行gcloud命令行。只需按Enter键,当它提示在云shell.中运行时
进入window / gcloud命令行后,为R服务器添加用户:
sudo adduser rstudio
为它设置密码。记住它。
接下来转到R studio网站,链接:https://dailies.rstudio.com/并点击Ubuntu for 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服务器处于活动状态(正在运行)。现在导航到GCP中的Compute Engine选项卡并复制主群集的外部IP(第一个)。现在打开一个新浏览器并输入:
http://<yourexternalIPaddress>:8787
这应该打开R studio服务器,现在输入用过的id作为“rstudio”和你之前设置的密码。现在,您已从数据处理集群启动并运行R studio服务器。
**蜂巢**:
回到终端然后输入
beeline -u jdbc:hive2://localhost:10000/default -n *myusername*@*clustername-m* -d org.apache.hive.jdbc.HiveDriver
我们将从HDFS即Google云存储中将数据导入Hive。这里我们只是将数据从我们的存储桶复制到我们的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>';
现在,您在Hive yourtablename中有一个表,其中包含功能 - > location,dept,eid和emanager - >来自Google云端存储中的csv文件 - > gs://
现在退出配置单元(CTRL + Z)并输入:
ln -s /etc/hive/conf/hive-site.xml /etc/spark/conf/hive-site.xml
这是指向hive to 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")
现在到右侧,您将在Environment旁边看到一个名为“Connection”的新选项卡。这是你的火花群集连接,点击它,它应该显示来自Hive的yourtablename。