1

我正在尝试获取在 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。如果是这样,我错过了什么?

4

1 回答 1

1

对于大多数功能, Apache JDBC 驱动程序报告“方法不支持”,只是因为 Apache 提交者没有费心处理简单的API 调用列表。呃。 如果您想自己查看,只需下载 DBVisualizer Free,配置 Apache Hive 驱动程序,打开连接,然后检查Database Info选项卡。yes/no

现在,DBVis 对蹩脚的驱动程序相当宽容,但似乎 LibreOffice 不是。

您可以尝试使用Cloudera Hive JDBC 驱动程序作为替代方案。您只需“注册”(即留下您的电子邮件地址)即可访问下载 URL;它比 Apache 更容易部署(基于 Simba SDK,捆绑了所有 Hive 特定的 JAR),并且可以与任何 BI 工具一起使用。所以希望它也适用于 LibreThing。

免责声明:我希望 Apache 发行版有一个合适的 JDBC 驱动程序,任何人都可以使用它而不是依赖“免费”商业软件。但目前这只是一个愿望。

于 2016-07-11T14:50:19.527 回答