60分钟内从零起步驾驭Hive实战学习笔记

本博文的主要内容是:

  1. Hive本质解析

  2. Hive安装实战

  3. 使用Hive操作搜索引擎数据实战

  SparkSQL前身是Shark,Shark强烈依赖于Hive。Spark原来没有做SQL多维度数据查询工具,后来开发了Shark,Shark依赖于Hive的解释引擎,部分在Spark中运行,还有一部分在Hadoop中运行。所以讲SparkSQL必须讲Hive。

1. Hive本质解析

  1. Hive是分布式数据仓库,同时又是查询引擎,所以SparkSQL取代的只是Hive的查询引擎,在企业实际生产环境下,Hive+SparkSQL是目前最为经典的数据分析组合。

  2. Hive本身就是一个简单单机版本的软件,主要负责:

    a) 把HQL翻译成Mapper(s)-Reducer-Mapper(s)的代码,并且可能产生很多MapReduce的Job。

    b) 把生成的MapReduce代码及相关资源打包成jar并发布到Hadoop集群中运行(这一切都是自动的)

  3.Hive本身的架构如下所示:

      

  

  可以通过CLI(命令终端)、JDBC/ODBC、Web GUI访问Hive。

  JavaEE或.net程序可以通过Hive处理,再把处理的结果展示给用户。

  也可以直接通过Web页面操作Hive。

  ※ Hive本身只是一个单机版本的的软件,怎么访问HDFS的呢?

  => 在Hive用Table的方式插入数据、检索数据等,这就需要知道数据放在HDFS的什么地方以及什么地方属于什么数据,Metastore就是保存这些元数据信息的。Hive通过访问元数据信息再去访问HDFS上的数据。

  可以看出HDFS不是一个真实的文件系统,是虚拟的,是逻辑上的,HDFS只是一套软件而已,它是管理不同机器上的数据的,所以需要NameNode去管理元数据。DataNode去管理数据。

  Hive通过Metastore和NameNode打交道。

2、Hive安装和配置实战

  由于,我这里,Spark的版本是1.5.2。

http://spark.apache.org/

  Spark1.5.2中SparkSQL可以指定具体的Hive的版本。

http://hive.apache.org/

  1. 从apache官网下载hive-1.2.1

      

https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

       

      

  

  2、apache-hive-1.2.1-bin.tar.gz的上传

   

  3、现在,新建/usr/loca/下的hive目录

   

[email protected]:/usr/local# pwd
/usr/local
[email protected]:/usr/local# ls
bin etc games hadoop include jdk lib man sbin scala share spark src
[email protected]:/usr/local# mkdir -p /usr/local/hive
[email protected]:/usr/local# cd hive
[email protected]:/usr/local/hive# ls
[email protected]:/usr/local/hive#

  4、将下载的hive文件移到刚刚创建的/usr/local/hive下

[email protected]:/usr/local/hive# ls
[email protected]:/usr/local/hive# sudo cp /home/spark/Downloads/Spark_Cluster_Software/apache-hive-1.2.1-bin.tar.gz /usr/local/hive/
[email protected]:/usr/local/hive# ls
apache-hive-1.2.1-bin.tar.gz
[email protected]:/usr/local/hive#

  最好用cp,不要轻易要mv

  5、解压hive文件

[email protected]:/usr/local/hive# ls
apache-hive-1.2.1-bin.tar.gz
[email protected]:/usr/local/hive# tar -zxvf apache-hive-1.2.1-bin.tar.gz

  6、删除解压包,留下解压完成的文件目录,并修改权限(这是最重要的!!!),其中,还重命名

[email protected]:/usr/local/hive# ls
apache-hive-1.2.1-bin apache-hive-1.2.1-bin.tar.gz
[email protected]:/usr/local/hive# rm -rf apache-hive-1.2.1-bin.tar.gz
[email protected]:/usr/local/hive# ls
apache-hive-1.2.1-bin
[email protected]:/usr/local/hive# ll
total 12
drwxr-xr-x 3 root root 4096 10月 9 17:39 ./
drwxr-xr-x 15 root root 4096 10月 9 17:35 ../
drwxr-xr-x 8 root root 4096 10月 9 17:38 apache-hive-1.2.1-bin/
[email protected]:/usr/local/hive# mv apache-hive-1.2.1-bin/ apache-hive-1.2.1
[email protected]:/usr/local/hive# ll
total 12
drwxr-xr-x 3 root root 4096 10月 9 17:40 ./
drwxr-xr-x 15 root root 4096 10月 9 17:35 ../
drwxr-xr-x 8 root root 4096 10月 9 17:38 apache-hive-1.2.1/
[email protected]:/usr/local/hive# chown -R spark:spark apache-hive-1.2.1/
[email protected]:/usr/local/hive# ll
total 12
drwxr-xr-x 3 root root 4096 10月 9 17:40 ./
drwxr-xr-x 15 root root 4096 10月 9 17:35 ../
drwxr-xr-x 8 spark spark 4096 10月 9 17:38 apache-hive-1.2.1/
[email protected]:/usr/local/hive#

  7、修改环境变量 

    vim ~./bash_profile   或 vim /etc/profile

    配置在这个文件~/.bash_profile,或者也可以,配置在那个全局的文件里,也可以哟。/etc/profile。

    这里,我vim /etc/profile

