自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 HIVE架构设计

5.提供对数据存取的编程接口,支持JDBC、ODBC。1.为超大数据集设计的计算、扩展能力;4.支持非结构化数据的1查询、计算;2.支持SQL like查询语言;3.多表的join操作;

2024-05-31 15:20:10 82

原创 Hive内部表及外部表

1.内部表目录hive会自动创建在默认的HDFS目录下/user/hive/warehouse/…使用describe可以查看所建的表的全部信息,其中Table Type 表示表的类型。2.创建外部表的时候,需要使用external关键字,并指定表对应hdfs上的目录。删除一个外部表时,只有与表相关的元数据被删除,而不会删除表的内容。当删除一个内部表时,表的元信息和表数据目录都会被删除。

2024-05-31 15:19:35 94

原创 hive自定义函数总结

当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。如lateral view explore()类似于:count/max/min。

2024-05-31 15:18:58 145

原创 hive内置函数总结2

描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;描述: 如果表达式A与表达式B相等,则为TRUE;

2024-05-31 15:18:15 208

原创 Hive查询操作(一)

数据仓库是典型的查多写少,这个是根据HDFS本身的特点来的。HDFS本身不支持随机修改,只支持追加。所以Hive读多改少,写就写一遍,重点在查询。查询的用处在方方面面都有,比如insert等,都需要查询。1、基本查询(Select…(2)SQL 可以写在一行或者多行。(1)SQL 语言大小写不敏感。(3)关键字不能被缩写也不能分行。(5)使用缩进提高语句的可读性。(4)各子句一般要分行写。1. 全表和特定列查询。2).选择特定列查询。

2024-05-31 15:17:38 413

原创 Hive基本查询(二)

将会返回所有表中符合 WHERE 语句条件的所有记录。(1)where 针对表中的列发挥作用,查询数据;等值 Join:Hive 支持通常的 SQL JOIN 语句,但是只支持等值连接,不支持非等值连接。左外连接:JOIN 操作符左边表中符合 WHERE 子句的所有记录将会被返回。右外连接:JOIN 操作符右边表中符合 WHERE 子句的所有记录将会被返回。案例:根据员工表和部门表中的部门编号相等,查询员工编号、员工名称和部门名称。内连接:只有进行连接的两个表中都存在与连接条件相匹配的数据才会被保留下来。

2024-05-31 15:16:33 360

原创 操作内部表数据

insert into teacher values (1,"fangGE","Man"),(2,"文。insert into 表名[(字段名, 字段名, …)] values(值, 值, …(1)当数据表字段内容对应了表目录下的文件数据,则会自动映射数据内容。(2)发现当把数据表导入到HDFS对应目录后,这种插入数据的方式。1.truncate table 表名;select * from 表名;比直接insert要更高效。文","Woman");

2024-05-31 15:15:42 120

原创 操作内部表数据

insert into teacher values (1,"fangGE","Man"),(2,"文。insert into 表名[(字段名, 字段名, …)] values(值, 值, …(1)当数据表字段内容对应了表目录下的文件数据,则会自动映射数据内容。(2)发现当把数据表导入到HDFS对应目录后,这种插入数据的方式。1.truncate table 表名;select * from 表名;比直接insert要更高效。文","Woman");

2024-05-31 15:14:45 205

原创 内部表与外部表的区别(二)

外部表:表类型表示为,external_taable,Hive在管理外部表时,只能删除元数据信息,而不能删除HDFS中的实际数据,当使用drop删除外部表时,只能删除外部表的元数据,而不能删除外部表位于HDFS中的真实数据,因此,Hive仅能管理外部表的部分内容,所以外部表也可以称为关联表。内部表:表类型表示为Manage_table ,Hive在管理内部表时当使用drop删除表,既能删除内部表的元数据,也能删除在HDFS中的实际数据,因此,Hive能完全控制和管理内部表,所以内部表也可以称为管理表。

2024-05-31 15:13:51 353

原创 Hive表DDL操作总结

3)关于外部表,drop操作只会删除元数据,不会删除文件系统的数据,而truncate操作不能直接操作外部表,因为外部表的不属于Hive管理,直接操作会报错。2)truncate操作只是会删除表中的数据,不会删除表的元数据(即表还存在,只针对普通表)1)drop 操作会删除元数据(即表不存在)和文件系统的数据(只针对普通表)9.drop 和truncate的区别。6.给分区表添加分区列的值。

2024-05-31 15:11:44 147

原创 Hive 分区类型

如果要在 Hive 使用静态分区,需要把 hive.mapred.mode 设置为 strict,set hive.mapred.mode=strict。假如要对多个列做分区,但又不知道有多少个列,那么适合使用动态分区。通常在加载文件(大文件)到 Hive 表的时候,首先选择静态分区。如果需要存储到表的数据量比较大,那么适合用动态分区。在加载数据的时候,动态分区比静态分区消耗更多时间。可以在 Hive 的内部表和外部表使用静态分区。在加载数据时,静态分区比动态分区更节省时间。动态分区表从非分区表加载数据。

2024-05-31 15:10:56 159

原创 hive分区(二)

在使用数据时如果指定了需要访问的分区名称,则只会读取相应的分区,避免全表扫描,提高查询效率。分区表指的是在创建表时指定分区空间,实际上就是在hdfs上表的目录下再创建子目录。作用:进行分区裁剪,避免全表扫描,减少MapReduce处理的数据量,提高效率。6.查询某个分区的数据,使用where条件进行分区裁剪,避免了全表扫描,效率高。4.查看某个表的所有分区。5.往分区中插入数据。

2024-05-31 15:10:16 279

原创 hive高级操作

lateral view语法: 和UDTF函数如explode()函数连用,因为UDTF有限制:No other expressions are allowed in SELECT;pivot()第一个参数为计算结果的聚合函数,for后面跟需要转化的列,in后面跟该列具体的值(即新的列的列名);split() + explode() + lateral view:行炸裂。collect_set() ( + concat_ws() ):行聚合。pivot()函数和unpivot()函数的行列转换。

2024-05-31 15:08:46 241

原创 1、Hive产生背景

通过上图,我们可以看到hive的下面是yarn、MapReduce、HDFS,这和我们对hive的定义是一样的。在传统数据库里,表的模式是在数据加载的时候强制确定的。7.Execute Job:hadoop内部执行的是mapreduce工作过程,任务执行引擎发送一个任务到资源管理节点(resourcemanager),资源管理器分配该任务到任务节点,由任务节点上开始执行mapreduce任务。另一方面,Hive对数据的验证并不在加载数据是进行,而在查询时进行,这称为“读时模式”。(3)更新、事物和索引。

2024-03-12 20:10:38 867 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除