r - R 连接到 Hive protobuf 类错误
问题描述
我正在尝试使用 R 连接到远程 Hive,每向前一步我都会发现一个新错误。目前我正在这样做:
library("DBI")
library("rJava")
library("RJDBC")
cp = c("/path/jars/hadoop-common-3.1.0.jar",
"/path/jars/hive-jdbc-2.3.3-standalone.jar")
.jinit(classpath=cp)
drv <- JDBC("org.apache.hive.jdbc.HiveDriver",
"/path/jars/hive-jdbc-2.3.3-standalone.jar",
identifier.quote="`")
conn <- dbConnect(drv, "jdbc:hive2://<ip>:10000/default", "myuser", "")
我得到的只是以下错误,它与protobuf有关,但不知道这是本地问题(env?)还是服务器端问题。
java.lang.NoClassDefFoundError: com/google/protobuf/ProtocolMessageEnum
解决方案
从 hadoop 安装下载或获取 protobuf.jar 并添加它可以解决问题。
cp = c("/path/jars/hadoop-common-3.1.0.jar",
"/path/jars/hive-jdbc-2.3.3-standalone.jar",
"/path/jars/protobuf-java-2.5.0.jar")
推荐阅读
- css - div溢出父级但不会滚动
- java - 如何在javaFX中不单击按钮从其他类打开弹出窗口?
- python - Django中两个模型之间的ManyToMany关系
- excel - 如何在 Excel 中将 8.991M 和 0.785M 转换为 8.911.000 和 785.000 之类的数字?
- google-apps-script - 从 GDrive 回收站中删除文件
- python - 如何在 aws sagemaker 中提供每日预先计算的预测?
- facebook - 权限错误 Facebook 自定义转换统计
- python - 使用多处理导入外部模块时使用 Django 视图
- swift - 导航栏中的搜索栏行为在 iOS 13 中不一致
- domain-driven-design - 与患者、牙医、治疗和病史的实体和聚合根源混淆