- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 Hive 案例
1、需求描述和数据说明针对销售数据,完成统计:按年统计销售额销售金额在 10W 以上的订单每年销售额的差值年度订单金额前10位(年度、订单号、订单金额、排名)季度订单金额前10位(年度、季度、订单id、订单金额、排名)求所有交易日中订单金额最高的前10位每年度销售额最大的交易日年度最畅销的商品(即每年销售金额最大的商品)数据如下2、建表并导入数据vim createtable.hql-- createtable.hqldrop database sale cascad
2021-10-16 17:05:29
933
原创 Hive 之元数据管理
1、Metastore在Hive的具体使用中,首先面临的问题便是如何定义表结构信息,跟结构化的数据映射成功。所谓的映射指的是一种对应关系。在Hive中需要描述清楚表跟文件之间的映射关系、列和字段之间的关系等等信息。这些描述映射关系的数据的称之为Hive的元数据。该数据十分重要,因为只有通过查询它才可以确定用户编写sql和最终操作文件之间的关系。Metadata即元数据。元数据包含用Hive创建的database、table、表的字段等元信息。元数据存储在关系型数据库中。如hive内置的Derby、第三方
2021-10-16 14:43:17
1024
原创 Hive之文件格式
Hive支持的存储数的格式主要有:TEXTFILE(默认格式) 、SEQUENCEFILE、RCFILE、ORCFILE、PARQUET。textfile为默认格式,建表时没有指定文件格式,则使用TEXTFILE,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;sequencefile,rcfile,orcfile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从表中用insert导入sequencefile、rcfile、orcfile表中。行存储与列
2021-10-10 23:36:52
1216
原创 Hive 之自定义函数
当 Hive 提供的内置函数无法满足实际的业务处理需要时,可以考虑使用用户自定义函数进行扩展。用户自定义函数分为以下三类:UDF(User Defined Function)。用户自定义函数,一进一出UDAF(User Defined Aggregation Function)。用户自定义聚集函数,多进一出;类似于:count/max/minUDTF(User Defined Table-Generating Functions)。用户自定义表生成函数,一进多出;类似于:explodeUDF开发
2021-10-10 19:10:01
316
原创 Hive 之 窗口函数
目录1、 窗口基本用法1.1 over 关键字1.2 partition by子句1.3 order by 子句2、Window子句3、排名函数4、序列函数5、GROUPING SETS、GROUPING__ID、CUBE和ROLLUP窗口函数又名开窗函数,属于分析函数的一种。用于解决复杂报表统计需求的功能强大的函数,很多场景都需要用到。窗口函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。1、 窗口基本用法1.1 over 关键字使用窗口
2021-10-10 17:23:42
550
原创 Hive 之函数
查看系统函数-- 查看系统自带函数show functions;-- 显示自带函数的用法desc function upper;desc function extended upper;日期函数-- 当前前日期 current_date带不带小括号都行select current_date, unix_timestamp();+-------------+-------------+| _c0 | _c1 |+-------------+-----
2021-10-09 22:51:57
73
原创 Hiv之DQL
1、select语法:SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE where_condition][GROUP BY col_list][ORDER BY col_list][CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BYcol_list]][LIMIT [offset,] rows]创建表,加载数据-- 测
2021-10-05 13:23:20
150
原创 Hive 之数据导入导出
1、导入loadLOAD DATA [LOCAL] INPATH 'filepath'[OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1,partcol2=val2 ...)]LOCAL:表示从本地导入,否则从HDFS上导入INPATH:加载数据的路径OVERWRITE:覆盖表中已有数据;否则表示追加数据PARTITION:将数据加载到指定的分区2、插入数据-- 创建分区表CREATE TABLE tabC (id
2021-10-03 13:29:52
100
原创 Hive 之 DDL
DDL(data definition language): 主要的命令有CREATE、ALTER、DROP等。DDL主要是用在定义、修改数据库对象的结构 或 数据类型。1、Database
2021-10-02 21:55:22
373
原创 Hive数据类型
1、数据类型1.1 基本数据类型1.2 数据类型转换hive (default)> > > select '1.0' + 2;OK_c03.0Time taken: 20.331 seconds, Fetched: 1 row(s)hive (default)>hive (default)> > SELECT '1111' > 10;OK_c0
2021-09-26 23:26:52
274
原创 Hive 安装
1、 安装Mysql使用Mysql 存储Hive 的元信息,不使用mariadb1、先卸载mariadbrpm -qa | grep mariadbrpm -e --nodeps 文件名2、下载mysql 安装包这里是离线安装,先下载Mysql .gz.tar 包。 下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz3、开始安装在开始安装之前,为了安全,一般
2021-09-25 20:59:04
115
原创 MR之join
1、reduce joinbeanpackage reduce_join;import org.apache.hadoop.io.Writable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;public class DeliverBean implements Writable { private String userId; private String po
2021-09-21 14:44:16
155
原创 MR之排序
1、MR 中的排序MapTask和ReduceTask均会对数据按照key进行排序。该操作属于Hadoop的默认行为。任何应用程序中的数据均会被排序,而不管逻辑.上是否需要。默认排序是按照字典顺序排序,且实现该排序的方法是快速排序。MapTask它会将处理的结果暂时放到环形缓冲区中,当环形缓冲区使用率达到一定阈值后,再对缓冲区中的数据进行一次快速排序,并将这些有序数据溢写到磁盘上,溢写完毕后,它会对磁盘上所有文件进行归并排序。ReduceTask 当所有数据拷贝完毕后,ReduceTask统-对内存
2021-09-20 18:48:59
1183
原创 MR 之shuffle
1、MapTask 运行机制详细步骤:首先,读取数据组件InputFormat(默认TextInputFormat)会通过getSplits方法对输入目录中文件进行逻辑切片规划得到splits,有多少个split就对应启动多少个MapTask。split与block的对应关系默认是一对一。将输入文件切分为splits之后,由RecordReader对象(默认LineRecordReader)进行读取,以\n作为分隔符,读取一行数据,返回<key,value>。Key表示每
2021-09-20 15:07:22
203
原创 Hadoop 序列化
序列化主要是我们通过网络通信传输数据时或者把对象持久化到文件,需要把对象序列化成二进制的结构。为什么Hadoop要选择建立自己的序列化格式而不使用java自带serializable?序列化在分布式程序中非常重要,在Hadoop中,集群中多个节点的进程间的通信是通过RPC(远程过程调用:Remote Procedure Call)实现;RPC将消息序列化成二进制流发送到远程节点,远程节点再将接收到的二进制数据反序列化为原始的消息,因此RPC往往追求如下特点:紧凑:数据更紧凑,能充分利..
2021-09-20 00:08:13
161
原创 Hadoop 元数据管理
1、计算机中存储数据两种:内存或者是磁盘元数据存储磁盘:存储磁盘无法面对客户端对元数据信息的任意的快速低延迟的响应,但是安全性高元数据存储内存:元数据存放内存,可以高效的查询以及快速响应客户端的查询请求,数据保存在内存,如果断点,内存中的数据全部丢失。解决方案:内存+磁盘;NameNode内存+FsImage的文件(磁盘)第一阶段:NameNode启动第一次启动NameNode格式化后,创建Fsimage和Edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。客户端对元数
2021-09-19 18:58:20
684
原创 HDFS 常用shell 命令和 java api 操作文件上传下载删除
HDFS shenll 常用命令1、 查看命令的用法和参数 hadoop fs -help 命令, 如查看rm 命令的用法 : hadoop fs -help rm2、 显示目录 hadoop fs -ls /3、 创建目录 hadoop fs -mkdir -p /test4、上传 hadoop fs -copyFromLocal 本地文件 hdfs路径 hadoop fs -put 本地文件 hdfs
2021-09-12 18:17:35
317
原创 Hadoop集群搭建
@20201/6/18Hadoop集群搭建你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。1、配置hostname编辑/etc/hosts,在文件尾部追加如下内容:192.168.21.10 master192.168.21.20 slave1192.168.21.30 slave2ip 根据自己环境修改,最后/etc/hosts 内容如下:127.0.0.1
2021-06-20 19:16:29
212
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人