Hive实战(2)Hive安装教程,hive实战
分享于 点击 37745 次 点评:219
Hive实战(2)Hive安装教程,hive实战
选择Hadoop发行版本
安装java
$ /usr/java/latest/bin/java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
$ sudo echo "export JAVA_HOME=/usr/java/latest" > /etc/profile. d/java. sh $ sudo echo "PATH= $ PATH: $ JAVA_HOME/bin" » /etc/profile. d/java. sh
$ . /etc/profile
$ echo $ JAVA一HOME
/usr/java/latest
安装Hadoop
$ wget \
http://www.us.apache.org/dist/hadoop/common/hadoop-0.20.2/hadoop-0.20. 2.tar.gz
$ tar -xzf hadoop-0.20.2.tar.gz
$ sudo echo "export HADOOP_HOME=$PWD/hadoop-0.20.2" > /etc/profile.d/ hadoop.sh
$ sudo echo "PATH=$PATH: $HADOOP_HOME/bin" » /etc/profile.d/hadoop.sh
$ . /etc/profile
选择本地模式 并测试Hadoop
$ mkdir wc-in
$ echo "bla bla" > wc-in/a.txt
$ echo "bla wa wa " > wc-in/b.txt
$ hadoop jar $HADOOP_HOME/hadoop-0.20.2-examples.jar wordcount wc-in
wc-out
$ ls wc-out/*
$ cat wc-out/*
$ hadoop dfs -cat wc-out/*
安装Hive
$ curl -o http://archive.apache.org/dist/hive/hive-0.9.0/hive-0.9.0-bin. tar.gz
$ tar -xzf hive-0.9.0.tar.gz
$ sudo mkdir -p /user/hive/warehouse
$ sudo chmod a+rwx /user/hive/warehouse
Hive文件说明
$HIVE_HOME/lib 目录下可以发现有众多的JAR 文件
$HIVE_HOME/bin目录下包含可以执行各种各样Hive服务的可执行文件
$HIVE_HOME/conf目录下存放了配置Hive的配置文件
Thrift服务提供了可远程访问其他进程的功能,也提供使用 JDBC和ODBC访问Hive的功能。
metastoreservice (元数据服务),Hive使用这个服务来 存储表模式信息和其他元数据信息。
启动Hive
$ Cd $ HIVE_HOME
$ bin/hive
Hive history file=/tmp/myname/hive_job_log_myname_201201271126_1992326118. txt
hive> CREATE TABLE x (a INT);
hive> SELECT * FROM x;
hive> SELECT * FROM x;
hive> DROP TABLE x;
hive> exit;
hadoop本地模式配置
例2-1 本地模式下的hive-site, xml配置文件。
<?xml version="l.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/me/hive/warehouse</value>
〈description〉
Local or HDFS directory where Hive keeps table contents.
〈/description〉
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
〈description〉
Use false if a production metastore server is used.
〈/description〉
</property>
<property>
<name>j avax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/home/me/hive/metastore_db;create=tru e</value>
〈description〉
The JDBC connection URL.
</description〉
</property>
〈/configuration〉
hadoop伪分布式,集群模式
JDBC连接metastore元数据配置
例2-2 hive-site.xml中的元数据存储数据库配置。
<?xml version="l.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
〈configuration〉
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>j dbc:mysql://dbl.mydomain.pvt/hive_db?createDatabaseIfNotExist =true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>j avax.jdo.option.ConnectionUserName</name>
<value>database_user</value>
</property>
<property>
<name>j avax.jdo.option.ConnectionPassword</name>
<value>database_pass</value>
</property>
〈/configuration〉
Hive命令
$ bin/hive --help
Hive命令行界面
hive --help --service cli
$ hive -e "SELECT * FROM mytable LIMIT 3";
#执行结束后hive CLI立 即退出
$ cat /path/to/file/withqueries.hql
SELECT x.* FROM src x;
$ hive
hive> source /path/to/file/withqueries.hql;
#从文件中执行查询
$ echo "one row" > /tmp/myfile
$ hive -e "LOAD DATA LOCAL INPATH '/tmp/myfile1 INTO TABLE src;
#至少有一行的数据在源表里面
#使用Tab键自动补全
hive> ! pwd;
/home/me/hiveplay
#使用!和;开头结尾来切换bash shell脚本
hive> dfs -ls / ;
#执行Hadoop的dfs命令,只需要将hadoop命令中的关键字 hadoop去掉,然后以分号结尾就可以了
--开头的字符串来表示注释
#显示字段名称
hive> set hive.cli.print.header=true;
hive> SELECT * FROM system—logs LIMIT 3;
相关文章
- 暂无相关文章
用户点评