1、安装hive
1.1 安装 java1.2 hadoop 安装1.3 hive安装1.4 下载并安装Apache Derby 2、hive 使用参考 1、安装hive 1.1 安装 java
在Hive安装之前,Java必须在系统上已经安装。使用下面的命令来验证是否已经安装Java, 如果Java已经安装在系统上,就可以看到如下回应
在 java 官网 下载,傻瓜式安装即可
下载 hadoop
解压放到指定目录下,并进行如下配置环境变量(mac系统)
执行vim ~/.bash_profile 修改环境变量(linux 下应该是 ~/.bashrc)
export HADOOP_HOME=/usr/local/hadoop export 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 exportPATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
source ~/.bash_profile 将当前修改应用到正在运行的系统
使用如下命令进行验证
hadoop 配置
进入hadoop配置文件目录 $HADOOP_HOME/etc/hadoop
为了使用java开发Hadoop的项目,必须用java在系统的位置替换JAVA_HOME值重置hadoop-env.sh文件中的java环境变量
先用 /usr/libexec/java_home -V 查看java安装路径
修改 hadoop-env.sh 文件
修改 core-site.xml 文件,core-site.xml文件中包含如下信息,如使用Hadoop实例分配给文件系统的存储器,用于存储数据的内存限制的端口号,以及读/写缓冲器的大小
打开core-site.xml文件并在,标签之间添加以下属性
修改 hdfs-site.xml 文件,hdfs-site.xml 文件中包含如下信息,如复制数据的值,名称节点的路径,本地文件系统的数据节点的路径
更多配置参考:hive 安装
验证hadoop的安装
验证hadoop dfs
start-dfs.sh
踩坑记录:connection refused 错误
参考 1、Mac OS X 上搭建 Hadoop 开发环境指南
2、Permission denied (publickey,password,keyboard-interactive).
验证yarn脚本
start-yarn.sh
访问Hadoop的默认端口号为50070(hadoop 3 默认端口为9870)使用以下网址,以获取浏览器Hadoop服务
http://localhost:9870/
1.3 hive安装 下载hive
下载 hive 2.3.9,如下图所示
配置hive环境变量
通过 vim ~/.bash_profile,追加如下语句
export HIVE_HOME=/Applications/apache-hive-2.3.9-binexport PATH=$PATH:$HIVE_HOME/binexport CLASSPATH=$CLASSPATH:/Applications/hadoop-3.3.1/lib/*:.export CLASSPATH=$CLASSPATH:/Applications/apache-hive-2.3.9-bin/lib/*:.
执行 source ~/.bash_profile 使其生效
配置hive
cd $HIVE_HOME/confcp hive-env.sh.template hive-env.sh
编辑hive-env.sh文件添加以下行
export HADOOP_HOME=/Applications/hadoop-3.3.1
1.4 下载并安装Apache Derby如上Hive安装成功完成。现在,需要一个外部数据库服务器配置metastore。我们使用Apache Derby数据库。
2、hive 使用
创建数据库
CREATE DATAbase [IF NOT EXISTS]
查询数据库
SHOW DATAbaseS;
删除数据库
DROp DATAbase [IF EXISTS]
创建表
CREATE TABLE [IF NOT EXISTS] [db_name.] table_name[(col_name data_type, col_name2 data_type2, ...)][COMMENT table_comment][ROW FORMAT row_format][STORED AS file_format]
如创建一张员工的表
CREATE TABLE IF NOT EXISTS employee ( id int, name String, salary String, destination String);
插入数据
在SQL创建表后,可以使用INSERT语句插入数据,在Hive中,可以使用LOAD DATA语句插入数据
LOAD DATA [LOCAL] INPATH
LOCAL是标识符指定本地路径;OVERWRITE 覆盖表中的数据;
更改表的名字
ALTER TABLE
增加一列
ALTER TABLE
删除一列
ALTER TABLE
更改某一列的列名/类型
ALTER TABLE
删除表
DROP TABLE [IF EXISTS] table_name;
查询语句 select
SELECT [ALL | DISTINCT]
查询并排序
SELECt [ALL | DISTINCT]
从上面的语法可以看出hive的语法和mysql的语法是极其相似的
参考1、易百教程-hive