hive数据仓库部分
道法—自然
不积跬步,无以至千里;不积小流,无以成江海。——荀子
展开
-
hive中的数据类型:基本数据类型,集合数据类型
Hive支持关系型数据库中的大多数基本数据类型,同时支持关系型数据库中很少出现的3种集合数据类型,下面我们将简短地介绍一下这样做的原因。 其中一个需要考虑的因素就是这些数据类型是如何在文本文件中进行表示的,同时还要考虑文本存储中为了解决各种性能问题以及其他问题有哪些替代方案。和大多数的数据库相比,Hive具有一个独特的功能,那就是其对于数据在文件中的编码方式具有非常大的类活性。大多数的数据库...原创 2018-09-08 16:52:36 · 9853 阅读 · 0 评论 -
hive中动态分区与静态分区
from part0insert into table part1 partition (sex) select *;hive中的分区有两种:动态分区和静态分区一、静态分区:静态分区 1、创建分区表hive (default)> create table order_mulit_partition( > order_number...原创 2018-11-25 20:38:13 · 2844 阅读 · 0 评论 -
hive的严格模式
在hive里面可以通过严格模式防止用户执行那些可能产生意想不到的不好的效果的查询,从而保护hive的集群。用户可以通过 set hive.mapred.mode=strict 来设置严格模式,改成unstrict则为飞严格模式。 在严格模式下,用户在运行如下query的时候会报错。1. 分区表的查询没有使用分区字段来限制。select * from mart_catering...原创 2018-11-25 20:52:45 · 423 阅读 · 0 评论 -
Hive、Hbase、mysql区别
Hive和HBase的区别Hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样。在这种情况下,就需要Hive这样的用戶编程接口。Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑,就是些表的定义等,也就是表的元数据。使用SQL实现Hive是因为SQL大家都熟悉...原创 2018-12-02 16:18:10 · 177 阅读 · 0 评论 -
Sqool和Hive、HBase简介
Sqool和Hive、HBase简介SqoopSqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Hive不想用程序语言开发MapReduce的朋友比如DB们,熟悉SQL的朋友可以使用Hive开离线...原创 2018-12-02 16:24:05 · 320 阅读 · 0 评论 -
hive中的结构化语言
hive中的结构化语言分为三类:DDLDMLDLLhive中的数据类型: 删除表:删除了表,删除了hdfs中的目录,删除了元数据DML:增加数据 加载数据: 上传文件:load实际上是移动和上传文件hive是读时检查,写时检查 ...原创 2018-12-27 00:08:10 · 220 阅读 · 0 评论 -
Hive的命令行客户端启动:
[Spark][Hive]Hive的命令行客户端启动:[training@localhost Desktop]$ chkconfig | grep hivehive-metastore 0:off 1:off 2:off 3:on 4:on 5:on 6:offhive-server2 0:off 1:off 2:off 3:on 4:on 5:on 6:off[training@l...原创 2018-12-27 23:04:15 · 1639 阅读 · 0 评论 -
hive中服务端的启动方式
hive metastore 服务端启动命令: hive --service metastore -p <port_num> 如果不加端口默认启动:hive --service metastore,则默认监听端口是:9083 。 注意客户端中的端口配置需要和启动监听的端口一致。服务端启动正常后,客户端就可以执行hive操作了。 客户端连接metas...原创 2018-12-27 23:14:30 · 1605 阅读 · 0 评论 -
内部表与外部表的显示
内部表叫managed table外部表叫external table内部表和外部表在MySQL下的显示原创 2018-12-27 23:58:38 · 380 阅读 · 0 评论 -
hive创建表
创建表:from person0 pinsert overwrite table psn4select p.id, p.nameinsert overwrite table psn5select p.likes先创建表,然后再插入数据Hive 建表 CREATE TABLE person5 ( id INT, name STRING, age INT,...原创 2018-12-28 23:25:49 · 834 阅读 · 0 评论 -
hive的正则匹配
hive的正则匹配: CREATE TABLE logtbl ( host STRING, identity STRING, t_user STRING, time STRING, request STRING, referer STRING, agent STRING) ROW FORMAT SERDE 'org.apache.h...原创 2018-12-28 23:37:38 · 1110 阅读 · 0 评论 -
udf,udaf,udtf之间的区别
1、UDF:用户定义(普通)函数,只对单行数值产生作用;继承UDF类,添加方法 evaluate() /** * @function 自定义UDF统计最小值 * @author John * */ public class Min extends UDF { public Double evaluate(Dou...原创 2018-11-25 17:57:25 · 24884 阅读 · 0 评论 -
hive中建表语句
hive中一共有以下几种建表方式:create table person(id int,name string,hobbies array<string>,address map<string,string>)row format delimitedfields terminated by ',';collection items terminate...原创 2018-11-25 17:52:21 · 1131 阅读 · 0 评论 -
hive查询
1、hive模糊搜索表show tables like '*name*';2、查看表结构信息desc formatted tablename;desc table_name3、查看分区信息show partitions tablename;4、根据分区查询数据select table_coulm from tablename where partitionname = '2016-...原创 2018-10-31 21:39:59 · 342 阅读 · 0 评论 -
hive中创建表的三种方式:直接建表,抽取(as)建表,like建表
Hive创建表的方式(默认路径/user/hive/warehouse,也可以location指定,主要针对external表) 1、使用create命令创建一个新表,带分区CREATE TABLE `FDM_SOR.mytest_deptaddr`( `dept_no` int, `addr` string, `tel` stri...原创 2018-09-08 17:21:17 · 27424 阅读 · 0 评论 -
hive中加载数据的方式
hive中加载数据的方式:1、加载本地数据到hive表中:load data local inpath '/opt/hive-0.13.1/emp.txt' into table emp ;hive> load data local inpath '/opt/hive-0.13.1/emp.txt' into table emp ;Copying data from file...原创 2018-09-08 18:03:19 · 1357 阅读 · 0 评论 -
hive部分:hive中加载数据的方式【常见的有六种】
hive表中加载数据的六种方式:第一种:加载本地文件到hive中load data local inpath '/opt/hive-0.13.1/emp.txt' into table emp ;第二种:加载hdfs到hive中load data inpath '/opt/hive-0.13.1/emp.txt' into table emp ;第三种:覆盖已有表中的数据...原创 2018-08-22 17:49:29 · 1420 阅读 · 0 评论 -
hive表中创建分区,删除分区,加载分区数据,
一、静态分区1、select查询中会扫描整个表内容,会消耗大量时间。由于相当多的时候人们只关心表中的一部分数据, 故建表时引入了分区概念。2、hive分区表:是指在创建表时指定的partition的分区空间,若需要创建有分区的表, 需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。二、实现创建、删除分区表注意:1、一个表可以拥有一个或...原创 2018-09-08 18:22:55 · 14850 阅读 · 0 评论 -
hive中的分桶
分区是针对于目录的,而分区是针对于文件的。原创 2018-09-08 21:36:14 · 165 阅读 · 0 评论 -
hive lateral view
原创 2018-09-08 23:15:02 · 1708 阅读 · 0 评论 -
hive中创建视图、索引
原创 2018-09-08 23:24:14 · 13358 阅读 · 0 评论 -
hive的运行方式
原创 2018-09-09 00:06:11 · 316 阅读 · 0 评论 -
hive的优化、调优
总之:1、使用本地模式(设置为local模式)2、提高并行度(SQL语句)3、查询的时候,用where+分区(加上分区限制)4、排序的时候,使用sort+limit限制输出5、避免使用笛卡尔积,用join on(在where中加有效的链接条件)6、大表小表联合的时候,将小表写在前7、尽量在map端做预聚合8、设置限...原创 2018-09-09 00:05:48 · 230 阅读 · 0 评论 -
hive中多表并行操作
hive中多表并行操作:原创 2018-09-09 00:01:32 · 2275 阅读 · 0 评论 -
hive server2
hive server2beeliness -nal:查询端口号beeline就是客户端向服务端提交数据退出的方式:修改密码beeline的本质是jdbc原创 2018-12-28 23:49:58 · 205 阅读 · 0 评论