文档章节

在Ubuntu10.10中安装HIVE

王二铁
 王二铁
发布于 2012/02/23 18:02
字数 942
阅读 266
收藏 0
参照:http://wadefall.iteye.com/blog/1204286
一路配置下来没发现什么问题,然后就是利用HIVE跑SQL,执行和第一个Map/Reduce相符的程序了。

 

1.创建表

create table packCount (userinfo STRING, udid STRING, ip STRING, net STRING, noth STRING,noth2 STRING, noth3 STRING, phone STRING, num STRING, city STRING, pack STRING, numm STRING,downtime STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
2.上传数据
load data local inpath '/home/wjk/hadoop/cdh3/packin/active_log2012020101.txt' overwrite into table packCount;
3.写SQL
select pack ,COUNT(udid) as PV,COUNT(distinct(udid)) as UV from packCount where udid !=''and udid!='null' group by pack;
4.原数据有11个字段,第一次建表只建了9个字段。需要删除重建
首先使用了:dfs -rmr /user/hive/warehouse/packcount;
但是再次创建表时一直提示表packCount已经存在,后来想到了再Hive中没有删除表,应该在hive>运行drop table packCount;

参照:http://www.hadoopor.com/thread-409-1-1.html

======遗留问题========

1.注意了一下load的执行过程,最后又一个delete from hdfs不知道要怎么理解

HIVE load数据的执行过程:
hive> load data local inpath '/home/wjk/hadoop/cdh3/packin/active_log-2012020101.txt' overwrite into table packCount;
Copying data from file:/home/wjk/hadoop/cdh3/packin/active_log2012020101.txt
Copying file: file:/home/wjk/hadoop/cdh3/packin/active_log2012020101.txt
Loading data to table default.packcount
Deleted hdfs://localhost:9000/user/hive/warehouse/packcount
OK
Time taken: 2.611 seconds

文件从本地上传到Hive的数据仓库,权威指南(中文版)381页有提示说:load是把文件从hdfs://.......移动到Hive的仓库目录中packCount表的目录,即hdfs://user/hive/warehouse/packCount,"只有源文件和目标文件在同一个文件系统中移动才会成功",那么理解为文件从本地磁盘,先上传到hdfs,然后再移动到Hive的数据仓库,而hdfs只作为一个中转站,所有最后才有一个delete这样理解总觉得不对???求大侠帮忙解释

又有:"hive中删除表,数据是不删除的,因为本身数据就是dfs中,它只是load进去,元数据只是记录了表与这些数据之间的关系",这样又该怎么解释这个delete呢??迷惑

==================2.24====================

#1.看到一句,"Load语句中的overwrite关键字告诉Hive删除表所对应目录中已有的所有文件,如果省去这一关键字,Hive就简单的把新的文件加入目录",所有我怀疑最后的删除是不是由overwrite引起的,然后进行试验。


#2.首先在Hive下执行:drop table packCount;然后再执行:dfs -rmr /user/hive/warehouse/packcount;控制台报错,提示“No such file or directory.”在dfs中查看了下果然是没有这个目录了。
    原因:因为我用的一直是托管表,在Drop的时候元数据和数据会一起被删除。(如果是外部表,external声明的表,则只会删除元数据)


#3.重新建表,load数据,这次去除overwrite关键字。

hive> load data local inpath '/home/wjk/hadoop/cdh3/packin/active_log-2012020101.txt' into table packCount;
Copying data from file:/home/wjk/hadoop/cdh3/packin/active_log-2012020101.txt
Copying file: file:/home/wjk/hadoop/cdh3/packin/active_log-2012020101.txt
Loading data to table default.packcount
OK
Time taken: 40.711 seconds

果然就没有了那个delete!原来都是overwrite惹的祸.

 

#4.梳理下思路,也许可以这么理解:在load执行到load data to table的时候会进行一下判断,如果使用了overwrite关键字,就要先删除对应目录的所有文件,所有会有一个Deleted hdfs://localhost:9000/user/hive/warehouse/packcount的操作,在delete之后将data放到dfs中,再load到Hive中。而Hive中就是元数据的存在形式,实际上数据就是在dfs中存放。最后在drop的时候会根据是托管表还是外部表进行删除。

####:个人愚见,如果不对还希望各位前辈多加指正,谢谢

© 著作权归作者所有

王二铁

王二铁

粉丝 91
博文 62
码字总数 41123
作品 0
北京
后端工程师
私信 提问
Sun Java 最终进入Ubuntu10.10软件中心

在Ubuntu10.04中安装Java JDK时,我们通常需要在第三方源中添加合作伙伴的源,如: deb http://archive.canonical.com/ lucid partner 或者使用一些PPA来安装JDK,而在Ubuntu10.10中,一切都...

红薯
2010/10/05
4.4K
8
十二个理由让你不得不期待Ubuntu10.10

代号为“Maverick Meerkat(狐獴)”的Ubuntu10.10将于10月10日(本周日)发布正式版本,毫无疑问,大部分的Ubuntu用户都在等着下载最新版。毕 竟10.10版是Canonical公司目前用户体验最友好的Lin...

红薯
2010/10/09
3.5K
25
硬盘安装ubuntu 10.10及相关事项

Windows7 下硬盘安装ubuntu10.x.desktop.iso 理论上win7、vista系统32位或64位均可。ubuntu适用与10.X版本,且ubuntu-10.10-desktop-i386.iso 和ubuntu-10.10-desktop-amd64.iso测试通过。接...

长平狐
2012/09/03
272
0
在Ubuntu10.10中使用hadoop

这是21号和今天的工作日志: 14:26 2012-2-21 #1.安装VMWare7.1.4(可以自动联网,不用自己设置) 序列号:UF1W2-DCXDK-48ENY-TDNGG-MG0V2 #2.安装Ubuntu10.10 #3.在Ubuntu中安装JDK 1.下载j...

王二铁
2012/02/22
644
0
ooooooooooooooooo

ubuntu10.10 分区 : /boot 100m swap 1g /tmp 2g /var 2g /home 20g /usr 20g /5g ubuntu10.10 安装:wine heidisql navicat putty docky gnome-do chmsee stardict iptux qq(真难用)eclips......

Hongbin Wang
2011/03/18
92
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 不要在领导修风扇的时候打开电扇

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Whats Up》 主唱妹子 Lina Perry 的嗓音实在太有力了,收放自如的自信才能唱出这么优秀的歌吧!#今日歌曲推荐# 《Whats Up》-...

小小编辑
今天
11
0
SpringBoot集成Elasticsearch并进行增删改查操作

一、创建工程 使用IntelliJ创建SpringBoot工程 SpringBoot版本为2.0.4 ElasticSearch为5.6.10 删掉蓝框中的文件(如上) 最后我们的目录结构(如下) 下面pom文件主要修改的是把spring boot从Int...

一字见心
今天
5
0
x001-版本介绍

python版本介绍 目前有2 和 3 有很多企业用的代码是2版本,随着技术的发展,以后用3的会成为大趋势 python3的安装 yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-d...

侠客行之石头
今天
5
0
聊聊rocketmq的TransientStorePool

序 本文主要研究一下rocketmq的TransientStorePool TransientStorePool rocketmq-all-4.6.0-source-release/store/src/main/java/org/apache/rocketmq/store/TransientStorePool.java publi......

go4it
昨天
6
0
笔记

场外借贷, 质押 ,托管, 永续合约. 场外借贷,n签合同. 新功能 证券交易组负责中信证券机构及个人投资交易相关系统,服务机构及个人投资客户, 涉及到两融、期权、 期货、做市等境内境外创新业...

MtrS
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部