Jdbc Hive2 无效 URL 异常

2024-01-22

我有一个 Hortonwork 集群 (Linux),想要使用 JDBC 将数据从远程主机加载到 Hive 中。 我试图首先让 JDBC 连接在集群上本地工作,以便我知道在远程尝试之前我已经完成了正确的操作。

Hive 已成功安装,我可以通过 beeline 连接,没有任何问题:

/usr/lib/hive/bin/beeline
Beeline version 0.13.0.2.1.4.0-632 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000
scan complete in 3ms
Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000: someuser
Enter password for jdbc:hive2://localhost:10000: ******
Connected to: Apache Hive (version 0.13.0.2.1.4.0-632)
Driver: Hive JDBC (version 0.13.0.2.1.4.0-632)
Transaction isolation: TRANSACTION_REPEATABLE_READ

我的java类看起来像:

public class HiveConn {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
public static void main(String[] args) throws SQLException {
HiveConn myJob = new HiveConn();
myJob.execute();
}
public void execute() throws SQLException {
//mLogger.info("Start HiveJob");
System.out.println("Start HiveJob");
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(1);
}
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000", "", "");
//Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000", "root", "");
//Statement stmt = con.createStatement();
String sql = "SHOW TABLES";
System.out.println("Running: " + sql);
System.out.println("HiveJob executed!");
}
}

例外情况:

Start HiveJob
    Exception in thread "main" java.sql.SQLException: Invalid URL: jdbc:hive2://localhost:10000/default
        at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:86)
        at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:106)
        at java.sql.DriverManager.getConnection(DriverManager.java:571)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at HiveConn.execute(HiveConn.java:29)
        at HiveConn.main(HiveConn.java:17)

我以 root 身份登录,所以应该没有权限问题。 我已经尝试了所有可能的网址组合,包括完整的主机名,例如

 jdbc:hive2://servername.company.com:10000

and also adding "default" and user-name in every possible combo to the URL like:

jdbc:hive2://localhost:10000/default "user"

I have tried to add authentication NOSASL to the hive-site.xml and adding it to the URL like:

 jdbc:hive2://servername.company.com:10000;auth=NoSasl

我的 ip 表配置如下:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
ip.address  servername.company.com
ip.address  servername.company.com
ip.address  servername.company.com
ip.address  servername.company.com

我不知道还要尝试什么。这可能是我错过的一些愚蠢的事情。


哎呀找到了。 我使用了错误的驱动程序名称,正确的驱动程序名称应该是:

private static String driverName = "org.apache.hive.jdbc.HiveDriver";

