HIVE配备手册
HIVE配置手册
HIVE配置手册
1)下载hive
目前最新版本是hive-0.6.0,但是不支持hadoop-0.21.0,所以需要安装hadoop-0.20.2或者以下版本
解压到每台服务器的/data/soft
解压
建立软连
2)配置hive
1.修改bin/hive-config.sh,添加jdk支持
2.在HDFS中创建目录,并且将其开放g+w模式
通过我的试验,以上创建目录的步骤是可以省略的,Hive会自动创建需要的目录
3. 修改conf/hive-default.xml,这个是hive的关键配置,所以一般不要直接修改,新建hive-site.xml文件,将修改的内容在这个里面配置。
3)运行hive
4)测试hive
1.创建数据表
默认是使用输入格式(input format)为text ,分割符号使用^A(ctrl-a).
2.创建分区的数据表
包含2列和一个分区列(ds)。分区列是一个虚拟列。它不是数据自身的一部分,但是它由得到分区,详细数据加载到里面
3.显示数据表
显示所有的数据表
只显示以's'结尾的数据表
4.查询
5.从本地加载数据
这个文件位于hive的安装目录下,examples/files/kv1.txt
6.从hdfs加载数据
去掉LOCAL ,就是从HDFS加载
关键字OVERWRITE意味着,数据表已经存在的数据将被删除。省略OVERWRITE,数据文件将会添加到原有数据列表里
7. 删除数据表
5)Heap size设置
Hive默认-Xmx4096m
修改hive/bin/ext/util/ execHiveCmd.sh
HADOOP_HEAPSIZE=256
6)启动Hive Thrift Server
默认使用10000端口,也可以使用HIVE_PORT来指定端口
7)启动hwi
取消日志的方式
相关资料
http://wiki.apache.org/hadoop/Hive/GettingStarted
http://wiki.apache.org/hadoop/Hive/LanguageManual
HIVE配置手册
1)下载hive
目前最新版本是hive-0.6.0,但是不支持hadoop-0.21.0,所以需要安装hadoop-0.20.2或者以下版本
解压到每台服务器的/data/soft
解压
root@master:/data/soft# tar zxvf hive-0.6.0.tar.gz
建立软连
root@master:/data/soft# ln -s hive-0.6.0.tar.gz hive
2)配置hive
1.修改bin/hive-config.sh,添加jdk支持
export JAVA_HOME=/usr/local/jdk export HIVE_HOME=/data/soft/hive export HADOOP_HOME=/data/soft/hadoop
2.在HDFS中创建目录,并且将其开放g+w模式
root@master:/data/soft#hadoop fs –mkdir /tmp root@master:/data/soft#hadoop fs –mkdir /user/hive/warehouse root@master:/data/soft#hadoop fs –chmod g+w /tmp root@master:/data/soft#hadoop fs –chmod g+w /user/hive/warehouse
通过我的试验,以上创建目录的步骤是可以省略的,Hive会自动创建需要的目录
3. 修改conf/hive-default.xml,这个是hive的关键配置,所以一般不要直接修改,新建hive-site.xml文件,将修改的内容在这个里面配置。
<property> <name>hive.exec.scratchdir</name> <value>/data/work/hive/tmp</value> <description>Scratch space for Hive jobs</description> </property> <property> <name>hive.querylog.location</name> <value>/data/work/hive/querylog</value> </property> <property> <name>hive.hwi.listen.host</name> <value>0.0.0.0</value> <description>This is the host address the Hive Web Interface will listen on</description> </property> <property> <name>hive.hwi.listen.port</name> <value>9999</value> <description>This is the port the Hive Web Interface will listen on</description> </property>
3)运行hive
root@master:/data/soft/hive/bin# ./hive Hive history file=/tmp/root/hive_job_log_root_201101241057_361521373.txt hive>
4)测试hive
1.创建数据表
hive> create TABLE pokes( id INT, name string); OK Time taken: 8.192 seconds
默认是使用输入格式(input format)为text ,分割符号使用^A(ctrl-a).
2.创建分区的数据表
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING); OK Time taken: 36.562 seconds
包含2列和一个分区列(ds)。分区列是一个虚拟列。它不是数据自身的一部分,但是它由得到分区,详细数据加载到里面
3.显示数据表
hive> SHOW TABLES;
显示所有的数据表
hive> SHOW TABLES '.*s';
只显示以's'结尾的数据表
4.查询
hive> select * from pokes; OK Time taken: 0.505 seconds
5.从本地加载数据
hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;
这个文件位于hive的安装目录下,examples/files/kv1.txt
6.从hdfs加载数据
LOAD DATA INPATH '/jd/files/kv1.txt' OVERWRITE INTO TABLE pokes;
去掉LOCAL ,就是从HDFS加载
关键字OVERWRITE意味着,数据表已经存在的数据将被删除。省略OVERWRITE,数据文件将会添加到原有数据列表里
7. 删除数据表
hive> drop table pokes; OK Time taken: 0.726 seconds
5)Heap size设置
Hive默认-Xmx4096m
修改hive/bin/ext/util/ execHiveCmd.sh
HADOOP_HEAPSIZE=256
6)启动Hive Thrift Server
hive --service hiveserver
默认使用10000端口,也可以使用HIVE_PORT来指定端口
root@master:/data/soft/hive/bin# ./hive --service hiveserver --help usage HIVE_PORT=xxxx ./hive --service hiveserver HIVE_PORT : Specify the server port
7)启动hwi
bin/hive --service hwi
取消日志的方式
nohup bin/hive --service hwi > /dev/null 2> /dev/null &
相关资料
http://wiki.apache.org/hadoop/Hive/GettingStarted
http://wiki.apache.org/hadoop/Hive/LanguageManual
1 楼
zhaoshuli99
2011-01-24
这个好像不是太好用,