![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hive
代码与思路齐飞
这个作者很懒,什么都没留下…
展开
-
hive中的本地模式
hive中的hql语句的执行大部分最后转化为了mr,但是执行的过程非常的慢,可以使用本地模式提高效率,不过不适合大数据量的时候。 需要开启本地模式: sethive.exec.mode.local.auto=true; 这时再去执行相同的hql时,会发现速度提高很多。但是,本地模式主要用来做调试,不能配置到hive-site.xml中,因为本地模式,会只在当前机器上执行mr,如果原创 2017-04-19 21:40:54 · 438 阅读 · 0 评论 -
metadata远程存储和hive.metastore.local属性的说明
官网上对hive.metastore.local属性的解释为:local or remote metastore (Removed as of Hive 0.10: If hive.metastore.uris is empty local mode is assumed, remoteotherwise);即本地或者远程的元数据(在hive0.10版本上删除列这个属性;如果hive.me转载 2017-04-19 23:02:31 · 2024 阅读 · 0 评论 -
hive的metastore的选择
metastore是hive元数据的集中存放地,Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。 Hive将元数据存储在数据库中(metastore),目前只支持 mysql、derby。 metastore默认使用内嵌的derby数据库作为存储引擎,但是我们一般选择使用mysql作为meta的存储位置。原创 2017-04-19 22:59:08 · 572 阅读 · 0 评论 -
hive表的DDL操作
查看表 hive> show tables; 创建表 hive> create table t1(id int); 查看表结构 hive> desc [extended] t1; extended是可选的,是扩展的表的信息 删除表 hive> drop table t1; 重命名表的名称 h原创 2017-04-19 22:23:28 · 959 阅读 · 0 评论 -
hive常用语句示例
1/ DDL 1.1 内部表和外部表(external) create table t_2(id int,name string,salary bigint,add string) row format delimited fields terminated by ','; create external table t_3(id int,name string,sala转载 2017-04-19 22:22:14 · 524 阅读 · 0 评论 -
数据的两种加载模式
读模式 数据库加载数据的时候不进行数据的合法性校验,在查询数据的时候将不合法的数据显示为NULL, 好处:加载速度快,适合大数据的加载。 写模式 数据库加载数据的时候要进行数据的合法性校验,在数据库里面的数据都是合法的 好处:适合进行查询,不会担心有不合法的数据存在。 hive使用的就是读模式,而mysql等数据库使用的则是写模式。原创 2017-04-19 22:15:30 · 728 阅读 · 0 评论 -
hive的三种复合数据类型array、map、struct以及自定义分割符示例
Hive的数据类型主要有int、boolean、date、array、map、struct等,在这只描述array,map,struct三种。 1.array(等同于数组,可以使用下标来操作相应的元素) 默认分割符下的array,示例如下: 有一群学生,id,name,hobby(多个) create table t3_arr( id int, na原创 2017-04-19 22:04:21 · 8197 阅读 · 0 评论 -
hive的四种表类型
Hive表有受控表(内部表)、外部表、分区表、桶表四种。 内部表,就是一般的表,前面讲到的表都是内布标,当表定义被删除的时候,表中的数据随之一并被删除。 外部表,数据存在与否和表的定义互不约束,仅仅只是表对hdfs上相应文件的一个引用,当删除表定义的时候,表中的数据依然存在。 创建外部表,external是外部表的关键字,也是和内部表有区别的地原创 2017-04-19 22:02:46 · 10425 阅读 · 0 评论 -
hive视图和索引的简单介绍
Hive和mysql等数据库一样,也有视图的概念,视图实际上是一张虚拟的表,是对数据的逻辑表示,只是一种显示的方式,主要的作用是: 1、视图能够简化用户的操作 2、视图使用户能以多钟角度看待同一数据 3、视图对重构数据库提供了一定程度的逻辑独立性 4、视图能够对机密数据提供安全保护 5、适当的利用视图可以更清晰的表达查询 如何创建一个视图? create原创 2017-04-19 22:01:10 · 697 阅读 · 0 评论 -
数据的导出
这个是数据装载的反向过程,有两种方式 1°、在hdfs的直接上操作 hadoop fs -cp src_uri dest_uri 或者 hive> export table tblName to'hdfs_uri'; 2°、在终端使用directory insert overwrite [local] directory'linux_fs_path' selec原创 2017-04-19 21:42:34 · 258 阅读 · 0 评论 -
hive中数据的几种加载方式
1、从linux fs和hdfs中加载 load data [local] inpath 'path' [overwrite] into table tblName [partition_sepc]; [local]:如果加上表示本地地址,如果没有表示HDFS上的地址。 [overwrite]:如果加上表示覆盖之前的数据,如果没有表示追加之前的数据。 [partition_原创 2017-04-19 23:05:22 · 3252 阅读 · 0 评论