怀疑是一个愚蠢的错误......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jdbc Hive2 无效 URL 异常 的相关文章

  • Hive(查找连续 n 列中的最小值)

    我在 Hive 中有一个表 有 5 列 即电子邮件 a first date b first date c first date d first date a b c d 是用户可以执行的 4 个不同操作 上表中的 4 列表示用户执行第一个
  • “[B”是什么样的 Java 类型?

    我正在尝试通过 Java 代码 Hibernate 从 MySQL DB 获取 MD5 加密密码 但我既得不到 Strong 也得不到任何合理的 Java 类型 我唯一收到的是这条无用的消息 java lang ClassCastExcep
  • 何时使用Statement而不是PreparedStatement?

    何时使用语句而不是准备好的语句 我想在没有参数的查询中使用语句 但为什么不使用准备好的语句 对于没有参数的查询 哪一个更快 我想在没有参数的查询中使用语句 但为什么不使用准备好的语句 那还差得远 PreparedStatements 用于返
  • 超时后如何重新建立 JDBC 连接?

    我有一个长时间运行的方法 它通过 EntityManager TopLink Essentials 执行大量本机 SQL 查询 每个查询只需要几毫秒即可运行 但查询数量却有数千个 这发生在单个 EJB 事务内 15 分钟后 数据库关闭连接
  • 使用 JDBC 3.0 实现对嵌套事务的支持

    我们的遗留应用程序使用 JDBC 3 0 它通过实现自己的事务管理器来支持事务 该事务管理器能够为每个线程返回相同的 JDBC 连接 我最近发现的问题是它不支持嵌套事务 如果一个事务在另一个事务中启动 那么在内部事务上下文中运行的每个 SQ
  • 当键是复合键时,metaData.getPrimaryKeys() 返回单行

    我在使用 SQLite 驱动程序的 JDBC 中遇到复合主键问题 The getPrimaryKeys 方法从DatabaseMetaData当我验证该键实际上是由两列组成的复合键时 对象返回单行 有人对如何检索主键的真实列表有任何建议 替
  • JDBC中为什么要关闭连接?如果我们不这样做,会发生什么

    在java中与数据库通信 我们经常遵循以下步骤 加载驱动程序 建立连接 创建声明或PreparedStatement get the ResultSet 关闭连接 我很困惑我们应该关闭连接 都说创建连接很昂贵 所以为什么我们不能这样做 st
  • 通过 hive 访问 maxmind 的 GeoIP-country.mmdb 数据库时出现异常

    我有一个自定义 Hive UDF 来访问 MaxmindGeoIP 国家 mmdb通过 add file pqr mmdb 添加到 Hive 资源的数据库 编译好的 UDF 添加为 add jar abc jar 当我运行 hive 查询时
  • hive创建表的多个转义字符

    我正在尝试将带有管道分隔符的 csv 加载到配置单元外部表 数据值包含单引号 双引号 括号等 使用 Open CSV 版本 2 3 测试文件 csv id name phone 1 Rahul 123 2 Kumar s 456 3 Nee
  • 如何在具有动态列的表中插入值 Jdbc/Mysql

    我想在具有动态列的表中添加值 我设法创建一个包含动态列的表 但我不知道如何插入数据 Create Table sql CREATE TABLE MyDB myTable level INTEGER 255 int columnNumber
  • 用Java将图像添加到数据库

    我正在尝试将图像添加到 mysql 数据库中的 BLOB 字段 图像大小将小于 100kb 但是我遇到了问题 想知道将这些数据添加到数据库的更好方法是什么 com mysql jdbc MysqlDataTruncation 数据截断 第
  • 获取jdbc中表依赖顺序

    我在 MySQL 数据库中有一组表 A B C D 依赖关系如下 B gt C gt A 和 D gt A 也就是说 A 有一个 PrimaryKey C 有一个外键指向 A 的主键 B 有一个外键指向 C 的主键 类似地 D 有一个外键指
  • 在 Hive 中获取数据的交集

    我在配置单元中有以下数据 userid cityid 1 15 2 15 1 7 3 15 2 8 3 9 3 7 我只想保留具有 cityid 15 和 cityid 7 的用户 ID 在我的示例中 它将是用户 ID 1 和 3 我试过
  • 使用 JPype - 如何访问 JDBC 元数据函数

    我在用着杰 德贝API https launchpad net jaydebeapi它使用 JPype 加载 FileMaker 的 JDBC 驱动程序并提取数据 但我也希望能够获取所有表的列表在数据库中 In the JDBC 文档 ht
  • 为什么 Clojure MySQL 查询结果中出现“M”

    我有一个返回一行的 Clojure 查询 下面是返回行 映射 的部分打印输出 employer percent 0 00M premium 621 44M 这两列在mysql表中分别是decimal 5 2 和decimal 7 2 为什么
  • 在 HIVE 中,使用 COALESCE 将 Null 值替换为相同的列值

    我想用同一列中的值替换特定列的空值我想得到结果 我在下面尝试过 select d day COALESCE val LAST VALUE val TRUE OVER ORDER BY d day ROWS BETWEEN UNBOUNDED
  • 我们可以预测 Hive SELECT * 查询结果的顺序吗?

    是否有可能a的结果的顺序SELECT query no ORDER BY 如果使用相同的 DBMS 作为 Metastore 那么总是相同的吗 所以 只要使用MySQL作为Metastore 结果的顺序就为aSELECT 查询将始终相同 如
  • Java MYSQL/JDBC 查询从缓存的连接返回过时的数据

    我一直在 Stackoverflow 中寻找答案 但似乎找不到不涉及 Hibernate 或其他数据库包装器的答案 我直接通过 Tomcat 6 Java EE 应用程序中的 MYSQL 5 18 JDBC 驱动程序使用 JDBC 我正在缓
  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • 让 Hibernate 和 SQL Server 与 VARCHAR 和 NVARCHAR 良好配合

    我目前正在大型数据库的某些表中启用 UTF 8 字符 这些表已经是 MS SQL 类型 NVARCHAR 此外 我还有几个使用 VARCHAR 的字段 Hibernate 与 JDBC 驱动程序的交互存在一个众所周知的问题 例如 参见在 h

随机推荐

  • 在Jmeter中提取数组中的json

    如何提取json对象name从下面json data in Jmeter name x age 50 gender Female 我正在做这个 name在 JsonPath Extractor 中 它在我提取到的变量中给出了这个 name
  • 通过模板渲染时材质列表项看起来不同

    我有一个角度材质列表 我想根据外部提供的模板来渲染项目 然而 这似乎影响了mat list item组件呈现内容 特别是matLine孩子们 按如下方式显式定义项目渲染可以按预期工作
  • TCP 与 UDP - 什么是 TCP 连接? [复制]

    这个问题在这里已经有答案了 TCP 连接到底是什么 据我所知 从客户端到服务器没有物理连接 此连接是否只是客户端的套接字与服务器在三次握手后创建的新套接字链接 此后 一旦建立了 连接 连接两端的套接字就知道将其数据包发送到哪里 除了与 TC
  • 声明一个未知大小的数组

    这不是特定于任何编程语言的 问题是 在 n 个数字的数组中查找指定值的索引 现在我的问题是 在下面的代码中你能声明一个数组吗 int n read n int array n 或者这是允许的 int n array n read n 我认为
  • android api 29 上的 adb remount 是否损坏?

    adb remount从模拟器运行时 无法在 api 29 上正常工作 该命令在已尝试过的所有其他模拟器 18 23 25 26 27 和 28 上运行良好 有什么想法可能是为什么吗 Skip mounting partition prod
  • 空数组作为 PostgreSQL 数组列默认值

    我在 postgresql 9 4 数据库中定义了一个数组字段 character varying 64 我可以有一个空数组吗 作为该字段的默认值 设置的语法是什么 如果仅设置括号 则会出现以下错误 SQL error ERROR synt
  • 尽管有两组使用 ggplot2,但具有单回归线的散点图

    我想用 ggplot2 生成一个散点图 其中包含穿过所有数据点 无论它们来自哪个组 的回归线 但同时通过分组变量改变标记的形状 下面的代码生成组标记 但出现两条回归线 每组一条 model lm df ParamY ParamX p1 lt
  • getSupportActionBar() 使用 Robolectric 返回 null

    当我通过基于 Roboelectric 和 JUnit 的测试用例调用 getSupportActionBar 方法时 该方法返回 null 这是我的简单测试用例 package com mobile test import static
  • Wildfly 上的 Db2 驱动程序/数据源设置:无法加载驱动程序 [com.ibm] 的模块

    我想在我的 Wildfly 服务器 Wildfly 8 0 0 Final 和 8 1 0 上配置 db2 的数据源 但这样做遇到了一些问题 我的研究告诉我这是一个两步过程 将驱动程序作为模块安装在 JBOSS HOME modules c
  • constexpr 与未触及的非 constexpr 参数:谁是正确的,clang 还是 gcc?

    我有 4 个测试用例 我相信它们都是有效的 constexpr int f int const unused return 1 void g int const p constexpr int a f p clang error gcc v
  • 使用 Type 对象创建泛型

    我正在尝试使用 Type 对象创建泛型类的实例 基本上 我将在运行时拥有不同类型的对象的集合 并且由于无法确定它们到底是什么类型 所以我认为我必须使用反射 我正在做类似的事情 Type elType Type GetType obj Typ
  • 让 IntelliJ 了解属性文件

    有没有办法告诉 IntelliJ 某个特定的 properties文件将被加载到项目的环境中 我们用 PropertySource注释来加载属性文件 并在多个位置从由已配置的属性确定的文件加载覆盖值 如下所示 Configuration P
  • 如何在 WooCommerce 产品描述中显示所有图像

    我想用单个产品页面中的描述 所有产品图片 包括变体产品图片 替换我的产品描述 我可以使用 Magento 做到这一点 但现在当更改为 Woocommerce 时我不能 经过研究 我尝试使用过滤钩 但没有成功 我可以在产品描述中添加文本 但我
  • WCF 将对象返回给客户端

    我正在尝试使用 WCF 但我认为我遇到了障碍 我的问题是我可以打电话Add double double and getPerson 来自 客户 但是 我无法调用任何方法Person目的 我用简单的方法剥离了类 这是我的代码片段 请让我知道我
  • 如何检测用户是否登录了 Facebook?

    这是我的场景 当用户打开浏览器并访问 facebook com 进行登录时 我希望能够检测到这一点并启动我的 Facebook 应用程序登录过程 那可能吗 我之所以这么问 是因为我注意到登录 Facebook 本身不会让我的应用程序自动登录
  • sap.m.Input 与 type="Number" 的值绑定会清除输入字段

    这是一个后续问题如何将整数输入值绑定到滑块 https stackoverflow com questions 57930668 how to bind integer input value to slider 我发现演示解决方案在这个答
  • 你能为 UITableView 单元格插入制作自定义动画吗?

    我有一个由 NSFetchedResultsController 填充的 UITableView 在表格的初始加载时 我希望单元格具有动画效果 但我想做更多的自定义动画 tableView insertRowsAtIndexPaths wi
  • 除非 GPS 开启,否则融合位置提供商无法获取位置

    因此 我实现了新的 Fused Location Provider API 来获取用户的位置 但由于某种原因 除非 GPS 打开 否则我无法获取任何位置 并非总是如此 用户会打开 GPS 我不想要求他们每次加载应用程序时都打开 GPS 我如
  • 从后台应用程序以编程方式将电话静音需要什么权限?

    我有一个 Android 应用程序 当用户正在拨打某人拨打的电话时 该应用程序恰好在用户的 Android 手机后台运行 在某个时刻 我的应用程序希望将电话中的音频静音并播放自己的音频 此外 我希望在不干扰用户讲话的情况下执行此操作 我的应
  • Jdbc Hive2 无效 URL 异常

    我有一个 Hortonwork 集群 Linux 想要使用 JDBC 将数据从远程主机加载到 Hive 中 我试图首先让 JDBC 连接在集群上本地工作 以便我知道在远程尝试之前我已经完成了正确的操作 Hive 已成功安装 我可以通过 be