Apache Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供一种HQL语言进行查询,具有扩展性好、延展性好、高容错等特点,多应用于离线数仓建设。 1....Hive架构 ? 存储:Hive底层存储依赖于hdfs,因此也支持hdfs所支持的数据存储格式,如text、json、parquet等。...当我们将一个文件映射为Hive中一张表时,只需在建表的时告诉Hive,数据中的列名、列分隔符、行分隔符等,Hive就可以 自动解析数据。...用户在建表的时候可以使用Hive自带的serde或者自定义serde,Hive通过serde确定表具体列的数据。...需要设置hive.exec.rowoffset=true来启用 10.Hive条件判断 Hive中可能会遇到根据判断不同值,产生对应结果的场景,有三种实现方式:if、coalesce、case when
Apache Hive With (数据查询到内存) Apache Hive With ⊙hive 可以通过with 查询来提高查询性能, 因为先通过with语法可以将数据查询到内存, 然后后面查询可以直接使用
Apache Hive TM (文件存储格式) Hive 文件存储格式主要包括以下几类: 1、TEXTFILE 2、SEQUENCEFILE 3、RCFILE 4、ORCFILE(0.11以后出现)...Apache Hive Hive环境 ⊙前提创建环境: (本系列教程使用,CDH 官方快速入门) hive-common-1.1.0-cdh5.13.0 数据结构 Data Structure 数据源...; set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec; insert overwrite table a2data.textfile_table...; set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec; SET mapred.output.compression.type...这种文件格式可以提供一种高效的方法来存储Hive数据。它的设计目标是来克服Hive其他格式的缺陷。 运用ORC File可以提高Hive的读、写以及处理数据的性能。
Apache Hive View Apache Hive View 视图 ⊙视图可以循序保存一个查询表并像对待表一样对待这个产讯进行操作。 这是一个逻辑结构,因为他不像一个表会存储数据。...换句话说,Hive目前暂不支持物化视图。 当一个查询引用一个视图时, 这个视图多定义的查询语句将和用户的查询语句组合在一起,然后Hive制定查询计划。...从逻辑上讲,可以想象为Hive限制性这个视图,然后使用这个结果进行余下后续的查询。
Apache Hive Like (Like | rlike | not like | like not ) Apache Hive Like ---Rlike---- Not Like ---...SQL语句如下: hive>select 1 from a2data.test where 'abcde' like 'abc'; --匹配成功 1 hive>select 1 from...a2data.test where 'abcde' like 'b' --匹配失败,左边第一个字母是a hive> select 1 from a2data.test where 'football...' like 'foot%'; 1 hive> select 1 from a2data.test where 'football' like 'foot____';
Apache Hive Cube (维度组合聚合) Apache Hive GROUPING SETS,GROUPING__ID,CUBE,ROLLUP GROUPING SETS,GROUPING...__ID,CUBE,ROLLUP ⊙参数设置: set hive.execution.engine=tez; set tez.queue.name=normal; set hive.new.job.grouping.set.cardinality...Hive版本为 apache-hive-0.13.1 数据准备: 2019-03,2019-03-10,cookie1 2019-03,2019-03-10,cookie5 2019-03,2019-...2019-04-16 cookie1 GROUPING SETS 在一个GROUP BY查询中,根据不同的维度组合进行聚合, 等价于将不同维度的GROUP BY结果集进行UNION ALL Apache...官网的介绍: https://cwiki.apache.org/confluence/display/Hive/Enhanced+Aggregation%2C+Cube%2C+Grouping+and+
Apache Hive Random (随机抽样) Apache Hive Random Sampling 随机抽样得到不重复样本 方案一: select * from a2data.test
Apache Hive SQRT (经纬度) Apache Hive SQRT 某天接到一个需求,如何通过一系列的店铺位置,来提取一些数据: GPS :经纬度信息 有心无力码字的我,一致遵循着,没有什么事情是一个
Apache Hive DLPAR (动态分区) Apache Hive Dlpar -- 动态分区 动态分区 ⊙启用hive动态分区(只需要在hive会话中设置两个参数) set hive.exec.dynamic.partition...=true; set hive.exec.dynamic.partition.mode=nonstrict; 1)创建动态分区表 (本次设置参数) set hive.exec.dynamic.partition...=true; set hive.exec.dynamic.partition.mode=nonstrict; SET hive.exec.max.dynamic.partitions=100000;...Killing the job Apache Hive 错误原因: 这个错误的原因是因为Hive对创建文件的总数有限制(hive.exec.max.created.files), 默认是100000个,...修改的SQL如下: set hive.exec.dynamic.partition.mode=nonstrict hive> set hive.exec.reducers.bytes.per.reducer
Apache Hive Table (数据库表操作) Apache Hive Hive表操作(I) ⊙文本文件 -CSV:以逗号分隔的文本文件 -TSV:以制表符分隔的文本文件...Hive不会做出提示,如果要用新表模式需删除原表,然后重新建表。...默认将创建的表的目录放置在该表所属数据库后 但defult库是个例外,他在/user/hive/warehouse下没有对应库目录,所以defult库中的表目录直接位于/user/hive/warehouse...>USE a2data; hive > SHOW TABLES; table1 table2 table3 --不在该库下列举该库下的所有表 hive >USE default; hive > SHOW...Hive表操作(II) 管理表 --我们目前所创建的表都是管理表,也叫内部表 --Hive会控制管理表数据的生命周期,Hive默认会将表数据存储在/user/hive/warehouse
Apache Hive Hue (Hue工具) Apache Hive Hue HUE简介 ⊙Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后...Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。...通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。...⊙Hive编辑器:可以编写HQL和运行HQL脚本,以及查看运行结果等相关Hive功能。 ⊙提供Solr搜索应用,并对应相应的可视化数据视图以及DashBoard。...⊙支持对Metastore的浏览,可以访问Hive的元数据以及对应的HCatalog。
Apache Hive INDEX (索引) Apache Hive INDEX 创建索引 ◆ ◆ ◆ ◆ ◆ CREATE INDEX index_name ON TABLE...注意: 1.当hive数据更新时,必须调用该语句更新索引。 2. index rebuild操作时一个原子操作,因此,当rebuild失败时,先前构建的索引也无法使用!
Apache Hive Select (数据查询) Apache Hive 数据查询 查询 SELECT ......MAP ) PARTITIONED BY (county string,state STRING); 数据查询案例: 1.比如某一个州有4名员工,查询语句如下: hive...>SELECT e.name,e.salary FROM employees e; 3.当查询的列是集合时,Hive会使用JSON用于输出,subordinates列为一个数组,输出如下: hive...可以避免进行MapReduce 用 Hive 的应该都知道到多数的查询都会触发一个 MapReduce 任务(job) 但是本地模式查询不必使用MapReduce Apache Hive MapReduce...hive>SELECT * FROM employees; 如果属性hive.exec.mode.local.auto的值设为true的话,Hive还会尝试使用本地模式,否则,Hive 使用 MapReduce
Apache Hive TM (数据仓库工具) Apache Hive™数据仓库软件有助于使用SQL读取,编写和管理驻留在分布式存储中的大型数据集。可以将结构投影到已存储的数据中。...Apache 设计特征 ⊙Hive 是一种底层封装了Hadoop 的数据仓库处理工具,使用类SQL 的HiveQL 语言实现数据查询,所有Hive 的数据都存储在Hadoop 兼容的文件系统(例如,Amazon...其中最常用的是 CLI,Cli 启动的时候,会同时启动一个 Hive 副本。Client 是 Hive 的客户端,用户连接至 Hive Server。...数据存储 首先,Hive 没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表,只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据...Apache Hive 基础操作 数据库 库选择:use 库名; 创建数据库:create basedata 库名; 删除数据库:drop basedata 库名; #注意库中没有表或者无数据才可以删除
Apache Hive Length (字符串) Apache Hive Length 字符串操作 字符串长度函数:length 语法: length(string A) 返回值: int...注意,在有些情况下要使用转义字符 举例: hive> select regexp_extract(‘foothebar’, ‘foo(.*?)...(bar)’, 1) from a2data.test; the hive> select regexp_extract(‘foothebar’, ‘foo(.*?)...(bar)’, 2) from a2data.test; bar hive> select regexp_extract(‘foothebar’, ‘foo(.*?)...如果没有找该str字符,则返回0 举例: hive> select find_in_set(‘ab’,'ef,ab,de’) from a2data.test; 2 hive> select
Apache Hive Regexp (正则表达式) Apache Hive Regexp 正则案例 ⊙hive 通过regexp_extract(), 取域名中.com/.cn前的字符串?...\\.com\\.)cn)$',2) hive中巧用正则表达式的贪婪匹配 需求: 从字符串"979|7.10.80|8684"中提取最后一个竖线|后面的内容, 但是在这个字符串中,竖线的个数不是固定的...正则表达式详解 hive中的正则表达式还是很强大的。...对此,特意做了个hive正则表达式的小结。所有代码都经过亲测,正常运行。...[code]hive> select regexp_extract('IloveYou','I(.*?)
Apache Hive Join (Hive Join解析) Apache Hive Join Join解析 ⊙通俗的讲 A left join B 的连接的记录数与A表的记录数同
Apache Hive MSCK (自动添加分区) Apache Hive MSCK 修复Hive表分区 ⊙一起学Hive——使用MSCK命令修复Hive分区 最近在使用Hive的过程中,在备份数据时...MSCK命令 Hive stores a list of partitions for each table in its metastore....See HIVE-874 for more details....The equivalent command on Amazon Elastic MapReduce (EMR)'s version of Hive is: ALTER TABLE table_name...但是用户可以运行metastore检查命令MSCK REPAIR TABLE table_name;该命令将关于分区的元信息添加到Hive metastore中,这是对于那些没有元信息的分区来说的。
Spring boot with Apache Hive 5.26.1....-- https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc --> org.apache.hive...hive.driver-class-name: org.apache.hive.jdbc.HiveDriver hive.username=hive hive.password=hive 如果使用...: org.apache.hive.jdbc.HiveDriver type: com.alibaba.druid.pool.DruidDataSource username: hive...hive 官方是推荐使用beeline,因为它还提供了更为友好的交互方式(类似mysql client) 连接远程主机 [hadoop@localhost ~]$ /srv/apache-hive/
Apache Hive Load Data (Hive数仓装载数据) Apache Hive 装载数据 数据导入方式: 1) 从本地文件系统中导入数据到hive 表 2)从HDFS上导入数据到hive...本地文件系统 ⊙创建数据表 数据库:a2data 表名: nsf 文件格式:textfile (下篇详细介绍Hive文件格式) Apache Hive 创建数据表 CREATE TABLE...90 transient_lastDdlTime 1558105742 # Storage Information SerDe Library: org.apache.hadoop.hive.serde2...org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat Compressed: No Num Buckets:...create table a2data.nsf_1 as select * from a2data.nsf limit 2; Apache Hive 外部表 3.1(无分区) CREATE EXTERNAL
领取专属 10元无门槛券
手把手带您无忧上云