为了账号安全,请及时绑定邮箱和手机立即绑定

Hive实战笔记

标签:
Hadoop

继Python爬虫实战之后,又开始学习Hive,做大数据分析必备技能
如果你也正在转行大数据分析师,来跟我一起学吧
update 2018-08-10

目录如下

  • 01 了解Hive

  • 02 安装Hive

  • 03 练习Hive QL语句

  • 04 做个小项目

  • 05 刷题SQLzoo

01 了解Hive

Hadoop 专门用于处理大数据的开源技术框架
包含两个模块:

  • MapReduce:用于处理大量数据结构的并行可编程模型

  • Hadoop Distributed File System(HDFS):用于存储和处理数据集合,提供运行在商业硬件上的容错文件系统

Hadoop ecosystem(生态系统)包含以下子工程(工具)

  • Sqoop:在HDFS和RDBMS之间导入导出数据

  • Pig:程序语言平台,编写用于MapReduce运行的脚本

  • Hive:用于开发运行在MapReduce的类SQL语言脚本

On-Line Analytical Processing(OLAP):联机分析处理。能以多维度方式处理数据,上卷(roll-up)、下钻(Drill-down)、透视(pivot)
OnLine Transaction Processing(OLTP):联机交易处理

02 安装Hive

2.1 先安装brew

我是mac os ,用brew安装Hive很方便,所以先安装brew
homebrew,是mac下类似apt-get的软件管理工具。
通常情况下brew安装的软件都会在brewprefix返回的目录中,不会在额外创建文件。

没啥说的,直接安装官方提供的方式,终端下运行:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装完brew之后,执行brew updatebrew doctor,然后按照提示稍微设置下,需要我们将/usr/local/bin添加到PATH路径的最前面,保证系统优先调用到的是brew下载的。在命名行下输入:echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

2.2 再安装Hadoop

参考
第一篇
第二篇

遇到第一个坑

执行 bin/hdfs namenode -format 这一步时遇到JAVA_HOME报错

WARNING: HADOOP_PREFIX has been replaced by HADOOP_HOME. Using value of HADOOP_PREFIX.
WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete.
ERROR: JAVA_HOME {/usr/libexec/java_home} does not exist.

最终用以下命令导出JAVA_HOME解决
export JAVA_HOME="$(/usr/libexec/java_home)"

遇到第二个坑

localhost:3.1.0 limingxuan$ bin/hdfs namenode -format
WARNING: HADOOP_PREFIX has been replaced by HADOOP_HOME. Using value of HADOOP_PREFIX.
WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete.
ERROR: Invalid HADOOP_COMMON_HOME

参考下面命令解决

HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

遇到第三个坑

localhost:3.1.0 limingxuan$ bin/hdfs namenode -format
错误: 找不到或无法加载主类 org.apache.hadoop.hdfs.server.namenode.NameNode
原因: java.lang.ClassNotFoundException: org.apache.hadoop.hdfs.server.namenode.NameNode

不行了,怨念太深,今天调试Hadoop花了3个小时了,明天在继续调



作者:明轩李
链接:https://www.jianshu.com/p/d97200a2d88a

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消