hive第一篇----简介和使用客户端

通过数据库客户端界面工具DBeaver连接Hive 本文讲解如何通过数据库客户端界面工具DBeaver连接hive,并解决驱动下载不下来的问题。为什么使用客户端界面工具而不用命令行使用hive其实在网上搜一下,连接hive的工具还有很多,使用DBeaver的原因是因为我之前连接关系型数据库使用的就是DBeaver,正好DBeaver支持连接hive,且个人认为DBeaver确实挺好用的,支持各... 阅读详情

摘要by crazyhacking:•Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。•本质是将SQL转换为MapReduce程序的映射器

详细的入门教程大家参考《hive指南》比较好。


  Hive是Hadoop项目中的一个子项目,由FaceBook向Apache基金会贡献,其中TaoBao也是其中一位使用者+贡献者,Hive被视为一个仓库工具,可以将结构化的数据文件映射为一张数据库表,并可以将sql语句转换为 MapReduce 任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 
  
Hive主要分为以下几个部分:
    1.用户接口 
       用户接口主要有三个:命令行(CLI),客户端(Client) 和 Web界面(WUI)。其中最常用的是 CLI,启动的时候,会同时启动一个 Hive 服务。Client 是 Hive 的客户端,用户连接至 Hive Server。在启动 Client 模式的时候,需要指出 Hive Server 所在节点,并且在该节点启动 Hive Server。 WUI 是通过浏览器访问 Hive的Web工具。
   2.元数据存储 
       Hive 将元数据存储在数据库中,如 MySQL或者Derby嵌入式数据库。若将元数据存储在MySQL中,在TBLS中可以看见你建立的所有表信息,Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
   3. 执行
    解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行。
   4. HDFS存储
    Hive 的数据存储在 HDFS 中,大部分的查询由 MapReduce 完成(包含 * 的查询,比如 select * from tbl 不会生成 MapRedcue 任务)。
如图所示:
Hive 架构

Hive 元数据存储
    Hive 将元数据存储在 RDBMS 中,有三种模式可以连接到数据库:

    Single User Mode: 此模式连接到一个 In-memory 的数据库 Derby,一般用于 Unit Test,如图1
                             Hive
   Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的组合模式,如图2
                             
   Remote Server Mode:用于非 Java 客户端访问元数据库,在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 这个东东 通过 MetaStoreServer 访问元数据库。如图3
                            

Hive 的启动方式
    hive  命令行模式,直接输入/hive/bin/hive的执行程序,或者输入 hive –service cli
    hive  web界面的启动方式,hive –service hwi  
    hive  远程服务 (端口号10000) 启动方式,nohup hive –service hiveserver  &

Hive的SQL
建表
    CREATE TABLE javabloger (foo INT, bar STRING);  
插入
    LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE javabloger;
查询
    SELECT a.* FROM javabloger a;

Hive使用MySQL存放元数据
    可以参考一下这篇文章
    http://www.mazsoft.com/blog/post/2010/02/01/Setting-up-HadoopHive-to-use-MySQL-as-metastore.aspx  
    别忘了下载 MySQL 的JDBC驱动,推荐下载 mysql-connector-java-5.1.11.tar.gz 
   
Hive 与 JDBC 

导入hive\lib下的所有jar包到IDE的classpath里面,还有hadoop中的 hadoop-0.20.2-core.jar包,即可运行下列代码:

package com.javabloger.hive;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class HiveTestCase {

    public static void main(String[] args) throws  Exception {
        Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver");
        
        String dropSQL="drop table javabloger";
        String createSQL="create table javabloger (key int, value string)";
        String insterSQL="LOAD DATA LOCAL INPATH '/work/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE javabloger";
        String querySQL="SELECT a.* FROM javabloger a";
        
        Connection con = DriverManager.getConnection("jdbc:hive://192.168.20.213:10000/default", "", "");
        Statement stmt = con.createStatement();
        stmt.executeQuery(dropSQL);  // 执行删除语句
        stmt.executeQuery(createSQL);  // 执行建表语句
        stmt.executeQuery(insterSQL);  // 执行插入语句
        ResultSet res = stmt.executeQuery(querySQL);   // 执行查询语句
        
          while (res.next()) {
            System.out.println("Result: key:"+res.getString(1) +"  –>  value:" +res.getString(2));
        }

    }

}

转自: http://www.javabloger.com/article/apache-hive-2.html

解决hive客户端无法连接远程hive server问题 问题描述 远端主机 hadoop01 安装了hive server并且已经启动 在hadoop02机器上安装hive作为客户端想登陆server,发现提示错误: Logging initialized using configuration in jar:file:/opt/hive/lib/hive-common-0.13.1.jar!/hive-log4j.properties 阅读详情

相关推荐

Hive(3):Hive客户端使用

