2017年7月5日

Hive数据导入/导出

摘要: 1.1 导入/导出规则EXPORT 命令导出数据表或分区,与元数据一起输出到指定位置。又可以从这个输出位置移动到不同的Hadoop 或Hive 实例中,并且使用IMPORT 命令导入。当导出一个分区表时,原始数据可能位于不同的HDFS位置,同时还支持导出/导入分区的子集。导出的元数据存储在目标目录中,数据文件则存储在子目录中。EXPORT 和IMPORT 命令独立于所用的数据源和目标元数据数据管理... 阅读全文

posted @ 2017-07-05 16:39 Charlist00 阅读(389) 评论(0) 推荐(0) 编辑

hive分区(partition)简介

摘要: 一、背景1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。2、分区表指的是在创建表时指定的partition的分区空间。3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。二、技术细节1、一个表可以拥有一个或者多个分区,... 阅读全文

posted @ 2017-07-05 16:38 Charlist00 阅读(836) 评论(0) 推荐(0) 编辑

Hive bucket表

摘要: Hive 桶对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是 针对某一列进行桶的组织。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。把表(或者分区)组织成桶(Bucket)有两个理由:(1)获得更高的查询处理效率。桶为表加上了额外的结构,Hive 在处理有些查询时能利用这个结构。具体而言,连接两个... 阅读全文

posted @ 2017-07-05 16:38 Charlist00 阅读(691) 评论(0) 推荐(0) 编辑

HIve实战分析Hadoop的日志

摘要: 1、日志格式分析首先分析 Hadoop 的日志格式, 日志是一行一条, 日志格式可以依次描述为:日期、时间、级别、相关类和提示信息。如下所示: Java代码 2013-03-06 15:23:48,132 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG: /*************************... 阅读全文

posted @ 2017-07-05 16:35 Charlist00 阅读(321) 评论(0) 推荐(0) 编辑

hive 元数据解析

摘要: 在使用Hive进行开发时,我们往往需要获得一个已存在hive表的建表语句(DDL),然而hive本身并没有提供这样一个工具。要想还原建表DDL就必须从元数据入手,我们知道,hive的元数据并不存放在hdfs上,而是存放在传统的RDBMS中,典型的如MySQL,derby等,这里我们以mysql为元数据库,结合0.4.2版本的hive为例进行研究。连接上mysql后可以看到hive元数据对应的表约有... 阅读全文

posted @ 2017-07-05 16:35 Charlist00 阅读(5877) 评论(1) 推荐(0) 编辑

hive学习笔记之-数据类型

摘要: 数据类型Hive基本的数据类型: Hive集合数据类型:另外还有一个复合数据类型,可以综合上面的数据类型组合到一起。· union: UNIONTYPE 类型说明时间戳 支持传统的unix时间戳,可选的纳秒级精度。 支持的转换: l 整型数值类型:解读为以秒为单位的UNIX时间戳 l 浮动点数值类型:解读为以秒和小数精度为单位的UNIX时间戳... 阅读全文

posted @ 2017-07-05 16:34 Charlist00 阅读(275) 评论(0) 推荐(0) 编辑

hive array、map、struct使用

摘要: hive提供了复合数据类型:Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域aMaps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M['group']来获取Arrays:array中的数据为相同类... 阅读全文

posted @ 2017-07-05 16:34 Charlist00 阅读(1086) 评论(0) 推荐(0) 编辑

hive 包含操作(left semi join)(left outer join = in)迪卡尔积

摘要: 目前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含一个字段,uid。 in查询如果要查询当天登陆的注册用户,需要用in查询,hive sql如下:select login.uid from login lef... 阅读全文

posted @ 2017-07-05 16:33 Charlist00 阅读(1955) 评论(0) 推荐(0) 编辑

Hive的动态分区

摘要: 关系型数据库(如Oracle)中,对分区表Insert数据时候,数据库自动会根据分区字段的值,将数据插入到相应的分区中,Hive中也提供了类似的机制,即动态分区(Dynamic Partition),只不过,使用Hive的动态分区,需要进行相应的配置。先看一个应用场景,源表t_lxw1234的数据如下:[sql] view plain copySELECT day,url FROM t_lxw12... 阅读全文

posted @ 2017-07-05 16:30 Charlist00 阅读(3798) 评论(0) 推荐(0) 编辑

Hive HBase 整合

摘要: hive hbase整合,要求比较多,1.hive的得是0.6.0(当前最新的版本) 2.hive本身要求hadoop的最高版本是hadoop-0.20.2 3.要求hbase的版本是0.20.3,其他版本需要重新编译hive_hbase-handler 但是新版的hbase(0.90)变动特别大,根本无法从编译。这点比较恶心,hbase目前升级比较快,当前是0.90(从0.20.6直接跳到0.8... 阅读全文

posted @ 2017-07-05 16:30 Charlist00 阅读(183) 评论(0) 推荐(0) 编辑

导航