简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 43 下一页

2013年1月4日

摘要: 这里罗列常用操作,更多参考https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Clihive命令行执行一个查询$HIVE_HOME/bin/hive -e 'select a.col from tab1 a'之后过程中,会在终端上显示mapreduce的进度,执行完毕后,最后把查询结果输出到终端上,接着hive进程退出,不会进入交互模式。使用静音模式执行一个查询$HIVE_HOME/bin/hive -S -e 'select a.col from tab1 a'加入-S,终端上的输出不 阅读全文
posted @ 2013-01-04 22:42 ggjucheng 阅读(10018) 评论(2) 推荐(1)

摘要: hive有两种数据修改方式从文件加载到hive表加载数据到表时,hive不会做任何转换。加载操作是纯粹的复制/移动操作,移动数据文件到相应的hive表。语法LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]实例假设hive的warehouse目录是/user/hadoop/warehouse,这里有一个login表CREATE TABLE login ( uid BIGINT, ip STRING)P 阅读全文
posted @ 2013-01-04 20:19 ggjucheng 阅读(24791) 评论(1) 推荐(2)

摘要: 这里罗列常用操作,更多参考https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Create%2FDrop%2FTruncateTable简单的创建表create table table_name ( id int, dtDontQuery string, name string)创建有分区的表create table table_name ( id int, dtDon... 阅读全文
posted @ 2013-01-04 16:01 ggjucheng 阅读(79318) 评论(0) 推荐(1)

2013年1月3日

摘要: 翻译自https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types列类型Hive支持的数据类型如下:原生类型:TINYINTSMALLINTINTBIGINTBOOLEANFLOATDOUBLESTRINGBINARY(Hive0.8.0以上才可用)TIMESTAMP(Hive0.8.0以上才可用)复合类型:arrays:ARRAY<data_type>maps:MAP<primitive_type, data_type>structs:STRUCT<col_name : data_ty 阅读全文
posted @ 2013-01-03 22:42 ggjucheng 阅读(24142) 评论(0) 推荐(2)

摘要: 参考https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable%2FPartitionStatements这里主要列一些常用操作。添加分区ALTER TABLE table_name ADD PARTITION (partCol = 'value1') location 'loc1'; //示例ALTER TABLE table_name ADD IF NOT EXISTS PARTITION (dt='20130101& 阅读全文
posted @ 2013-01-03 21:45 ggjucheng 阅读(118178) 评论(0) 推荐(2)

摘要: hive文件存储格式包括以下几类:TEXTFILESEQUENCEFILERCFILE自定义格式其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理。SequenceFile,RCFile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中,然后再从textfile表中用insert导入到SequenceFile,RCFile表中。TEXTFIEL默认格式,数据不做压缩,磁盘开销大,数据解析开销大。可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,从 阅读全文
posted @ 2013-01-03 20:29 ggjucheng 阅读(17301) 评论(1) 推荐(4)

摘要: Hadoop MapReduce程序中,reducer个数的设定极大影响执行效率,这使得Hive怎样决定reducer个数成为一个关键问题。遗憾的是Hive的估计机制很弱,不指定reducer个数的情况下,Hive会猜测确定一个reducer个数,基于以下两个设定:1. hive.exec.reducers.bytes.per.reducer(默认为1000^3)2. hive.exec.reducers.max(默认为999)计算reducer数的公式很简单:N=min(参数2,总输入数据量/参数1)通常情况下,有必要手动指定reducer个数。考虑到map阶段的输出数据量通常会比输入有大幅 阅读全文
posted @ 2013-01-03 19:20 ggjucheng 阅读(3646) 评论(0) 推荐(0)

摘要: order byorder by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序)只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。set hive.mapred.mode=nonstrict; (default value / 默认值)set hive.mapred.mode=strict;order by 和数据库中的Order by 功能一致,按照某一项 & 几项 排序输出。与数据库中 order by 的区别在于在hive.mapred.mode = strict 模式下 必须指定 limit 否则执行会报错。hive> 阅读全文
posted @ 2013-01-03 19:15 ggjucheng 阅读(25695) 评论(0) 推荐(2)

摘要: hive.exec.parallel参数控制在同一个sql中的不同的job是否可以同时运行,默认为false.下面是对于该参数的测试过程:测试sql:select r1.afrom ( select t.a from sunwg_10 t join sunwg_10000000 s on t.a=s.b) r1 join (select s.b from sunwg_100000 t join sunwg_10 s on t.a=s.b) r2 on (r1.a=r2.b);1当参数为false的时候,三个job是顺序的执行 set hive.exec.parallel=... 阅读全文
posted @ 2013-01-03 18:59 ggjucheng 阅读(8942) 评论(0) 推荐(0)

摘要: 在hive0.7的版本中增加了local hadoop的功能,就是在处理数据量比较小的情况在本地执行,而不走分布的mapred。这样一来,那些比较小的任务的执行速度就会大大提高。那到底什么样的任务会采用local hadoop呢,是由hive的一个参数控制的。hive.exec.mode.local.auto.inputbytes.max当处理的数据量比这个参数值小的情况下就会采用local hadoop的方式来执行。如果想要屏蔽掉local hadoop的功能,只需要把这个参数设置为-1即可。<property> <name>hive.exec.mode.local. 阅读全文
posted @ 2013-01-03 18:45 ggjucheng 阅读(1884) 评论(0) 推荐(0)

上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 43 下一页