Hive用户接口(二)—使用Hive JDBC驱动连接Hive操作实例

python的jaydebeapi连接hive数据库的踩坑血泪史,含环境问题和TypeError: Class org.apache.hive.jdbc.HiveDriver is not found 目前环境: windows10 64位+spyder3 64位+python3.7 64位+python3.10 64位+Jpype1 64位(不同python版本需要下载不同的Jpype1版本)+Java jdk1.8.0_91 64位 背景:想通过python脚本直连数据库取数即做图表分析,但是发现环境问题一堆,每一次的环境调试都是一把心酸泪,以此记录,望能助君跳坑~ 1、一开始系统直接安装的python版本是3.7,但是在spyder中将对应路径下的python.exe设置为python控制器总是不 阅读详情

Hive用户接口(二)—使用Hive JDBC驱动连接Hive操作实例

原创  2015年01月12日 10:34:11
  • 13185

问题导读:

        1、Hive提供了哪三种用户访问方式?

        2、使用HiveServer时候,需要首先启动哪个服务?

        3、HiveServer的启动命令是?

        4、HiveServer是通过哪个服务来提供远程JDBC访问的?

        5、如何修改HiveServer的默认启动端口?

        6、Hive JDBC驱动连接需要哪些包?

        7、HiveServer2与HiveServer在使用上的不同点?

        Hive提供了三种用户接口:CLI、HWI和客户端。其中客户端即是使用JDBC驱动通过thrift,远程操作Hive。HWI即提供Web界面远程访问Hive,可参考我的另外一篇博文:Hive用户接口(一)—Hive Web接口HWI的操作及使用。但是最常见的使用方式还是使用CLI方式。下面介绍Hive使用JDBC驱动连接操作Hive,我的Hive版本是Hive-0.13.1。

         Hive JDBC驱动连接分为两种,早期的是HiveServer,最新的是HiveServer2,前者本身存在很多的问题,如安全性、并发性等,后者很好的解决了诸如安全性和并发性等问题。我先介绍HiveServer的用法。

一、启动元数据MetaStore

        使用任何方式连接Hive,都首先需要启动Hive元数据服务,否则执行HQL操作无法进行。

[html]  view plain  copy
  1. [hadoopUser@secondmgt ~]$ hive --service metastore  
  2. Starting Hive Metastore Server  
  3. 15/01/11 20:11:56 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces  
  4. 15/01/11 20:11:56 INFO Configuration.deprecation: mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize  
  5. 15/01/11 20:11:56 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative  
  6. 15/01/11 20:11:56 INFO Configuration.deprecation: mapred.min.split.size.per.node is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.node  
  7. 15/01/11 20:11:56 INFO Configuration.deprecation: mapred.input.dir.recursive is deprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive  
二、启动HiveServer服务

        HiveServer使用thrift服务来为客户端提供远程连接的访问端口,在JDBC连接Hive之前必须先启动HiveServer。

[html]  view plain  copy
  1. [hadoopUser@secondmgt ~]$ hive --service hiveserver  
  2. Starting Hive Thrift Server  
  3. 15/01/12 10:22:54 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces  
  4. 15/01/12 10:22:54 INFO Configuration.deprecation: mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize  
  5. 15/01/12 10:22:54 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative  
  6. 15/01/12 10:22:54 INFO Configuration.deprecation: mapred.min.split.size.per.node is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.node  
  7. 15/01/12 10:22:54 INFO Configuration.deprecation: mapred.input.dir.recursive is deprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive  
         hiveserver默认端口是10000,可以使用 hive --service hiveserver -p 10002,更改默认启动端口,此端口也是JDBC连接端口。

         注意:hiveserver不能和hwi服务同时启动使用。

三、在IDE中创建Hive工程

       我们使用Eclipse作为开发IDE,在Eclipse中创建hive工程,并导入Hive JDBC远程连接相关包,所需的包如下所示:

