首先解释一下标题,为什么叫“hive体验”,是因为windows上并不能运行hive。
本人想在win7,cygwin平台上把hive试验出来,尝试了2个星期,试验了好几种hadoop和hive的版本,均以失败而告终。google搜索出来的各种信息也均表示windows上并不能运行hive,就连一向解燃眉之急的stackoverflow上搜索之也都是只有问题,没有回答。所以本人经历了N次失败后,决定暂时放弃了。
说一下我实验的步骤和结果:我是按照
官方Simple Example Use Cases 来做的,前面几步包括进入hive,执行show tables, CREATE TABLE,LOAD DATA都成功了,唯独卡在最后一步SELECT COUNT(*) FROM u_data上,屡次试验都以失败告终。
这里记录一下前面几步的步骤,对于想在windows上“体验”hive的同学来说也算是一个参考吧。
1.环境
以下两套试验成功(但最后一步SELECT COUNT(*) FROM u_data失败)
| 环境A | 环境B |
win7 | 64bit | 64bit |
cygwin | 64bit | 64bit |
jdk | 1.6.0_43 64bit | 1.6.0_43 64bit |
hadoop | 0.20.2 | 1.2.1 |
hive | 0.5.0-dev | 0.13.1 |
2.步骤
这里的步骤基于环境A来说的。
2.1 启动ssh
2.2 启动hadoop
2.3 进入hive
输入bin/hive
有些同志(包括我)启动hive后,然后出现 hive> 提示符后不管输入什么,命令行就是没有反应!我一开始还以为hive没装成功呢,然后搜到
国外某个老兄的博客后发现原来这是cygwin的一个问题。
问题出在cygwin创建在桌面的快捷图标。
如果右键单击图标,会发现路径是
<cygwin_home>\bin\mintty.exe -i /Cygwin-Terminal.ico -
把他改为以下即可
<cygwin_home>\Cygwin.bat -i /Cygwin-Terminal.ico -
当然,不改也行,我们直接到<cygwin_home>目录下,然后双击Cygwin.bat就可以了
OK啦,我们用这种方法进入cygwin,然后进入到hive目录执行
$
bin/hive
Logging initialized using configuration in jar:file:/D:/opensource/hadoop/hive-0
.13.1/lib/hive-common-0.13.1.jar!/hive-log4j.properties
hive>
show tables;
OK
Time taken: 0.523 seconds
hive>
这样就一切正常了。
这国外老兄怎么发现这个解决方案的,佩服佩服!
2.4 按照
官方Simple Example Use Cases 来做
$
bin/hive
hive>
show tables;
OK
Time taken: 8.05 seconds
hive>
CREATE TABLE u_data (
userid INT,
movieid INT,
rating INT,
unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
OK
Time taken: 0.618 seconds
hive>
show tables;
OK
u_data
Time taken: 0.091 seconds
下载数据http://files.grouplens.org/datasets/movielens/ml-100k.zip,解压复制到d盘
hive>
LOAD DATA LOCAL INPATH 'd:\u.data'
OVERWRITE INTO TABLE u_data;
如果这句失败请换一种方法:
先把文件复制到hdfs中,然后再load from hdfs
hadoop fs -copyFromLocal d:/u.data /data/u.data
LOAD DATA INPATH '/data/u.data'
OVERWRITE INTO TABLE u_data;
以上都是成功的,然后下面最后这句死活不成功:
SELECT COUNT(*) FROM u_data;
SELECT COUNT(1) FROM u_data;
* hive0.5请用SELECT COUNT(1), 之后的版本请用SELECT COUNT(*)
3. 环境B的注意点
如果用hadoop1.2.1+hive1.13.1的话,以下点要注意:
3.1 需要下载改过的hadoop-core-1.2.1.jar
不改会报诸如此类的错:
Exception in thread "main" java.io.IOException:Failed to set permissions of path: to 0700
请参考
http://yangshangchuan.iteye.com/blog/1839784并下载高手改过的hadoop-core-1.2.1.jar,然后替换原来的jar包。如果不想删原来的jar包那也一定要将它的扩展名改掉,比如改成hadoop-core-1.2.1.jar.bak。
3.2 忽略安全
修改hdfs-site.xml,增加如下配置
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
然后步骤和2描述的一样,到最后这句还是失败:
SELECT COUNT(*) FROM u_data;
4.写在最后
最后,说一句,有linux条件的同学还是在linux上实验吧,因为在linux下是没有问题的。当然个人觉得把hadoop java api编程学好也可以了。毕竟感觉hive还是给不懂java的数据分析人员用的,hive只是把sql转换成map reduce程序罢了。不知道我理解的的对不对,欢迎指正
分享到:
相关推荐
Win10不需要Cygwin搭建大数据测试环境搭建hive的bin文件(包含官方版本中缺少的cmd文件),完美解决windows环境下配置hive时,找不到hive命令问题
hive高版本中已经没有提供windows下的运行脚本了,使用Cygwin有些问题,配置经常出现正反斜杠的问题,资源为hive的windows下的运行脚本,下载覆盖bin目录就可以了,也可以根据自己需要选择脚本添加到bin目录中,如果...
win10下搭建Hadoop(jdk+mysql+hadoop+scala+hive+spark),包括jdk的安装、mysql安装和配置,hadoop安装和配置,scala安装和配置,hive安装和配置,spark安装和配置。
hive hive hive hive hive hive hive hive hive hive hive hive
使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...
目录 1 Hive 概念与连接使用: 2 2 Hive支持的数据类型: 2 2.1原子数据类型: 2 2.2复杂数据类型: 2 ...7 DESCRIBE语句 5 8 加载数据 5 9表连接 6 10 子查询 6 11 UNION ALL 6 12 Hive使用注意点: 6 13 Hive优化 9
hive-jdbc
Hive表生成工具,Hive表生成工具Hive表生成工具
tomcat 7的hive驱动包&impala;驱动包,去除了hive-jdbc-2.1.0.2.5.0.0-1245-standalone,这个jar不能在tomcat 7使用
《Hive数据仓库案例教程》教学课件 第5章 Hive数据操作.pdf《Hive数据仓库案例教程》教学课件 第5章 Hive数据操作.pdf《Hive数据仓库案例教程》教学课件 第5章 Hive数据操作.pdf《Hive数据仓库案例教程》教学课件 第...
win hive+hadoop 部署
Hive是一个基于Hadoop的数据仓库工具,它本身并不存储数据,部署在Hadoop集群上,数据是存储在HDFS上的. Hive所建的表在HDFS上对应的是一个文件夹,表的内容对应的是一个文件。它不仅可以存储大量的数据而且可以对...
Hive.sql
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储...
Hive原理/Hive SQL/Hive 函数/数据仓库分层和建模/Hive sql优化/数据倾斜
Ambari下Hive3.0升级到Hive4.0,验证自测;
5.安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下 如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行) mysql -uroot -p #(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址...
利用Hive进行复杂用户行为大数据分析及优化案例(全套视频+课件+代码+讲义+工具软件),具体内容包括: 01_自动批量加载数据到hive 02_Hive表批量加载数据的脚本实现(一) 03_Hive表批量加载数据的脚本实现(二) ...
Hive优化方法整理 hive 数据倾斜 内连接