第四篇 JDBC连接Hive查询


jdbc 连接hive 查询,要做以下几个事情,前面也曾提到:

1 在hadoop的core-site.xml 中增加配置

<property>
            <name>hadoop.proxyuser.root.groups</name>
            <value>*</value>
        </property>

        <property>
            <name>hadoop.proxyuser.root.hosts</name>
            <value>*</value>
        </property>

2 让hive支持自定义验证

http://www.jb51.cc/article/p-evbqggss-bhy.html


3 编写测试程序

package hive.server2.query;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class ApiQueryTest {
	private static String driverName = "org.apache.hive.jdbc.HiveDriver";
	private static final Logger logger = LogManager.getLogger("ApiQueryTest");

	public static void main(String[] args) {

		try {
			Class.forName(driverName);
			Connection con = null;
			con = DriverManager.getConnection("jdbc:hive2://10.68.128.215:10000","root","kangyun9413");
			Statement stmt = con.createStatement();
			ResultSet res = null;
			String sql = "select sum(num) total,url,status from apis.api_logs group by status,url order by total desc limit 10";
			System.out.println("Running: " + sql);
			res = stmt.executeQuery(sql);
			System.out.println("ok");
			while (res.next()) {
				System.out.println(res.getString(1) + "\t" + res.getString(2) + "\t" + res.getString(3));
			}
		} catch (Exception e) {
			e.printstacktrace();
			System.out.println("error");
		}

	}
}

运行:

Centos6.5 64位 安装Hadoop2.7.0, MapReduce日志分析, Hive2.1.0, JDBC连接Hive查询 (4)的更多相关文章

  1. 使用 Swift语言进行 Hadoop 数据流应用程序开发

    如果您发现了问题,或者希望为改进本文提供意见和建议,请在这里指出.在您开始之前,请参阅目前待解决的问题清单.简介本项目包括两类Hadoop流处理应用程序:映射器mapper和总结器reducer。如上所示,在Hadoop上编写流处理程序是一个很简单的工作,也不需要依赖于特定的软件体系。

  2. spring学习JdbcTemplate数据库事务管理

    这篇文章主要为大家介绍了spring学习JdbcTemplate数据库事务管理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  3. JDBC获取数据库连接的5种方式实例

    JDBC是一种用于执行SQL语句的JavaAPI,为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成,提供了诸如查询和更新数据库中数据的方法,这篇文章主要给大家介绍了关于JDBC获取数据库连接的5种方式,需要的朋友可以参考下

  4. Mapreduce分布式并行编程

    这篇文章主要为大家介绍了Mapreduce分布式并行编程使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  5. jsp+jdbc实现连接数据库的方法

    这篇文章主要介绍了jsp+jdbc实现连接数据库的方法,较为详细的分析了jsp+jdbc连接数据库的完整技巧,具有一定参考借鉴价值,需要的朋友可以参考下

  6. JSP中使用JDBC连接MySQL数据库的详细步骤

    本文主要介绍了JSP中使用JDBC连接MySQL数据库的详细步骤,对于初学者具有很好的参考价值,需要的朋友一起来看下吧

  7. 一个jdbc 测试程序代码

    一个jdbc测试程序,需要的朋友可以学习下。

  8. Data Source与数据库连接池简介(JDBC简介)

    DataSource是作为DriverManager的替代品而推出的,DataSource 对象是获取连接的首选方法,这篇文章主要介绍了Data Source与数据库连接池简介(JDBC简介),需要的朋友可以参考下

  9. jdbc操作mysql数据库实例

    这篇文章主要介绍了jdbc操作mysql数据库的方法,涉及jsp基于jdbc针对mysql数据库的连接、插入、查询等简单操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

  10. 一文搞懂Java JDBC中的SQL注入问题

    在用户输入的数据中有SQL关键字或语法,并且关键字或语法参与了SQL语句的编译,导致SQL语句编译后的条件为true,一直得到正确的结果,这种现象就是SQL注入,这篇文章主要介绍了一文搞懂Java JDBC中的SQL注入问题,需要的朋友可以参考下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部