`
xpenxpen
  • 浏览: 725460 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hive体验(win7 cygwin)

阅读更多
首先解释一下标题,为什么叫“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
win764bit64bit
cygwin64bit64bit
jdk1.6.0_43 64bit1.6.0_43 64bit
hadoop0.20.21.2.1
hive0.5.0-dev0.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程序罢了。不知道我理解的的对不对,欢迎指正
分享到:
评论
2 楼 xpenxpen 2015-05-25  
cuityang 写道
我也遇到同样的问题,输入什么都没响应,开始以为 cygwin上面没有mysql客户端导致的,然后在cygwin上装了mysql客户端,直到看了这个文章才解决问题了

请教下 你是怎么在国外网址上搜索 找到这个解决方案的,谢谢

google搜索,配合关键字,可以搜到。关键字是什么不记得了,反正就是cygwin hive hang 这几个组合吧。
1 楼 cuityang 2015-05-23  
我也遇到同样的问题,输入什么都没响应,开始以为 cygwin上面没有mysql客户端导致的,然后在cygwin上装了mysql客户端,直到看了这个文章才解决问题了

请教下 你是怎么在国外网址上搜索 找到这个解决方案的,谢谢

相关推荐

    Win10不需要Cygwin搭建大数据测试环境搭建hive的bin文件(包含官方版本中缺少的cmd文件)hive)

    7. **启动Hive CLI**: 在命令行输入`hive`,你应该能够看到Hive的命令行界面,此时你可以开始创建数据库、表,执行SQL查询了。 需要注意的是,虽然这个方法可以让你在Windows上运行Hive,但可能不如在Linux环境下...

    win10下搭建Hadoop环境(jdk+mysql+hadoop+scala+hive+spark) 3.docx

    在Windows 10环境下搭建Hadoop生态系统,包括JDK、MySQL、Hadoop、Scala、Hive和Spark等组件,是一项繁琐但重要的任务,这将为你提供一个基础的大数据处理平台。下面将详细介绍每个组件的安装与配置过程。 **1. JDK...

    hive-win-bin.zip

    hive高版本中已经没有提供windows下的运行脚本了,使用Cygwin有些问题,配置经常出现正反斜杠的问题,资源为hive的windows下的运行脚本,下载覆盖bin目录就可以了,也可以根据自己需要选择脚本添加到bin目录中,如果...

    Hive-2.3.3在window安装需要的cmd相关

    在Windows上,Hive可能需要使用cygwin或者Git Bash等模拟Unix环境的工具来运行。 9. **Hive的优化**: 根据你的需求,你可能还需要配置Hive的其他参数,如内存分配、并行度、执行引擎(Tez或Spark)等,以提升性能...

    hive客户端安装_hive客户端安装_hive_

    在大数据处理领域,Hive是一个非常重要的工具,它提供了一个基于Hadoop的数据仓库基础设施,用于数据查询、分析和管理大规模数据集。本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 ...

    HIVE安装及详解

    "HIVE安装及详解" HIVE是一种基于Hadoop的数据仓库工具,主要用于处理和分析大规模数据。下面是关于HIVE的安装及详解。 HIVE基本概念 HIVE是什么?HIVE是一种数据仓库工具,主要用于处理和分析大规模数据。它将...

    hive安装

    【Hive安装详解】 Hive是Apache软件基金会的一个开源项目,它提供了一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以通过类SQL的方式进行大数据处理。...

    tomcat 7的hive驱动包&impala;驱动包

    标题中的“tomcat 7的hive驱动包&impala驱动包”表明了这是一个与Apache Tomcat 7服务器相关的软件包,包含了用于连接Hive和Impala数据库的驱动程序。Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL-like...

    Hive驱动1.1.0.zip

    在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询和管理存储在Hadoop分布式文件系统(HDFS)中的大量结构化数据。Hive 1.1.0是Hive的一个版本,提供了...

    Hive_JDBC.zip_hive java_hive jdbc_hive jdbc pom_java hive_maven连

    在大数据处理领域,Apache Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询存储在Hadoop集群中的大型数据集。Hive JDBC(Java Database Connectivity)是Hive提供的一种...

    Ambari下Hive3.0升级到Hive4.0

    7. **测试验证**:升级完成后,进行详尽的功能测试以验证升级成功。这包括查询性能测试、新的 Hive 功能验证、数据完整性检查以及与其它服务(如 HBase、Spark)的集成测试。 8. **监控与优化**:升级后,密切关注 ...

    hive 驱动包 hive 链接 datagrip的驱动包

    在大数据处理领域,Hive是一款基于Hadoop的数据仓库工具,它允许用户使用SQL类的语言(称为HQL)来查询、管理、分析存储在Hadoop分布式文件系统中的大规模数据集。而DataGrip是一款由JetBrains公司开发的强大数据库...

    Hive3.1.2编译源码

    使用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。 所以,如果想要使用高...

    连接hive依赖的jar包_hive连接方式

    7. **注意事项** - 确保Hive服务器已启动并允许远程连接。 - 检查防火墙设置,确保允许DataGrip所在机器访问Hive服务器的端口。 - 驱动版本应与Hive服务版本兼容,否则可能会遇到连接问题。 - 对于大型企业环境...

    hive-jdbc hive jdbc驱动

    hive-jdbc

    hive

    7. **数据生命周期管理**:Hive 提供了数据生命周期管理功能,可以设定数据的保留策略,自动清理过期的数据。 8. **与 BI 工具集成**:Hive 可以与商业智能(BI)工具,如 Tableau、QlikView 和 Power BI 等无缝...

    hive-site.xml

    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表生成工具,Hive表生成工具Hive表生成工具

    hive相关jar包

    在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询和管理存储在Hadoop分布式文件系统(HDFS)中的大量数据。Hive提供了数据整合、元数据管理、查询和分析...

    SpringBoot整合hive-jdbc示例

    ### 7. 注意事项 1. 确保Hive Server2已经在运行,并且配置的URL、用户名和密码正确。 2. Hadoop的相关环境变量(如HADOOP_HOME)应已设置,并添加到系统路径。 3. 如果Hive服务器有SSL配置,需要在`application....

Global site tag (gtag.js) - Google Analytics