![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hive
Hive
_Zephyrus_
﹎ゞWhy insist, think about the beginning/╱°
展开
-
Apache Hive View
视图可以循序保存一个查询表并像对待表一样对待这个产讯进行操作。 这是一个逻辑结构,因为他不像一个表会存储数据。 换句话说,Hive目前暂不支持物化视图。 当一个查询引用一个视图时, 这个视图多定义的查询语句将和用户的查询语句组合在一起,然后Hive制定查询计划。 从逻辑上讲,可以想象为Hive限制性这个视图,然后使用这个结果进行余下后续的查询。 创建view CREATE VIEW [IF N...原创 2019-08-27 13:40:21 · 100 阅读 · 0 评论 -
Apache Hive Cube
参数设置: set hive.execution.engine=tez; set tez.queue.name=normal; set hive.new.job.grouping.set.cardinality =100; -- 默认为 30 **这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。 ** 数据准备: 20...原创 2019-09-02 16:18:17 · 138 阅读 · 0 评论 -
Apache Hive Length
字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length(‘abcedfg’) from test; 字符串反转函数:reverse 语法: reverse(string A) 返回值: string 说明:返回字符串A的反转结果 举例: h...原创 2019-09-02 17:10:57 · 422 阅读 · 0 评论 -
Apache Hive SQRT
SQL 语句查询经纬度范围 指定一个经纬度,给定一个范围值(单位:千米),查出在经纬度周围这个范围内的数据。 经度:113.914619 纬度:22.50128 范围:2km longitude 为数据表经度字段 latitude 为数据表纬度字段 SQL在mysql && HiveSql SQL语句如下: select * from test where sqrt( ...原创 2019-09-02 17:39:38 · 296 阅读 · 0 评论 -
Apache Hive With
hive 可以通过with 查询来提高查询性能, 因为先通过with语法可以将数据查询到内存, 然后后面查询可以直接使用。 With EG1: with q1 as(select key from test where key = ‘666’) select * from q1; --from style with q1 as (select * from test where key...原创 2019-09-02 17:42:12 · 107 阅读 · 0 评论 -
Apache Hive Regexp
hive 通过regexp_extract(),取域名中.com/.cn前的字符串? 例: 5.aaa.com a.b.cccc.cn 567.com.cn 通过regexp_extract(),获得: aaa cccc 567 答: regexp_extract(col_name, '(.*\\.)?([^\\.]+)\\.(com(\\.cn)?|(?<!\\.com\\.)cn)$'...原创 2019-09-02 17:46:19 · 285 阅读 · 0 评论 -
Apache Hive FROM_UNIXTIME
时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。 通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间。 在实际应用上, 它可以使用在包括电子商务、 金融活动的各个方面, 尤其可以用来支撑公开密钥基础设...原创 2019-09-02 17:49:16 · 258 阅读 · 0 评论 -
Apache Hive Random
随机抽样得到不重复样本 方法1: select * from test order by rand() limit 100; 方法2: select * from ( select e.*, cast(rand() * 100000 as int) as vidx from test as e) as vt order by vt.vidx limit 1000 expla...原创 2019-09-02 17:53:49 · 313 阅读 · 0 评论 -
Apache Hive Like
like 语法规则 1.A like B只能使用简单匹配符号 _%,”_”表示任意单个字符,字符”%”表示任意数量的字符 2.like的匹配是按字符逐一匹配的,使用B从A的第一个字符开始匹配,所以即使有一个字符不同都不行。 2.操作类型: strings 3.使用描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FAL...原创 2019-09-02 17:58:16 · 83 阅读 · 0 评论 -
Apache Hive MSCK
使用MSCK命令修复Hive分区 在使用Hive的过程中,在备份数据时,经常会使用cp或mv命令来拷贝数据, 将数据拷贝到我们新建备份表的目录下面,如果不是分区表,则上面的操作之后, 新建的备份表可以正常使用,但是如果是分区表的,一般都是使用alter table add partition命令将分区信息添加到新建的表中,每添加一条分区信息就执行一个alter table add partitio...原创 2019-09-02 14:50:15 · 97 阅读 · 0 评论 -
Apache Hive DlLPAR
启用hive动态分区 只需在hive会话中设置两个参数 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict; 创建动态分区表 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=...原创 2019-09-02 14:45:17 · 79 阅读 · 0 评论 -
Apache Hive™
Apache Hive™ Apache Hive™数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集。可以将结构投影到已存储的数据中。提供了命令行工具和JDBC驱动程序以将用户连接到Hive。 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学...原创 2019-08-27 14:32:15 · 164 阅读 · 0 评论 -
Hive优化方法
1、join连接时的优化:当三个或多个以上的表进行join操作时,如果每个on使用相同的字段连接时只会产生一个mapreduce。 2、join连接时的优化:当多个表进行查询时,从左到右表的大小顺序应该是从小到大。原因:hive在对每行记录操作时会把其他表先缓存起来,直到扫描最后的表进行计算 3、在where字句中增加分区过滤器。 4、当可以使用left semi join 语法时不要使用inne...原创 2019-08-27 14:33:57 · 127 阅读 · 0 评论 -
Apache Hive 基础操作
数据库 库选择:use 库名; 创建数据库:create basedata 库名; 删除数据库:drop basedata 库名; #注意库中没有表或者无数据才可以删除! hive 暂不支持数据库重命名操作。 1.用户可以使用 ALTER DATABASE 命令来为某个数据库的 DBPROPERTIES设置键-值对属性值,来描述这个数据库的属性信息。 EG: ALT...原创 2019-08-27 15:16:52 · 129 阅读 · 0 评论 -
Apache Hive File
Hive 文件存储格式主要包括以下几类: TEXTFILE SEQUENCEFILE RCFILE ORCFILE 其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;SEQUENCEFILE, RCFILE,ORCFILE格式得表不能直接从本地文件导入数据,数据要先导入到textfile格式得表中,然后再从表中用insert导入S...原创 2019-08-27 15:38:56 · 117 阅读 · 0 评论 -
Apache Hive Table
文本文件 -CSV:以逗号分隔的文本文件 -TSV:以制表符分隔的文本文件 这两种文件格式Hive都支持,但是有个缺点就是:用户要对文本文件中那些不需要作为分隔符处理的逗号或者制表符格外小心。 创建表: CREATE TABLE 语句遵循SQL语法惯例,但比较灵活,可定义表得数据文件存储在什么位置,使用什么存储格式 示例: CREATE TABLE IF NOT EXISTS table1( us...原创 2019-08-27 16:21:39 · 116 阅读 · 0 评论 -
Apache Hive Select
**SELECT … FROM ** SELECT是SQL的射影算子,FROM标识了从哪个表查询 CREATE TABLE employees( salary FLOAT, subordinates ARRY<STRING>, deductions MAP<STRING,FLOAT> ) PARTITIONED BY (county string,s...原创 2019-08-27 16:28:11 · 105 阅读 · 0 评论 -
Apache Hive Join
通俗的讲: A left join B 的连接的记录数与A表的记录数相同 A left join B 的连接额记录数与B表的记录数相同 A left join B 等价 B right join A 举个栗子: 假设a表和b表的数据是这个样的 a id name 1 a 2 b 3 c b id score 1 15 2 20 SELECT * FROM a inn...原创 2019-09-02 11:20:45 · 114 阅读 · 0 评论 -
Apache Hive Hue
⊙Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,...原创 2019-09-02 11:24:09 · 164 阅读 · 0 评论 -
Apache Hive Index
创建索引 CREATE INDEX index_name ON TABLE base_table_name (col_name, ...) AS 'index.handler.class.name' [WITH DEFERRED REBUILD] [IDXPROPERTIES (property_name=property_value, ...)] [IN TABLE ind...原创 2019-09-02 18:00:40 · 107 阅读 · 0 评论