gpt4 book ai didi

r - 在 R 和 Hive (Hadoop) 数据库之间建立连接

转载 作者:可可西里 更新时间:2023-11-01 14:14:08 24 4
gpt4 key购买 nike

有人知道如何实现吗?

我假设 RJDBC 会有所帮助;但根据我(可能天真)的理解,需要为此编写或改编 Hive 驱动程序进行一些调整。

相关文档:

欢迎任何帮助或建议!如果以前没有人这样做过,我很乐意为解决方案编写一些代码,但我几乎不懂 Java。

最佳答案

R 可以通过 RJDBC 与 Hive 连接。但是,您需要一个 Hive 服务器和驱动程序。

hive 服务器:

hive --service hiveserver 1> /dev/null 2> /dev/null &

驱动程序:为云数据库下载 Toad,http://www.toadworld.com/m/freeware/566.aspx ,并使用其中包含的驱动程序(解压缩 jar 并查找下面的文件)。

下面是一个 R 函数,您可以定义它来创建与 Hive 服务器的连接。

hive_connection <- function(   hostname= 'dlhive01.cloud.msrch', port= 10000, lib_dir ){
library( RJDBC )

hive_jars <- c('commons-logging-1.0.4.jar','hadoop-core-0.20.2+737.jar', 'hive-exec-0.7.1-cdh3u1.jar', 'hive-jdbc-0.7.1-cdh3u1.jar', 'hive-metastore-0.7.1-cdh3u1.jar', 'hive-service-0.7.1-cdh3u1.jar', 'libfb303.jar','libthrift.jar', 'log4j-1.2.15.jar', 'slf4j-api-1.6.1.jar', 'slf4j-log4j12-1.6.1.jar' )

# lib_dir: directory containing the jars above.
hive_class_path <- sprintf( '%s/%s', lib_dir, hive_jars )

drv <- JDBC( 'org.apache.hadoop.hive.jdbc.HiveDriver', classPath= hive_class_path, "`" )

server <- sprintf( 'jdbc:hive://%s:%s/default', hostname, port )

return ( dbConnect( drv, server ) )
}

关于r - 在 R 和 Hive (Hadoop) 数据库之间建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6057875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com