#hive
export HIVE_HOME=/usr/local/hive/apache-hive-1.2.1
export PATH=$PATH:$HIVE_HOME/bin
export HIVE_CONF_DIR=/$HIVE_HOME/conf

[email protected]:/usr/local/hive# vim /etc/profile
[email protected]:/usr/local/hive# source /etc/profile

继续...

时间: 2024-12-23 09:51:43

60分钟内从零起步驾驭Hive实战学习笔记的相关文章

60分钟内从零起步驾驭Hive实战

内容: 1.Hive本质解析: 2.Hive安装实战: 3.使用Hive操作搜索引擎数据实战: ==========Hive本质到底是什么?============ 1.Hive是分布式数据仓库,同时又是查询引擎,所以 Spark SQL取代只是Hive 查询引擎,在企业实际生产环境下 Hive + Spark SQL是目前最为经典的数据分析组合: 2.Hive本身就是一个简单单机版本的软件,主要负责: 1)    把HQL翻译成Mapper(s)-Reducer-Mapper(s)的代码: 并

九十分钟极速入门Linux——Linux Guide for Developments 学习笔记

系统信息:CentOS 64位. 一张图了解命令提示符和命令行 一些实用小命令 mkdir(make directory,创建目录).ls(list,列出当前目录下的内容).rm(remove,删除文件,如果删除目录,需要加参数-r,表示递归-recursive删除).man(manual,手册,后面跟命令打开该命令的使用手册,进入后键入/- 参数:查找参数如何使用,n查找下一处,q退出用户手册).ctrl+l(清屏).pwd(print working dir,显示工作路径).ctrl+a:到

60分钟零基础体验java项目开发(附源代码)

本课程针对零基础的学生,或者学习编程很久,但是从来没有动手作出一个东西的学生. 尚学堂老师精心设计项目开发流程,让你在60分钟内,从安装java开发环境,使用eclipse开发环境,一直到开发出一个 台球小游戏. 让你蓦然发现,学习编程是件多么有意思的事情. 教程下载地址:http://www.bjsxt.com/2014/down_0425/12.html 本文来自 >> 尚学堂: 转载请注明:http://www.sxt.cn/u/13421/blog/8822

(转)大牛的《深度学习》笔记,60分钟带你学会Deep Learning。

大牛的<深度学习>笔记,60分钟带你学会Deep Learning. 2016-08-01 Zouxy 阅面科技 上期:<从特征描述到深度学习:计算机视觉发展20年> 回复“01”回顾全文   本期:大牛的<深度学习>笔记,60分钟带你学会Deep Learning. 深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里,深度学习颠覆了语音识别.图像分类.文本

用十条命令在一分钟内检查 Linux 服务器性能

原文地址: http://www.oschina.net/news/69132/linux-performance 如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1

转: Vue.js——60分钟组件快速入门(上篇)

转自: http://www.cnblogs.com/keepfool/p/5625583.html Vue.js——60分钟组件快速入门(上篇) 组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HTML元素,封装可重用的HTML代码,我们可以将组件看作自定义的HTML元素. 本文的Demo和源代码已放到GitHub,如果您觉得本篇内容不错,请点个赞,或

用十条命令在一分钟内检查Linux服务器性能

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?Netflix性能工程团队的Brendan Gregg写下了这篇博文,兄弟连Linux培训 小编整理如下:一起来看他们是怎样通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -

iOS开发60分钟入门

iOS开发60分钟入门 原文:https://github.com/qinjx/30min_guides/blob/master/ios.md 本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于了解如何开始开发iOS App,学习目标包括: 能使用Xcode IDE.模拟器 能修改.调试已有iOS App 能在已有应用内创建新模块 能创建新应用 能发布应用到App Store 本文不包含任何高级的iOS开发知识,已学会iOS开发的同学不要看,

Vue.js 60 分钟快速入门

Vue.js 60 分钟快速入门 转载 作者:keepfool 链接:http://www.cnblogs.com/keepfool/p/5619070.html Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用Vue.js. 如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为V