热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hive的快速使用说明一

这里记录一下Hive的快速使用说明Hive的安装其实是非常简单的,从官网上下载.tar.gz文件后,在Linux服务器上解压开来,就可以见到我们常见的一些目录,像conf

这里记录一下Hive的快速使用说明

Hive的安装其实是非常简单的,从官网上下载.tar.gz文件后,在Linux服务器上解压开来,就可以见到我们常见的一些目录,像conf、bin等等目录,进入到conf目录,将文件

hive-default.xml.template复制成hive-default.xml,然后新建一个文件hive-site.xml,同样将hive-env.sh.template文件复制成hive-env.sh。

Hive由于要使用到Hadoop,所以在使用Hive之前必须确保Hadoop正确安装了,在使用HIVE前,先在hdfs中创建两个目录,如下:

  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp

  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse

  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp

  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

当然了,最好是hadoop和hive的bin目录都在环境变量里设一下,这样更方便使用。

配置

Hive的配置默认都是在/conf/hive-default.xml中,如果要更改默认的配置,则可以在hive-site.xml中进行,hive-site.xml里的配置会覆盖掉hive-default.xml里的配置,在conf目录里还包括log4j日志的配置,通过命令还可以设置log4j的日志打印级别,如:bin/hive -hiveconf hive.root.logger=INFO,console

除了在配置文件中配置外,还可以直接运行命令进行设置,如:
hive> SET mapred.job.tracker=myhost.mycompany.com:50030;
hive> SET -v;
通过SET命令不仅仅可以设置Hive的参数,还可以设置Hadoop的参数。

DDL(Data Definition Language)操作
1、创建一个叫pokes的表:
hive> CREATE TABLE pokes (foo INT, bar STRING) row format delimited fields terminated by ‘|’;
该表有两列,第一个参数为int型,第二个参数为字符串型。

row format delimited fields terminated by ‘|’ 表示字段之间以|分隔,比如将文本文件写入到hive中时,要与该处一致,如某一要导入的文本文件为:

1|a
2|b
3|c
4|d
5|e
6|f
7|g
8|h
9|i
10|j

创建一个叫invites的表
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
partition分区的意思,用来在查询时缩小查询范围,加快数据检索速度。
2、创建一个叫invites的表
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
两列以及一个叫ds的分区列。
3、查看已存在的表
hive> SHOW TABLES;
OK
invites
pokes
Time taken: 3.376 seconds
也支持正则的写法,如:
hive> SHOW TABLES ‘.*s’;
OK
invites
pokes
Time taken: 0.034 seconds
4、查看表结构
hive> DESCRIBE invites;
OK
foo     int
bar     string
ds      string
Time taken: 0.24 seconds
5、修改表
我们也可以像关系数据库中那样对表的结构进行修改,比如新增列等等。
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
再describe pokes;发现pokes表新增了一列了。
修改表名,如:
ALTER TABLE pokes RENAME TO pokes2;
将表pokes改为pokes2.
6、删除表
hive> DROP TABLE pokes2;
DML操作(Data Manipulation Language)
1、 从文本文件中导入数据到hive表中
hive>LOAD DATA LOCAL INPATH ‘../examples/files/kv1.txt’ OVERWRITE INTO TABLE pokes;
结果:
Copying data from file:/usr/local/hive-0.9.0/examples/files/kv1.txt
Copying file: file:/usr/local/hive-0.9.0/examples/files/kv1.txt
Loading data to table default.pokes
Deleted hdfs://master:9000/user/hive/warehouse/pokes
OK
Time taken: 0.247 seconds
在上面的命令中OVERWRITE表示覆盖的意思,如果没有OVERWRITE则在原来记录的基础上添加。
2、 查看pokes中有多少条记录
hive> select count(*) from pokes;
结果如下:
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=
In order to set a constant number of reducers:
set mapred.reduce.tasks=
Starting Job = job_201303271417_0002, Tracking URL = http://master:50030/jobdetails.jsp?jobid=job_201303271417_0002
Kill Command = /usr/local/hadoop-1.0.0/libexec/../bin/hadoop job  -Dmapred.job.tracker=master:9001 -kill job_201303271417_0002
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2013-04-02 16:52:49,857 Stage-1 map = 0%,  reduce = 0%
2013-04-02 16:52:55,892 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:52:56,900 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:52:57,907 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:52:58,913 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:52:59,919 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:00,925 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:01,930 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:02,936 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:03,942 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:04,947 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:05,953 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:06,958 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 0.64 sec
2013-04-02 16:53:07,964 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:08,969 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:09,975 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:10,980 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:11,985 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:12,989 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:13,994 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:15,000 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:16,006 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
2013-04-02 16:53:17,012 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 3.38 sec
MapReduce Total cumulative CPU time: 3 seconds 380 msec
Ended Job = job_201303271417_0002
MapReduce Jobs Launched:
Job 0: Map: 1  Reduce: 1   Cumulative CPU: 3.38 sec   HDFS Read: 6018 HDFS Write: 4 SUCCESS
Total MapReduce CPU Time Spent: 3 seconds 380 msec
OK
500
Time taken: 35.347 seconds
可以看到该查询其实是启动了一个MapReduce来进行的计算,总共有500条记录。
3、 创建带有分区的表
hive> LOAD DATA LOCAL INPATH ‘./examples/files/kv2.txt’ OVERWRITE INTO TABLE invites PARTITION (ds=’2008-08-15′);
hive> LOAD DATA LOCAL INPATH ‘./examples/files/kv3.txt’ OVERWRITE INTO TABLE invites PARTITION (ds=’2008-08-08′);
4、 从hdfs中导入数据到Hive表中
hive> LOAD DATA INPATH ‘/user/myname/kv2.txt’ OVERWRITE INTO TABLE invites PARTITION (ds=’2008-08-15′);

如果是多分区,如两个分区,则为:(ds=’2008-08-15′,node=’bjuni’)

上面是hive快速使用的一部分,下一部分在之后会再整理。

如无转载说明,则均为本站原创文章,转载请注明:来源:子猴博客


推荐阅读
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
author-avatar
Shimmoon
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有