[html]  view plain  copy
  1. hive-jdbc-0.13.1.jar  
  2. commons-logging-1.1.3.jar  
  3. hive-exec-0.13.1.jar  
  4. hive-metastore-0.13.1.jar  
  5. hive-service-0.13.1.jar  
  6. libfb303-0.9.0.jar  
  7. slf4j-api-1.6.1.jar  
  8. hadoop-common-2.2.0.jar  
  9. log4j-1.2.16.jar  
  10. slf4j-nop-1.6.1.jar  
  11. httpclient-4.2.5.jar  
  12. httpcore-4.2.5.jar  
四、编写连接与查询代码

[html]  view plain  copy
  1. package com.gxnzx.hive;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DriverManager;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.sql.Statement;  
  8.   
  9. public class HiveServer2 {  
  10.   
  11. private static Connection conn=null;  
  12.   
  13.         public static void main(String args[]){  
  14.   
  15.                 try {  
  16.                           Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");  
  17.   
  18.                           conn=DriverManager.getConnection("jdbc:hive://192.168.2.133:10000/hive", "hadoopUser", "");  
  19.   
  20.                           Statement st=conn.createStatement();  
  21.   
  22.                           String sql1="select name,age from log";  
  23.                            
  24.                           ResultSet rs=st.executeQuery(sql1);  
  25.   
  26.                           while(rs.next()){  
  27.   
  28.                                   System.out.println(rs.getString(1)+"     "+rs.getString(2));  
  29.                           }  
  30.   
  31.                 } catch (ClassNotFoundException e) {  
  32.   
  33.                         e.printStackTrace();  
  34.                 } catch (SQLException e) {  
  35.   
  36.                         e.printStackTrace();  
  37.                 }  
  38.         }  
  39. }  
         其中:org.apache.hive.jdbc.HiveDriver是Hive JDBC连接驱动名,使用DriverManager.getConnection("jdbc:hive2://<host>:<port>", "<user>", "");创建连接。运行结果如下:

[html]  view plain  copy
  1. Tom     19  
  2. Jack     21  
  3. HaoNing     12  
  4. Hadoop     20  
  5. Rose     23  
五、HiveServer2与HiveServer的区别

         hiveserver2在安全性和并发性等方面比hiveserver好,在JDBC实现上面差别不大,主要有以下方面不同:

        1、服务启动不一样,首先要启动hiveserver2服务

[html]  view plain  copy
  1. [hadoopUser@secondmgt ~]$ hive --service hiveserver2  
  2. Starting HiveServer2  
  3. 15/01/12 10:13:42 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces  
  4. 15/01/12 10:13:42 INFO Configuration.deprecation: mapred.min.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize  
  5. 15/01/12 10:13:42 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative  
  6. 15/01/12 10:13:42 INFO Configuration.deprecation: mapred.min.split.size.per.node is deprecated. Instead, use mapreduce.input.fileinputformat.split.minsize.per.node  
  7. 15/01/12 10:13:42 INFO Configuration.deprecation: mapred.input.dir.recursive is deprecated. Instead, use mapreduce.input.fileinputformat.input.dir.recursive  

        2、驱动名不一样

[html]  view plain  copy
  1. HiveServer—>org.apache.hadoop.hive.jdbc.HiveDriver  
  2.   
  3. HiveServer2—>org.apache.hive.jdbc.HiveDriver  
       3、创建连接不一样

[html]  view plain  copy
  1. HiveServer—>DriverManager.getConnection("jdbc:hive://<host>:<port>", "<user>", "");  
  2.   
  3. HiveServer2—>DriverManager.getConnection("jdbc:hive2://<host>:<port>", "<user>", "");  
        4、完整实例