在嵌入式模式下,它运行嵌入式 Hive(类似于Hive Client),而远程模式下beeline通过 Thrift 连接到单独的 HiveServer2 服务上,这也是官方推荐在生产环境中使用的模式。二是用于Hive相关服务的启动,比如metastore服务。第二代客户端(recommended 推荐使用):$HIVE_HOME/bin/beeline,是一个JDBC客户端,是官方强烈推荐使用的Hive命令行工具,和第一代客户端相比,性能加强安全性提高。Hive发展至今,总共历经了两代客户端工具。

u013938578的博客 2992

hive报错: cannot recognize input near ‘<EOF>‘ ‘<EOF>‘ ‘<EOF>‘ in subquery source

关注微信公共号:小程在线 关注优快云博客:程志伟的博客 hive版本:2.1.1 报错: FAILED: ParseException line 28:35 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source 解决方法: 给字表添加别名。 报错SQL: select a from ( select a,b,c,d from asdf); 正确SQL:

程志伟的博客 2万+

hive-cli-1.1.0.jar

大数据hadoop中hive-1.1.0 的cli ,jar包,hive-cli-1.1.0.jar

HIVE中出现ParseException line 1:22 missing ALL at ‘select‘ near ‘<EOF>‘的解决办法

我们在以前无论是使用MYSQL 还是DB2等关系型数据库中都会常常使用Union或者Union all来做两个查询的并集或者并集的去重操作,虽然有影响查询性能,但是还是相当的方便的。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序; 在hive想同样使用union对两个数据集进行去重查询,在执行操作后,发现是日志报错了:错误如下: ParseException line 1:22 missin...

Miracle.Zhao的博客 5013

hive所有jar文件

用于Hive和HBase的连接,通过hive操作hbase上的表 解压缩后全部放入hive/lib下,需先删除原有jar

Flamingo Project:工作流设计器,Hive编辑器,Pig编辑器,文件系统浏览器-开源

Flamingo是一个开源的大数据平台,结合了Ajax富Web界面+工作流引擎+工作流设计器+ MapReduce + Hive编辑器+ Pig编辑器。 1.简单易用的大数据工具2.在Hadoop EcoSystem项目中轻松使用3.基于GPL V3许可证,支持Pig IDE,Hive IDE,HDFS浏览器,调度程序,Hadoop作业监视,工作流引擎,工作流设计器,MapReduce。

Apache Hive入门1

作者: H.E. | 您可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://www.javabloger.com/article/apache-hive-jdbc-mapreduce.html      Hive是Hadoop项目中的一个子项目,由FaceBook向Apache基金会贡献,其中TaoBao也是其中一位使用者+贡献者,Hive被视为一个仓...

nodie的专栏 236

图像传感器与信号处理——SFR算法/ISO 12233解读

图像传感器与信号处理——SFR算法图像传感器与信号处理——SFR算法1. 前言2. 基于视觉的分辨率测量方法3. 基于边界的SFR算法4. 基于正弦波的SFR算法 图像传感器与信号处理——SFR算法 SFR的全称是Spatial Frequency Response,空间频率响应。介绍SFR算法的参考文献主要是ISO 12233这篇英文文档。和读一般的论文感觉不同,文档读起来更加晦涩难懂,可能是因...

weixin_44580210的博客 1万+

hive初始化元数据Error: Syntax error: Encountered “<EOF>“ at line 1, column 64. (state=42X01,code=30000)or

1下载 Index of apache-local/hive/hive-2.3.6 到路径/Users/xx/Downloads/tool 2解压重命名 apache-hive-2.3.6 3在路径/Users/xx/Downloads/tool/hive_conf/conf路径新建hive-site.xml,配置mysql元数据 <?xml version="1.0"?> <configuration> <property> <name&gt

m0_37306331的博客 1万+

Ansys Lumerical 2023 R1.2新功能实战:薄膜铌酸锂调制器仿真全流程解析

本文详细解析了Ansys Lumerical 2023 R1.2在薄膜铌酸锂电光相位调制器仿真中的最新功能与应用。通过实战演示,展示了从电极配置、电场计算到模式分析的全流程,重点介绍了各向异性介电常数支持和多物理场耦合优化等关键技术,助力开发者高效设计高性能光通信器件。

weixin_28454475的博客 1207

一、两电平IGBT整流器

电压源换流器(Voltage source converter,VSC)连接交流主网和直流电网,起到交直流网络连接、功率输送和电能变换的作用。采用电压控制手段可维持直流电压的稳定;或采用功率控制手段保证系统功率输出达到预期。VSC的三相电压平衡方程如式(1)所示:式中,igx和ugx分别表示主网三相电流与电压(x=a,b,c);ucx表示换流器VSC 交流输出电压;Rg表示交流主网等效电阻;Lg表示交流主网等效电感。

TUCHACHINA的博客 4159

【hive sql】由于with table_name as()造成EOF错误

今天查数据的时候发现这样一个错误: cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in XXXXXXX 这个错误其实还挺常见的,经常出现于 select * from ( select * from table_A ) as table_B 如果 ‘as table_B’ 不...

sinat_36231857的博客 3422

