Hadoop学习笔记(11)-搭建Hive伪分布式及简单操作

1.下载Hive
http://hive.apache.org/downloads.html
从该网址下载hive。我下载的是hive-2.1.0版本
之后用tar命令解压,我是解压到/usr/local/hadoop目录下。
2.配置环境变量
进入.bashrc 修改hive环境变量。

vim ~/.bashrc

在最后加入:

export HIVE_HOME=/usr/local/hadoop/apache-hive-2.1.0-bin
export PATH=$HIVE_HOME/bin:$PATH

3.在HDFS上创建Hive文件目录
先开启hadoop

$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse

5.启动Hive Shell
启动前初始元数据的存储数据库(这里用derby,也可以用mysql,但需配置)

schematool -dbType derby -initSchema

然后再用hive或hive shell 打开hive操作界面。
Hadoop学习笔记(11)-搭建Hive伪分布式及简单操作_第1张图片
6.HiveSQL操作简介

1.1 DDL语句
创建表pokes,有两类属性foo(int型),和bar(string型):

hive> CREATE TABLE pokes (foo INT, bar STRING);

创建表invites,通过ds属性来做分区:

hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);

显示已经有的所以表:

hive> SHOW TABLES;
OK
invites
pokes
Time taken:0.159 seconds,Fetched:2 row(s)

显示已S结尾的表:

  hive> SHOW TABLES '.*s';

显示表invites的信息:

chive> desc invites;
OK
foo                     int                                         
bar                     string                                      
ds                      string                                      

# Partition Information      
# col_name              data_type               comment             

ds                      string                                      
Time taken: 0.171 seconds, Fetched: 8 row(s)

给pokes表添加新列:

hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);

更多详细内容见:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

6.2 DML语句

加载数据

hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

更多详细内容见:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML

6.3 SELECT查询语句

hive> SELECT a.foo FROM invites a WHERE a.ds='2008-08-15';

更多详细内容见:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select

7HiveSQL实验
还是来做个小实验把。更多内容见官网实验例子:
https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-DDLOperations

8.Hive JDBC编程接口
参见下链接:
Hive编写MapReduce程序(这里笔者还没有实验过)
http://blog.csdn.net/magina507/article/details/51649890

你可能感兴趣的:(Hadoop,hadoop,hive,分布式数据仓库)