我正在尝试获取在 Ubuntu v16.04 上运行的 LibreOffice 的 Base v5.1.4.2,以通过 JDBC 连接到 Hive v1.2.1 数据库。我将从 Maven Central 下载的以下 jar 添加到 LibreOffice 的类路径(“工具 -> LibreOffice -> 高级 -> 类路径”):
hive-common-1.2.1.jar
hive-jdbc-1.2.1.jar
hive-metastore-1.2.1.jar
hive-service-1.2.1.jar
hadoop-common-2.6.2.jar
httpclient-4.4.jar
httpcore-4.4.jar
libthrift-0.9.2.jar
commons-logging-1.1.3.jar
slf4j-api-1.7.5.jar
然后我重新启动 LibreOffice,打开 Base,选择“连接到现有数据库”->“JDBC”并设置以下属性:
我输入凭据并单击“测试连接”按钮,该按钮返回“连接已成功建立”消息。伟大的!
在 LibreOffice Base UI 中,“表格”面板下的选项显示为灰色。查询选项卡中的选项不是,所以我尝试连接到 Hive。
“使用向导创建查询”选项提示输入密码,然后返回“无法检索来自 'airline.on_time_performance' 的字段名称。”
JDBC 连接能够连接到 Hive 并列出表,但在检索列时似乎存在问题。当我尝试执行一个简单的选择语句时,“在 SQL 视图中创建查询”选项会返回一条有点神秘的“不支持方法”消息:
错误信息有点模糊。我怀疑我可能缺少依赖项,因为我是使用 JDBC 从 Java 连接到 Hive。
我很想知道社区中是否有人拥有使用 Hive 的 LibreOffice Base。如果是这样,我错过了什么?