Hive的客户端操作

Hive的客户端操作

  • 通过JDBC操作Hive
  • 通过Thrift操作Hive
通过JDBC操作Hive
  • 首先 Hive 启动远程服务

    hive --service hiveserver
  • 需要的jar包

public class TestQuery {

    private static final String dirver ="org.apache.hadoop.hive.jdbc.HiveDriver";
private static final String url ="jdbc:hive://192.168.131.111:10000/default"; @Test
public void testQuery() throws Exception{ Class.forName(dirver);
String sql = "select * from emp";
Connection conn = DriverManager.getConnection(url);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql); while(rs.next()){
//不能写列名
String ename = rs.getString();
int sal = rs.getInt();
System.out.println(ename+"\t"+sal);
}
JDBCUtil.release(conn, st, rs);
}
}
通过Thrift操作Hive
package com.zd.thrift;

import java.util.List;
import org.apache.hadoop.hive.service.HiveClient;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;
import org.junit.Test; public class TestThrift {
@Test
public void testThrift() throws Exception{ //创建socket连接
TSocket socket = new TSocket("192.168.131.111",);
TProtocol prot = new TBinaryProtocol(socket); //创建HiveClient
HiveClient client = new HiveClient(prot); //打开socket通信
socket.open(); //执行HQL语句
//client.execute("desc emp");
client.execute("select * from emp where deptno=10"); //取出返回的结果
List<String> list = client.fetchAll(); //结果集以行为单位 被封装进List
for (String string : list) {
System.out.println(string);
}
socket.close();
}
}

Hive的两种操作模式的更多相关文章

  1. SD卡两种操作模式在项目中应用的比较

    1.SDIO接口传输速度比SPI接口传输速度快:2.STM32的SDIO口还真的不好用 特别是4BIT的方式 我都纠结了好久了 用1BIT的方式倒是可以 速度大概可以到读2M字节每秒(STM32F20 ...

  2. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  3. ASP.Net的两种开发模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  4. javaweb学习总结(二十一)——JavaWeb的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  5. JAVA学习篇--JAVA两种编程模式控制

    在Drp项目中,解说了两种编程模式Model 1和Model2.以下是对这两种模式的简单理解.以及因为Model2是基于MVC架构的模式,就将我们易混淆的MVC与我们之前学的三层架构进行对照学习一下. ...

  6. LR两种录制模式的区别

    loadrunner的录制模式分为如下两种录制模式: HTML-based script,也称为高层录制: URL-based script,也称为底层录制. 两种录制模式的区别:1)脚本不同:高层录 ...

  7. JavaWeb学习 (二十)————JavaWeb的两种开发模式

    一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示

  8. javaweb(二十一)——JavaWeb的两种开发模式

    一.JSP+JavaBean开发模式 1.1.jsp+javabean开发模式架构 jsp+javabean开发模式的架构图如下图(图1-1)所示

  9. javaweb基础(21)_两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

随机推荐

  1. docker建镜像

    docker建镜像 # build docker build -t $(BASE):$(TAG) -f run.docker . Dockerfile Dockerfile是自定义镜像的一个重要帮手, ...

  2. 解决Android studio导航tools下没有android怎么打开DDMS工具

    因为这个功能用的人少, 新版本就去掉菜单入口了, 但这个功能并没有删除,打开方式:点开terminal ,也就是AS自带的命令行工具, 输入monitor 回车就启动了, 1.点开terminal 2 ...

  3. Django之mysql数据库配置

    在settings.py中配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': 'my ...

  4. 【原】python 检查网站访问是否超时,并用钉钉机器人报警

    #!/usr/bin/env python import requests import json import logging webhook="上面创建钉钉机器人的webhook地址&q ...

  5. C++学习(12)—— 运算符重载

    运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 1.加号运算符重载 作用:实现两个自定义数据类型相加的运算 #include <iostream> #i ...

  6. httprunner学习14-完整的项目结构设计

    前言 一个完整的接口自动化测试项目到底该如何设计?httprunner框架的知识点其实并不多,前面基本上把一些重要的概念都介绍完了. 本篇就是一个总结性的,可以用于实际工作中设计一个接口自动化测试项目 ...

  7. 27、shutil文件操作、xml、subprocess运行子程序模块(了解)

    一.shutil模块(了解):高级的文件.文件夹.压缩包处理模块. import shutil # shutil.copyfileobj(fsrc, fdst[, length]),将文件内容拷贝到另 ...

  8. Arduino通过串口监视器收发数据

    在串口监视器中发送数据,板子收到数据并打印出来. 不需要额外电路,但是板子必须连接电脑,Arduino IDE的串口监视器也需要被打开. 代码 /* 串口事件 当新的串口数据到来时,我们会将它添加到一 ...

  9. Linked List Sorting

    静态链表(用结构体数组模拟链表)     1052 Linked List Sorting (25分)   A linked list consists of a series of structur ...

  10. OpenCV 学习笔记(8)彩色图像RGB通道的分离、合并与显示

    https://blog.csdn.net/ZYTTAE/article/details/42234989 由于算法的需要,需要把彩色图像的R.G.B值分离出来,OpenCV中正好有split() 和 ...