首先解释一下标题,为什么叫“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程序罢了。不知道我理解的的对不对,欢迎指正
分享到:
相关推荐
7. **启动Hive CLI**: 在命令行输入`hive`,你应该能够看到Hive的命令行界面,此时你可以开始创建数据库、表,执行SQL查询了。 需要注意的是,虽然这个方法可以让你在Windows上运行Hive,但可能不如在Linux环境下...
在Windows 10环境下搭建Hadoop生态系统,包括JDK、MySQL、Hadoop、Scala、Hive和Spark等组件,是一项繁琐但重要的任务,这将为你提供一个基础的大数据处理平台。下面将详细介绍每个组件的安装与配置过程。 **1. JDK...
hive高版本中已经没有提供windows下的运行脚本了,使用Cygwin有些问题,配置经常出现正反斜杠的问题,资源为hive的windows下的运行脚本,下载覆盖bin目录就可以了,也可以根据自己需要选择脚本添加到bin目录中,如果...
在Windows上,Hive可能需要使用cygwin或者Git Bash等模拟Unix环境的工具来运行。 9. **Hive的优化**: 根据你的需求,你可能还需要配置Hive的其他参数,如内存分配、并行度、执行引擎(Tez或Spark)等,以提升性能...
在大数据处理领域,Hive是一个非常重要的工具,它提供了一个基于Hadoop的数据仓库基础设施,用于数据查询、分析和管理大规模数据集。本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 ...
"HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...
【Hive安装详解】 Hive是Apache软件基金会的一个开源项目,它提供了一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以通过类SQL的方式进行大数据处理。...
标题中的“tomcat 7的hive驱动包&impala驱动包”表明了这是一个与Apache Tomcat 7服务器相关的软件包,包含了用于连接Hive和Impala数据库的驱动程序。Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL-like...
在大数据处理领域,Apache Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询存储在Hadoop集群中的大型数据集。Hive JDBC(Java Database Connectivity)是Hive提供的一种...
在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询和管理存储在Hadoop分布式文件系统(HDFS)中的大量结构化数据。Hive 1.1.0是Hive的一个版本,提供了...
7. **测试验证**:升级完成后,进行详尽的功能测试以验证升级成功。这包括查询性能测试、新的 Hive 功能验证、数据完整性检查以及与其它服务(如 HBase、Spark)的集成测试。 8. **监控与优化**:升级后,密切关注 ...
在大数据处理领域,Hive是一款基于Hadoop的数据仓库工具,它允许用户使用SQL类的语言(称为HQL)来查询、管理、分析存储在Hadoop分布式文件系统中的大规模数据集。而DataGrip是一款由JetBrains公司开发的强大数据库...
使用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。 所以,如果想要使用高...
7. **注意事项** - 确保Hive服务器已启动并允许远程连接。 - 检查防火墙设置,确保允许DataGrip所在机器访问Hive服务器的端口。 - 驱动版本应与Hive服务版本兼容,否则可能会遇到连接问题。 - 对于大型企业环境...
hive-jdbc
7. **数据生命周期管理**:Hive 提供了数据生命周期管理功能,可以设定数据的保留策略,自动清理过期的数据。 8. **与 BI 工具集成**:Hive 可以与商业智能(BI)工具,如 Tableau、QlikView 和 Power BI 等无缝...
hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+hadoop配置文件hive+...
Hive表生成工具,Hive表生成工具Hive表生成工具
在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询和管理存储在Hadoop分布式文件系统(HDFS)中的大量数据。Hive提供了数据整合、元数据管理、查询和分析...
7. **连接Hadoop生态系统**:Hive与Hadoop生态系统的其他组件紧密集成,如HDFS、HBase、Oozie等,提供了一站式的大数据分析平台。 8. **Hive on Tez/Spark**:Hive 2.3.9 版本中,用户可以选择使用Tez或Spark作为...