当前位置: 首页 > news >正文

hadoop Hive(9)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Hive

1. 简介

数据仓库工具。可以把hadoop下的原始结构化数据变成Hive中的表

支持一种与SQL几乎完全相同的语言HiveQL。除了不支持更新,索引和事务,几乎sql的其他特征都能支持

可以看成是从sql到map-reduce的映射器

提供shell、JDBC/ODBC、Thrift、Web等接口

clip_image002

起源自facebook由Jeff Hammerbacher领导的团队

构建在hadoop上数据仓库框架

设计目的是让sql技能良好,但Java技能较弱的分析师可以查询海量数据

08年facebook把hive项目贡献给Apache

2. Hive的组件与体系架构

用户接口:shell,thrift,web等

Thrift服务器

元数据 “Derby, Mysql等”

解析器

Hadoop

clip_image004

3. 架构图

clip_image006

4. Hive安装(可以在网上获取安装文档)

内嵌模式:元数据保持在内嵌的Derby模式,只允许一个会话连接

1) 下载hive安装包

2) 安装

(1) 上传hive安装包到机器上,使用root用户登录:

tar –zxvf hive-0.8.1.tar.gz

(2)将解压的hive分别移动并改名为/usr/local/hive

rm -rf /usr/local/hive mv hive-0.8.1 /usr/local/hive

3) 配置hive

(1)修改/usr/local/hive/bin/hive-config.sh

在文件末尾加入

export JAVA_HOME=/usr/local/jdk

export HIVE_HOME=/usr/local/hive

export HADOOP_HOME=/usr/local/hadoop

(2) 根据hive-default.xml复制hive-site.xml

cp /usr/local/hive/conf/hive-default.xml /usr/local/hive/conf/hive-site.xml

(3)配置hive-site.xml,主要配置项如下

hive.metastore.warehouse.dir: (HDFS上的)数据目录 ,默认值是/usr/hive/ware

hive.exec.scratchdir: (HDFS上的)临时文件目录,默认值是/tmp/hive-${user.name}

以上是默认值,暂时不改

(4)改变/usr/local/hive的目录所有制为hadoop

chown –R hadoop:hadoop /usr/local/hive

(5)配置hive的log4j

clip_image008

本地独立模式:在内嵌模式的基础上,在本地安装Mysql,把元数据放到Mysql内

clip_image010

远程模式:在本地模式的基础上,

元数据放置在远程的Mysql数据库

clip_image012

clip_image014

clip_image016

clip_image018

clip_image020

clip_image022

5. Hive shell

执行HiveQL(大约相当于SQL92标准)

查看或临时设置Hive参数,只对当前会话有效

创建函数

曹如jar包

6. 创建表

clip_image024

clip_image026

插入数据

clip_image028

查询

clip_image030

表连接

clip_image032

7. JDBC/ODBC接口

(1) 用户可以像连接传统数据库一样使用JDBC或ODBC连接HIVE, 目前还不成熟

(2) JDBC的具体连接过程

1) 使用jdbc的方式连接hive,首先做的事情就是需要启动Thrift Server,否则连接hive的时候会报connection refused的错误

启动命令如下 hive –service hiveserver

2)新建java项目,然后将hive/lib下的所有jar包和hadoop的核心jar包hadoop0.20.2-core.jar添加到项目的类路径上

3) 样板代码

8.hive的数据放在哪儿?

数据在HIDFS的warehouse目录下,一个表对应一个子目录

桶与reduce

本地的/tmp目录存放日志和执行计划

clip_image034

转载于:https://my.oschina.net/u/1462191/blog/213835

相关文章:

  • 启动和测试oracle是否安装成功
  • Java初始化顺序
  • linux 生成随机密码
  • 线程创建
  • 测者的测试技术手册:智能化测试框架EvoSuite的一个坑以及填坑方法
  • cookie和session
  • Android EditText控件自动转换大小写,光标位置不跳位
  • Android aidl Binder框架浅析
  • 4.8_获取页面元素的内容_getTable
  • java框架学习日志-10(自定义类实现AOP)
  • 说一说飞机上的无线上网
  • C#中的线程池使用(一)
  • android实现图片识别的几种方法
  • 12月24日云栖精选夜读 | 刚刚,阿里开源首个深度学习框架 X-Deep Learning!
  • 微信智能开放平台
  • 分享一款快速APP功能测试工具
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • co.js - 让异步代码同步化
  • Druid 在有赞的实践
  • ES6简单总结(搭配简单的讲解和小案例)
  • mongodb--安装和初步使用教程
  • Redis在Web项目中的应用与实践
  • socket.io+express实现聊天室的思考(三)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • spring security oauth2 password授权模式
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 浏览器缓存机制分析
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 如何胜任知名企业的商业数据分析师?
  • 通过git安装npm私有模块
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • (12)目标检测_SSD基于pytorch搭建代码
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (6)添加vue-cookie
  • (Forward) Music Player: From UI Proposal to Code
  • (SpringBoot)第二章:Spring创建和使用
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (离散数学)逻辑连接词
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)基于IDEA的JAVA基础10
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET MVC第三章、三种传值方式
  • .net MySql
  • .Net 代码性能 - (1)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET性能优化(文摘)
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • /boot 内存空间不够
  • /etc/shadow字段详解
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?