[html]  view plain  copy
  1. package com.gxnzx.hive;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DriverManager;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.sql.Statement;  
  8.   
  9. public class HiveJDBCTest {  
  10.   
  11.         private static Connection conn=null;  
  12.   
  13.         public static void main(String args[]){  
  14.   
  15.                 try {  
  16.                           Class.forName("org.apache.hive.jdbc.HiveDriver");  
  17.   
  18.                           conn=DriverManager.getConnection("jdbc:hive2://192.168.2.133:10000/hive", "hadoopUser", "");  
  19.   
  20.                           Statement st=conn.createStatement();  
  21.   
  22.                           String sql1="select name,age from log";  
  23.   
  24.                           ResultSet rs=st.executeQuery(sql1);  
  25.   
  26.                           while(rs.next()){  
  27.   
  28.                                   System.out.println(rs.getString(1)+"     "+rs.getString(2));  
  29.                           }  
  30.   
  31.                 } catch (ClassNotFoundException e) {  
  32.   
  33.                         e.printStackTrace();  
  34.                 } catch (SQLException e) {  
  35.   
  36.                         e.printStackTrace();  
  37.                 }  
  38.   
  39.   
  40.         }  
  41. }  
附:相关异常及解决办法

       异常或错误一

[html]  view plain  copy
  1. SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".  
  2. SLF4J: Defaulting to no-operation (NOP) logger implementation  
  3. Failed to load class org.slf4j.impl.StaticLoggerBinder  
      官方解决方法

[html]  view plain  copy
  1. This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. This happens when no appropriate SLF4J binding could be found on the class path. Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.  
  2.   
  3. since 1.6.0 As of SLF4J version 1.6, in the absence of a binding, SLF4J will default to a no-operation (NOP) logger implementation.  
     将slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar 或者logback-classic.jar中的 任何一个导入到工程lib下,slf4j相关包下载地址如下: slf4j bindings。
     异常或错误二

[html]  view plain  copy
  1. Job Submission failed with exception 'org.apache.hadoop.security.AccessControlException(Permission denied: user=anonymous,   
  2.   
  3. access=EXECUTE, inode="/tmp":hadoopUser:supergroup:drwx------  
  4.         at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:234)  
  5.         at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:187)  
  6.         at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:150)  
  7.         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5185)  
  8.         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5167)  
  9.         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOwner(FSNamesystem.java:5123)  
  10.         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermissionInt(FSNamesystem.java:1338)  
  11.         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermission(FSNamesystem.java:1317)  
  12.         at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setPermission(NameNodeRpcServer.java:528)  
  13.         at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setPermission  
  14.   
  15. (ClientNamenodeProtocolServerSideTranslatorPB.java:348)  
  16.         at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod  
  17.   
  18. (ClientNamenodeProtocolProtos.java:59576)  
  19.         at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)  
  20.         at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)  
  21.         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2048)  
  22.         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044)  
  23.         at java.security.AccessController.doPrivileged(Native Method)  
  24.         at javax.security.auth.Subject.doAs(Subject.java:415)  
  25.         at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)  
  26.         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2042)  
       执行程序的时候,报上述错误,是因为一开始我的连接内容是如下方式,没有添加用户, 此处的用户不应该是hive的用户,而应该是Hadoop的用户:

[html]  view plain  copy
  1. conn=DriverManager.getConnection("jdbc:hive2://192.168.2.133:10000/hive", "", "");  

   
      解决办法:
  

[html]  view plain  copy
  1. conn=DriverManager.getConnection("jdbc:hive2://192.168.2.133:10000/hive", "hadoopUser", "");  
       hadoopUser 是我Hadoop的用户,添加后使用正常。
       

       更多内容,请参考官网网址学习:HiveServer2 Clients。

如何用jdbc连接hive 首先要启动hiveserver 执行命令 nohup hive --service hiveserver & jdbc访问hive与访问普通关系型数据库的流程基本一致 代码如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Stat 阅读详情

相关推荐

Hive的JDBC连接