基于STM32设计的智能门锁(微信小程序+手机APP等多种方式开锁)(188)

当前智能门锁项目是基于STM32微控制器、ESP8266-WIFI模块、OLED显示屏、指纹模块、蓝牙模块、门禁刷卡模块、烟雾检测模块、火光检测模块、温湿度检测模块等硬件设备开发的一种智能门锁系统

1万+

hive之beeline客户端操作hive

1、hiveserver2简介 Hiveserver2简称hs2,它是一个允许多客户端并发连接的hive服务,客户端可通过jdbc、odbc方式去连接此服务操作hive。 之前的hive启动的窗口,纯粹是一个客户端,exit退出后hive就停止了。 2、启动hiveserver2 cd ~/app/hive-1.1.0-cdh5.7.0/bin/ #进入hive安装目录 ./hives...

君永夜 6993

《网络安全自学教程》- 802.1x协议

802.1x协议架构,工作原理/认证流程,认证方式,MAB认证,触发认证的三种方式,EAP报文格式,EAPOL报文格式

wangyuxiang946的博客 2万+

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)新增用户和用户角色权限

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)查看用户权限、新增用户和用户角色权限。

念兮为美 7479

hive中metastore服务、hiveserver2服务、hive客户端、beeline客户端连接元数据的方式

1.前言 hive是Hadoop的客户端,启动hive前必须启动hadoop,同时hive的元数据存储在mysql中,是由于hive自带的derby数据库不支持多客户端访问。 2.开启metastore服务的参数 hive-site.xml中打开metastore的连接地址。 <!-- 指定存储元数据要连接的地址 --> <property> <name>hive.metastore.uris</name> <va

不爱吃鱼的馋猫 7572

高效计算斐波那契数列的C++实现及源码

斐波那契数列是一个非常经典的数学问题,通常递归方式计算斐波那契数列的时候会有很大的时间复杂度问题。首先,我们需要了解斐波那契数列的定义:斐波那契数列是指前两个数都为1,从第三个开始每个数都等于它前面两个数之和。因此,斐波那契数列的前几项为:1、1、2、3、5、8、13、21……在这个代码中,我们首先判断n是否特殊情况(即n等于0、1、2),然后通过循环计算得出对应的斐波那契数列值。通过这个例子,我们可以发现使用C++语言实现高效斐波那契数列计算的代码简单、易懂,并且时间复杂度相比递归方式有了很大的提升。

TechInk的博客 547

hive的hiveserver2客户端配置

hive的hiveserver2客户端配置 前言 hive提供了三种操作方式,一种是使用hive命令行方式进行操作;一种是使用java的api方式进行操作;还有一种是使用http的rest api进行操作。这里,我们只讲前两种的配置和实现。 在这之前,我们先了解一下hive的客户端,hive提供了两种客户端,一种是胖客户端,一种是瘦客户端。胖客户端显得比较臃肿,它实现的效果是直接启动服务端和客户端...

qq_25542879的博客 9875

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Hive简介及hive部署、原理和使用介绍

Hive简介、原理及hive部署和使用介绍 Hive简介 Hive概念 Hive:由Facebook开源用于解决海量结构化日志的数据统计工具。 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 本质是:将HQL转化成MapReduce程序 【注意】: (1)被Hive处理的数据存储在HDFS上,并不是Hive本身用的数据库 (2)Hive分析数据底层的实现是MapReduce,并不是hql直接对上数据底层 (3)执行程序运行在Yarn上 Hive的

wt334502157的博客 1098

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hive客户端连接

主题:是一个抽象的概念,数据综合体,一个分析的主题可以对应多个数据源,在数仓的开展分析中,首先确定分析的主题,然后基于主题寻找,采集跟主题相关的数据。特点:服务于分析,要能应对海量数据的存储和数据计算,对于响应速度要求不高没我们很少修改数据,所以也不需要对数据的一致性,安全性进行考虑。ODS:源数据层、数据操作层,主要就是将各个数据园中的数据集中到指定的平台中,几乎不对数据做任何处理,只是临时存放等待后续处理。DW:数据仓库层,对于数据进行数据清洗,数据处理,数据转换等,使其满足数据分析的需要。

weixin_48098867的博客 2251

Hive客户端hive与beeline的区别

1、背景描述2、hive客户端3、beeline客户端4、hive与beeline的关系5、hive与beeline执行SQL。

Java/Python大数据随笔 2226

Hive简介

以后只要写HiveSQL语法就可以了,Hive会将其自动转成MR任务,交由Yarn来调度执行。Hive是依赖Hadoop的,想使用Hive,必须先搭建和启动Hadoop集群。

t_813的博客 1601

Hive 系列(三)—— Hive CLI和Beeline命令行的基本使用

一、Hive CLI 1.1 Help 使用hive -H或者 hive --help命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e....

黑白影的博客 1万+
上一篇: 函数指针
下一篇: hive第二篇----hive中partition如何使用
crazyhacking
博客等级 码龄15年 299粉丝 148原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值