随笔分类 -  Hive

1

hive内部表与外部表区别详细介绍
摘要:问题导读:1.创建内部表与外部表的区别是什么?2.external关键字的作用是什么?3.外部表与内部表的区别是什么?4.删除表的时候,内部表与外部表有什么区别?5.load data local inpath '/home/wyp/data/wyp.txt' into table wyp;的过程是什么样子的?6.磁盘,hdfs,hive表他们之间的过程是什么样子的?好了,进入正题。今天我们要探讨... 阅读全文

posted @ 2017-07-05 16:44 Charlist00 阅读(3055) 评论(0) 推荐(0)

从MySQL到Hive,数据迁移就这么简单
摘要:使用Sqoop能够极大简化MySQL数据迁移至Hive之流程,并降低Hadoop处理分析任务时的难度。先决条件:安装并运行有Sqoop与Hive的Hadoop环境。为了加快处理速度,我们还将使用Cloudera Quickstart VM(要求至少4 GB内存),不过大家也可以使用Hortonworks Data Platform(至少要求8 GB内存)。由于我的笔记本电脑只有8 GB内存,因此我... 阅读全文

posted @ 2017-07-05 16:43 Charlist00 阅读(9426) 评论(0) 推荐(0)

Hive 安装配置
摘要:Hive 运行模式与 Hadoop 类似,Hive 也有 3 种运行模式:1. 内嵌模式将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式。但是这种方式缺点也比较明显,因为一个内嵌的 Derby 数据库每次只能访问一个数据文件,这也就意味着它不支持多会话连接。2. 本地模式这种模式是将元数据保存在本地独立的数据库中(一般是 MySQL),这用就可以支持多会话和多用户连... 阅读全文

posted @ 2017-07-05 16:42 Charlist00 阅读(301) 评论(0) 推荐(0)

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

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

Hive 基本操作
摘要:数据定义 - DDL(1)建表(CREATE)的语法如下:CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [... 阅读全文

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

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

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

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

posted @ 2017-07-05 16:38 Charlist00 阅读(710) 评论(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 阅读(338) 评论(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 阅读(5934) 评论(1) 推荐(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 阅读(1094) 评论(0) 推荐(0)

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

posted @ 2017-07-05 16:34 Charlist00 阅读(282) 评论(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 阅读(2005) 评论(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 阅读(192) 评论(0) 推荐(0)

Hive索引
摘要:Hive是支持索引的,但基本没用过,只做了下试验。为什么大家都不用,肯定有它的弊端。Hive索引机制:在指定列上建立索引,会产生一张索引表(Hive的一张物理表),里面的字段包括,索引列的值、该值对应的HDFS文件路径、该值在文件中的偏移量;在执行索引字段查询时候,首先额外生成一个MR job,根据对索引列的过滤条件,从索引表中过滤出索引列的值对应的hdfs文件路径及偏移量,输出到hdfs上的一个... 阅读全文

posted @ 2017-07-05 16:30 Charlist00 阅读(1885) 评论(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 阅读(3844) 评论(0) 推荐(0)

Hive函数大全-完整版
摘要:现在虽然有很多SQL ON Hadoop的解决方案,像Spark SQL、Impala、Presto等等,但就目前来看,在基于Hadoop的大数据分析平台、数据仓库中,Hive仍然是不可替代的角色。尽管它的相应延迟大,尽管它启动MapReduce的时间相当长,但是它太方便、功能太强大了,做离线批量计算、ad-hoc查询甚至是实现数据挖掘算法,而且,和HBase、Spark都能整合使用。如果你是做大... 阅读全文

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

Hive中的数据库(Database)和表(Table)
摘要:在前面的文章中,介绍了可以把Hive当成一个“数据库”,它也具备传统数据库的数据单元,数据库(Database/Schema)和表(Table)。本文介绍一下Hive中的数据库(Database/Schema)和表(Table)的基础知识,由于篇幅原因,这里只是一些常用的、基础的。二、Hive的数据库和表先看一张草图:Hive结构从图上可以看出,Hive作为一个“数据库”,在结构上积极向传统数据库... 阅读全文

posted @ 2017-07-05 16:29 Charlist00 阅读(27774) 评论(0) 推荐(2)

Hive中数据的加载和导出
摘要:关于 Hive DML 语法,你可以参考 apache 官方文档的说明:Hive Data Manipulation Language。apache的hive版本现在应该是 0.13.0,而我使用的 hadoop 版本是 CDH5.0.1,其对应的 hive 版本是 0.12.0。故只能参考apache官方文档来看 cdh5.0.1 实现了哪些特性。因为 hive 版本会持续升级,故本篇文章不一定... 阅读全文

posted @ 2017-07-05 16:26 Charlist00 阅读(7588) 评论(0) 推荐(1)

Hive入门--2.分区表 外部分区表 关联查询
摘要:1.查看mysql中metastore数据存储结构Metastore中只保存了表的描述信息(名字,列,类型,对应目录)使用SQLYog连接itcast05 的mysql数据库 查看hive数据库的表结构: 2.建表(默认是内部表(先建表,后有数据))(建表时必须指定列的分隔符)create table trade_detail( id bigint, account string, inco... 阅读全文

posted @ 2017-07-05 16:16 Charlist00 阅读(1896) 评论(0) 推荐(0)

Hive UDAF开发详解
摘要:明这篇文章是来自Hadoop Hive UDAF Tutorial - Extending Hive with Aggregation Functions:的不严格翻译,因为翻译的文章示例写得比较通俗易懂,此外,我把自己对于Hive的UDAF理解穿插到文章里面。udfa是hive中用户自定义的聚集函数,hive内置UDAF函数包括有sum()与count(),UDAF实现有简单与通用两种方式,简单... 阅读全文

posted @ 2017-07-05 15:54 Charlist00 阅读(358) 评论(0) 推荐(0)

1

导航