一、环境 Hadoop 0.20.2版本、Hive-0.5.0版本、JDK1.6 二、使用目的 1、一般来说我们对hive的操作都是通过cli来进行,也就是Linux的控制台,但是,这样做本质上是每个连接都存放一个元数据,各个之间都不相同,所以,对于这样的模式我建议是用来做一些测试比较合适,并不适合做产品的开发和应用。 2、因此,就产生的JDBC连接的方式,当然还有其他的连接方式,比如ODBC等。 三、连接的配置 1、修改hive-site.xml

dajuezhao的专栏 8258

Hive-jdbc驱动程序

1.启动hiveserver2服务器,监听端口10000 $&gt;hive --service hiveserver2 &amp; 2.通过beeline命令行连接到hiveserver2 $&gt;beeline //进入beeline命令行(于hive --service beeline) $beeline&gt;!help ...

qq_37668945的博客 1万+

Java 使用JDBC连接 Hive(HiveClient On JDBC)

使用JDBC方式连接Hive 。

苍穆的博客 2万+

java连接hive出现的各种错误

连接hive代码 private static final String driver = "org.apache.hive.jdbc.HiveDriver"; private static final String url = "jdbc:hive://192.168.10.102:10000/fruit"; @Test public void linkHive(){ Connection conn = null; try { C

qq_44724453的博客 4848

如何使用DBeaver连接hive

命令把这个jar包下载到本地(

Sun's Blog 5733

DBeaver中连接Hive的JDBC驱动安装与配置指南

本文还有配套的精品资源,点击获取 简介:本文详细介绍了如何在DBeaver中安装和配置用于连接Hive数据库的JDBC驱动包——hive-jdbc-uber- . . . -292.jar。文章首先解释了Hive JDBC驱动的角色,然后分步骤讲解了下载、添加驱动、配置连接,并指导如何使用DBeaver来操作Hive数据库。此外,还提供了在实际使...

weixin_36064575的博客 4665

java通过JDBC驱动连接操作hive实例

Hive提供了jdbc驱动,使得我们可以用java代码来连接Hive并进行一些类关系型数据库的sql语句查询等操作。首先,我们必须将Hive的服务,也就是HiveServe打开。在Hive 0.11.0版本前,只有HiveServer服务可用,但是HiveServer本身存在很多问题(比如:安全性、并发性等);针对这些问题,Hive-0.11.0版本后提供了一个全新的服务:HiveServer2,

但行好事,莫问前程 1万+

掌握JDBC连接Hive:驱动jar包全解析

在大数据处理领域,Hive作为一个数据仓库基础架构,提供了类SQL的查询语言HiveQL来查询存储在Hadoop文件系统中的大规模数据集。作为一种简化数据仓库技术,Hive提供了对数据的抽象和存储层的优化,使得数据分析人员能够在没有深入学习Java或MapReduce的情况下,使用类似传统SQL的方式来分析数据。HiveQL被广泛用于数据挖掘和数据转换,能够有效地执行聚合操作、连接操作等复杂的数据处理,特别适用于数据仓库应用场景,如日志分析、数据报表生成等。

weixin_42506884的博客 835

java 通过jdbc驱动连接hive操作实例

1,hive首先要起动远程服务接口,命令: nohup hive –service hiveserver  &  2,java工程中导入相应的需求jar包,列表如下: antlr-runtime-3.0.1.jar hive-exec-0.7.1.jar hive-

豹先生 1万+

JDBC连接Hive实践指南

Apache Hive 是一个建立在 Hadoop 之上的数据仓库框架,提供了类 SQL 语言(HiveQL)进行数据查询和管理。它允许用户直接使用 SQL 查询大数据,而不需要深入复杂的 MapReduce 编程模型。Hive 将 SQL 转换为一系列的 MapReduce、Tez 或 Spark 任务进行实际的计算,使得数据仓库操作更加简单和高效。JDBC(Java Database Connectivity)是一个Java API,允许Java程序执行SQL语句,从而与各种数据库进行交互。

weixin_26805451的博客 1256

Hive JDBC连接配置与实践

Hive是一个建立在Hadoop之上的数据仓库工具,它提供了一种类似SQL的查询语言(HiveQL)来分析存储在Hadoop文件系统中的大规模数据。而JDBC(Java Database Connectivity)是一种Java应用程序接口,它定义了Java程序如何与数据库进行通信,从而允许从Java程序中直接访问Hive。Apache Commons Collections 是一个扩展的Java集合框架,它提供了很多实用的接口和实现类,增强了标准的Java集合框架。

weixin_31419153的博客 1149

Java通过JDBC连接Hive并进行操作

1.工程需要的maven依赖 注意:hive的依赖包的版本需要hive中间件中的lib下对应的hive包的版本一致,否则可能会有版本兼容问题。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch..

houkai的博客 1万+

PDF与OFD电子发票解析技术实战:从格式转换到精准识别

本文深入探讨了PDF与OFD电子发票解析技术的实战应用,从格式转换到精准识别,提供了全面的解决方案。通过OFD转PDF技术、动态定位算法和多重校验机制,显著提升电子发票识别效率与准确率,助力企业财务数字化转型。

weixin_42565652的博客 163

通过JDBC驱动连接Hive操作实例

转自:http://www.aboutyun.com/forum.php?mod=viewthread&tid=7083&highlight=hive 本帖最后由 pig2 于 2014-3-8 01:16 编辑 我们在编程过程中数据库连接比较常用的,如果连接hive可以作为参考:虽然内容较短,但是里面仍有文章: 1.连接涉及到那些包? 2.Class.

lskyne的专栏 6552

用豆包+Skill从零制作AI漫剧:分镜、画面、配音到成片全流程

AI漫剧作为一种新兴内容形态,结合AI绘画与AI视频生成技术,正在改变短视频创作方式。其核心原理是利用提示词工程,将创意转化为结构化分镜脚本,再通过豆包等AI助手的Skill能力,将重复的脚本生成和分镜拆解流程固化为可复用的指令模板,从而大幅降低从构思到成品的生产门槛。这种模式无需剧组、演员和实景拍摄,让个人创作者也能借助图像生成、TTS配音与剪辑合成工具,批量化地生产剧情短片,适用于短视频平台连载、商业定制与个人IP打造。围绕豆包+Skill这条主线,从选题、剧本写作、分镜表设计,到画面提示词生成、视频片

weixin_29048309的博客 1463

用C#和MQTTnet在WinForm里做个简易物联网监控后台(附完整源码)

本文详细介绍了如何使用C#和MQTTnet库在WinForm中构建一个简易物联网监控后台。通过实战案例,包括环境配置、MQTT服务端实现、客户端监控功能及高级优化技巧,帮助开发者快速搭建高效的物联网监控系统,适用于工业自动化和智能家居场景。

weixin_29540599的博客 392

Hive数据交互的桥梁:JDBC/ODBC连接与操作全解析

在大数据技术快速发展的今天,Hive作为Hadoop生态系统中的关键组件,承担着数据仓库和SQL查询引擎的重要角色。它通过将结构化的数据文件映射为数据库表,并提供了类SQL的查询语言HiveQL,使得非编程背景的数据分析师也能轻松处理海量数据。然而,Hive本身运行在分布式环境中,如何让外部应用程序高效、安全地访问和操作其中的数据,成为一个亟待解决的问题。这就是JDBC和ODBC登场的背景。简单来说,Hive的设计初衷是提供大数据批处理能力,但它并不直接支持多种编程语言或工具的实时数据交互。

zuiyuelong的博客 1725

Infiniband互连网络概述

一、Infiniband是什么? InfiniBand(简称IB)是一种工业标准规范,它定义了一种输入/输出架构,用于计算节点、通信基础设施设备、存储和嵌入式系统的互连。操作系统可以是Linux、Windows或ESXI。 IB网络一共是五层,从第一天起,IB就被设计为提供一个端到端的解决方案,改善和加速从物理层到上层的所有协议层。 IB协议于2000年由IBTA(InfiniBand Trade Association)提出,其规定了一...

weixin_41687819的博客 5226

Java通过JDBC操作Hive

连接前请确保hive开了远程服务 连接驱动 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class HiveJDBCUtils { private static String driverName = &amp;amp;amp;quot;org.apache.hive.jdbc.Hi...

amy acker的博客 3504

Open3D 使用CPD算法对点云配准【2025最新版】

Coherent Point Drift相干点漂移算法实现点云配准(python代码)博客长期更新,本文最近更新时间为:2025年2月2日。

点云侠的博客 8万+

AUTOSAR从入门到精通-【自动驾驶】特斯拉全自动驾驶(FSD)

特斯拉全自动驾驶系统(Full-Self Driving,简称FSD)是特斯拉公司开发的高级驾驶辅助系统,旨在通过神经网络技术实现环境感知与车辆控制,在驾驶员监督下完成导航、转向、变道、泊车等操作。‌ 该系统自2021年发布Beta测试版以来持续迭代,最新版本为2025年10月推出的v14版本。‌FSD v14版本基于端到端神经网络架构,取代了传统代码逻辑,通过数百万视频片段训练模型,以模仿人类驾驶决策。‌ 其功能覆盖住宅区街道、城市道路及高速公路,支持交通信号识别、自动变道和环岛通行等场景。

getusushu的博客 570

使用jdbc连接Hive

一、hive提供了jdbc的连接方式,就是在hive的某个计算节点开启hiveserver2启动方法如下 默认已启动hadoop 先启动hive元数据服务 hive --service metastore & 再启动hiveserver2服务 hive--servicehiveserver2 & 验证:如下,已通过beeline连接上hiveserver2,证明服务已开启 二、通过java jdbc连接hiveserver2 将这两个jar包从服务器上的hive li..

LSB19930706的博客 1万+

VTK GPU 加速渲染技术

/ 创建颜色工具// 创建立方体数据// 创建OpenGL映射器(注意使用vtkOpenGLPolyDataMapper而不是常规的vtkPolyDataMapper)// 启用VBO(顶点缓冲对象)// 声明几何体是静态的以获得最佳性能// 创建actor// 创建渲染器、渲染窗口和交互器renderWindow->SetWindowName("VTK自定义着色器示例");// 添加actor到渲染器。

深之JohnChen的专栏 1240

通过JDBC连接Hive

使用JDBC去操作hive可能是程序员们比较喜欢的一种方式,今天来总结一下使用java api来对hive进行增删查改,这里我主要演示对hive表中数据的操作,不创建表已经改变表原有的结构。本文基于hive已经能正常使用的情况。 首先hive必须以服务方式启动,平台默认启动时hive server2 模式。hiveserver2是比hiveserver更高级的服务模式,提供了hiveserver...

夏天小厨的博客 3899

YOLOv8改进 | 融合篇,YOLOv8改进主干网络为MobileNetV4+CBAM注意机制+Powerful-IoU损失函数(2024 最新IOU),全网首发,实现极限涨点

本文将在 YOLOv8 主干中引入 MobileNetV4 轻量化骨干,同时,在检测头引入 CBAM机制注意力机制,并采用 Powerful-IoU 损失函数作为模型的损失函数,其中,MobileNetV4 通过引入通用反向瓶颈(UIB)搜索块和 Mobie MQA 注意力模块创新设计,实现了模型的轻量级化;同时,MobileNetV4 采用了优化的 NAS 策略,通过粗粒度和细粒度搜索相结合的方法,显著提高了搜索效率并改善了模型质量。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3783

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: Hive 1.21
下一篇: SpringBoot 快速搭建
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值