hadoop-hive
笔尖的痕
spark、hadoop,数据仓库,实时计算
展开
-
hive 基本操作
一、创建表 1、创建分区表: CREATE TABLE page_view(viewTime INT,userid BIGINT, page_url STRING, reffer_url STRING, ip STRING COMMENT 'IP Address of user') COMMENT 'this is table' PARTITIONED BY(dt STRING原创 2013-11-03 09:29:24 · 1050 阅读 · 0 评论 -
hive的内部表与外部表创建
1.创建表的语句: Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment],转载 2013-11-03 09:35:41 · 936 阅读 · 0 评论 -
Hive限制
1.更新,事务,索引,不支持,是全表扫描 2.创建表的字段类型和java类型是对应的。不支持日期类型,提供转换为字符串类型的函数。 3.查询语句中,不支持having,可写嵌套的select来解决;group by后只能是表的定义列名,不能像mysql那样可以为查询语句为逻辑处理结果声明的别名,但可为逻辑处理过程语句 4.内置函数查看命令(show functions;des转载 2013-11-03 09:37:02 · 859 阅读 · 0 评论 -
通过学生-课程关系表,熟悉hive语句
1、在hive中创建以下三个表。 create table student(Sno int,Sname string,Sex string,Sage int,Sdept string)row format delimited fields terminated by ','stored as textfile; create table course(Cno int,Cname st转载 2013-11-03 09:38:12 · 1230 阅读 · 0 评论 -
Hive优化总结
优化时,把hive sql当做mapreduce程序来读,会有意想不到的惊喜。 理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。 长期观察hadoop处理数据的过程,有几个显著的特征: 1.不怕数据多,就怕数据倾斜。 2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完转载 2013-11-03 09:39:15 · 881 阅读 · 0 评论 -
hive join
1.支持equality joins, outer joins, and left semi joins 2.只支持等值条件 3.支持多表join 原理 hive执行引擎会将HQL“翻译”成为map-reduce任务,如果多张表使用同一列做join则将被翻译成一个reduce,否则将被翻译成多个map-reduce任务。 eg: SELECT a.val, b.val, c.val转载 2013-11-03 09:41:39 · 883 阅读 · 0 评论 -
写好Hive 程序的五个提示
使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下,因为不熟悉数据特性,或没有遵循Hive的优化约定,Hive计算任务会变得非常低效,甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。 有一些大家比较熟悉的优化约定包括:Join中需要将大表写在靠右的位置;尽量使用UDF而不是transfrom……诸如此类。下面讨论5个性能和逻辑转载 2013-11-03 09:42:41 · 940 阅读 · 0 评论 -
hive中的自定义函数
下面这个例子是个简单的测试,关于自定义函数的。 函数代码 package com.example.hive.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; public final class Lower extends UDF { public Text转载 2013-11-03 09:43:44 · 881 阅读 · 0 评论