通过jdbc方式连接hive,能让你非常方便、简单地去使用hadoop挖掘数据,门槛大大降低。其实连接方式很简单,但是第一次使用,总会有些莫名奇妙的错误,下面给出一些注意事项,希望对初学者有帮助。
首先我的环境:hadoop2.4.0+hive0.14.0。
所需jar包:
<classpathentry kind="lib" path="lib/commons-collections-3.2.1.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.1.3.jar"/>
<classpathentry kind="lib" path="lib/hadoop-common-2.4.0.jar"/>
<classpathentry kind="lib" path="lib/libfb303-0.9.0.jar"/>
<classpathentry kind="lib" path="lib/httpclient-4.2.5.jar"/>
<classpathentry kind="lib" path="lib/httpcore-4.2.5.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/slf4j-log4j12-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/hive-exec-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hive-jdbc-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hive-metastore-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hive-service-0.14.0.jar"/>
<classpathentry kind="lib" path="lib/hadoop-mapreduce-client-core-2.4.0.jar"/>
如果你运行程序出现以下错误:
java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set.
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
解决方案:
1、System.setProperty("hadoop.home.dir", "D:/hadoop-2.4.0");
2、下载winutils.exe https://github.com/srccodes/hadoop-common-2.2.0-bin/blob/master/bin/winutils.exe
附上测试代码:
public class HiveJdbcClient2 { private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; /** * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { System.setProperty("hadoop.home.dir", "D:/hadoop-2.4.0"); BasicConfigurator.configure(); try { Class.forName(driverName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.exit(1); } Connection con = DriverManager.getConnection("jdbc:hive://127.0.0.1:10000/defalt", "",""); Statement stmt = con.createStatement(); //stmt.executeQuery("drop table test"); stmt.executeQuery("create table if not exists test(amount DOUBLE, st_name string) " + "ROW FORMAT DELIMITED " + "FIELDS TERMINATED BY '\t' " + "STORED AS TEXTFILE"); //stmt.executeQuery("load data inpath '/user/hive_data/test_data.txt' into table gas"); long st = System.currentTimeMillis(); ResultSet res = stmt.executeQuery("select st_name,sum(amount) c from test group by st_name sort by c"); int i=0; while (res.next()) { i++; System.out.println(res.getString(1)+" - "+res.getString(2)); } long en = System.currentTimeMillis(); System.out.println("总耗时:"+(en-st)+",记录总数:"+i); } }
相关推荐
注意事项 1. 确保Hive Server2已经在运行,并且配置的URL、用户名和密码正确。 2. Hadoop的相关环境变量(如HADOOP_HOME)应已设置,并添加到系统路径。 3. 如果Hive服务器有SSL配置,需要在`application....
**使用Hive JDBC驱动的注意事项:** 1. **版本兼容性**:确保Hive JDBC驱动版本与运行的Hive服务版本兼容,否则可能导致连接问题或功能缺失。 2. **配置参数**:正确配置Hive服务器的地址、端口、用户名和密码,以及...
1. 版本兼容性:确保下载的Hive JDBC驱动版本与运行的Hive服务器版本匹配,否则可能无法正常连接。 2. 安全设置:如果Hive服务器有安全认证机制(如Kerberos),需在DBeaver中配置对应的认证信息。 3. 网络环境:...
5. **注意事项**: - 版本兼容性:确保Hive JDBC驱动版本与Hive服务器版本匹配,以避免可能出现的不兼容问题。 - 安全性:在生产环境中,应确保JDBC连接的安全性,避免敏感信息泄露。 - 性能优化:根据实际需求...
7. **注意事项** - 确保Hive服务器已启动并允许远程连接。 - 检查防火墙设置,确保允许DataGrip所在机器访问Hive服务器的端口。 - 驱动版本应与Hive服务版本兼容,否则可能会遇到连接问题。 - 对于大型企业环境...
6. **注意事项**: - 如果Hive使用了Kerberos安全认证,还需要进行Kerberos票据获取和传递,这通常涉及到`javax.security.auth.login.LoginContext`和`Subject`的使用。 - 在生产环境中,考虑使用连接池管理数据库...
`readme.txt`文件可能包含有关驱动程序的详细使用指南、注意事项和版本信息,帮助用户更好地理解和使用Hive JDBC。 总的来说,Hive JDBC Uber 2.6.5.0为用户提供了便捷、高效的方式来访问和操作Hive数据,是Hadoop...
7. **注意事项**: - 确保JAR包版本与Hive、Hadoop和MySQL的版本兼容,否则可能会出现运行时错误。 - 如果Hive部署在高可用环境中,可能需要配置多个Hive服务器的连接信息以实现负载均衡或故障切换。 - 注意Hive...
#### 四、注意事项 1. **集群一致性**: - 确保集群中所有节点都进行了相同的修改,以保持一致性。 2. **版本差异**: - 如果在升级过程中遇到其他问题,应参考 Hive 3.x 版本的官方文档来了解有关配置项的具体...
4. **注意事项**:确保使用的Hive JAR包版本与你的Hive服务器版本兼容,否则可能会遇到连接问题或运行时错误。此外,Hive可能还需要其他依赖的JAR包,如Hadoop相关库,这些也应添加到DbVisualizer的类路径中。 5. *...
4. **注意事项**: - 当涉及到Kerberos认证时,需要确保DataGrid和Hive都配置了正确的安全设置。 - 确保Hive服务正常运行,并且DataGrid能够访问到Hive服务器。 - 如果Hive使用了特定的Hadoop版本或插件,可能...
5. **注意事项**: - Windows上运行Hive可能存在兼容性问题,需要确保所有依赖项(如Hadoop、HDFS、Zookeeper等)都在Windows下正确配置和运行。 - 需要确保Hive与Hadoop版本兼容,否则可能遇到运行错误。 - Hive...
通过本文,我们了解了Hive的三种元数据存储方式——内嵌Derby方式、Local方式和Remote方式,并详细介绍了每种方式的配置步骤及注意事项。对于不同的应用场景,可以选择合适的方式来搭建Hive环境。内嵌Derby方式适用...
- **JDBC/ODBC 客户端**:通过 JDBC 或 ODBC 接口连接到 HiveServer2,支持 Java 等多种编程语言。 6. **编译 Hive 源码** - **准备工作**:安装 Maven 和 JDK。 - **操作步骤**: - 获取 Hive 的源码。 - ...
**步骤五:数据迁移注意事项** - **数据类型转换**:Oracle 中的整型和日期类型最好在迁移过程中转换为字符串类型。这是因为 Hive 中建议统一使用 string 类型,以减少数据类型的不匹配问题。 - **字段匹配**:确保...
- **注意事项**:下载时应选择与当前 Hadoop 版本兼容的 Hive 版本。 ##### 2. 上传并解压Hive文件 - **上传**:使用 FTP 工具或者 `scp` 命令将下载好的 Hive 安装包上传到 Linux 服务器上。 - **解压**:使用...
《Impala JDBC驱动详解》 ...理解其工作原理、安装步骤以及使用注意事项,对于开发基于Impala的数据分析应用至关重要。通过不断学习和实践,开发者可以充分利用JDBC驱动,释放Impala在大数据处理中的强大潜能。
5. **注意事项**: - 确保 MySQL 服务运行正常,并且已创建用于 Hive 的数据库和用户,具有相应的权限。 - 在修改配置文件后,需要重启 Hive 服务以应用新的配置。 - 如果 Hive 将数据存储在 HDFS 中,确保 HDFS ...
### Sqoop 数据采集工具简介 #### 一、概述 **Sqoop** 是一款开源的工具,主要用于在 **Hadoop** 和传统的数据库之间高效地传输大量数据。...此外,还提供了一些注意事项,帮助用户更好地应对实际应用中的挑战。