继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 update
和brew 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_HOME
export 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个小时了,明天在继续调
网友评论