Hive

一文教你学会Hive视图和索引

这一生的挚爱 提交于 2021-01-07 01:50:22
前言 我们在写HQL有没有遇到过数据量特别大的时候比如,使用HQL 处理起来非常复杂,非常慢,这时候我们可以使用Hive给加个索引来提高我们的速度。多了就不说了,我们直接开始。​ 一、Hive视图 1.1 简介 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0.0 引入的物化视图除外),当查询引用 视图 时,Hive 可以将视图的定义与查询结合起来,例如将查询中的 过滤器推送到视图 中。 1.2 特点 不支持物化视图 只查询,不能做加载数据操作 视图的创建,只是保存 一份元数据 ,查询视图才执行对应的子查询 view定义中若包含了ORDER BY/LIMIT语句,当查询视图时也进行了ORDER BY/LIMIT语句操作,view当中定义的优先级更高 ; Hive视图支持迭代视图 1.3 创建视图 CREATE VIEW [ IF NOT EXISTS ] [ db_name . ] view_name -- 视图名称 [ ( column_name [ COMMENT column_comment ] , . . . ) ] --列名 [ COMMENT view_comment ] --视图注释 [ TBLPROPERTIES ( property

Atlas 介绍

≯℡__Kan透↙ 提交于 2021-01-06 09:24:46
一、Atlas是什么? 在当今大数据的应用越来越广泛的情况下,数据治理一直是企业面临的巨大问题。 大部分公司只是单纯的对数据进行了处理,而数据的血缘,分类等等却很难实现,市场上也急需要一个专注于数据治理的技术框架,这时Atlas应运而生。 Atlas官网地址: https://atlas.apache.org/ Atlas是Hadoop的数据治理和元数据框架。 Atlas是一组可扩展和可扩展的核心基础治理服务,使企业能够有效,高效地满足Hadoop中的合规性要求,并允许与整个企业数据生态系统集成。 Apache Atlas为组织提供了开放的元数据管理和治理功能,以建立其数据资产的目录,对这些资产进行分类和治理,并为数据科学家,分析师和数据治理团队提供围绕这些数据资产的协作功能。 Atlas支持各种Hadoop和非Hadoop元数据类型 提供了丰富的REST API进行集成 对数据血缘的追溯达到了字段级别,这种技术还没有其实类似框架可以实现 对权限也有很好的控制 ​ 二、架构原理 Atlas包括以下组件: 采用Hbase存储元数据 采用Solr实现索引 Ingest/Export 采集导出组件 Type System类型系统 Graph Engine图形引擎 共同构成Atlas的核心机制 所有功能通过API向用户提供,也可以通过Kafka消息系统进行集成

clickhouse数据模型之留存分析

。_饼干妹妹 提交于 2021-01-06 06:17:21
本文经作者授权,独家转载: 作者主页:https://www.jianshu.com/u/8f36a5e63d18 什么是留存,比如在20200701这天操作了“点击banner”的用户有100个,这部分用户在20200702这天操作了“点击app签到”的有20个,那么对于分析时间是20200701,且“点击banner”的用户在次日“点击app签到”的留存率是20%。 背景 关于用户留存模型是各大商业数据分析平台必不可少的功能,企业一般用该模型衡量用户的活跃情况,也是能直接反应产品功能价值的直接指标;如,boss想要了解商城改版后,对用户加购以及后续下单情况的影响等。如下图,这就是一个典型的留存分析功能: 问题 通常实现上述需求的传统做法是多表关联,了解clickhouse的攻城狮都清楚,多表关联简直就是clickhouse的天敌;如一张用户行为日志表中至少包含:用户id、行为事件、操作时间、地点属性等,想分析20200909日河南省注册用户次日的下单情况,那么SQL一般会这么写: select count(distinct t1.uid) r1, count(distinct t2.uid) r2 from( select uid from action_log where day='20200909' and action='login' and province='河南省'

漫谈数据仓库之维度建模

喜你入骨 提交于 2021-01-05 14:00:05
点击上方蓝色字关注我们~ 0x00 前言 下面的内容,是笔者在学习和工作中的一些总结,其中概念性的内容大多来自书中,实践性的内容大多来自自己的工作和个人理解。由于资历尚浅,难免会有很多错误,望批评指正! 概述 数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容: 以Hadoop、Spark、Hive等组建为中心的数据架构体系。 各种数据建模方法,如维度建模。 调度系统、元数据系统、ETL系统、可视化系统这类辅助系统。 我们暂且不管数据仓库的范围到底有多大,在数据仓库体系中,数据模型的核心地位是不可替代的。 因此,下面的将详细地阐述数据建模中的典型代表:维度建模,对它的的相关理论以及实际使用做深入的分析。 文章结构 本文将按照下面的顺序进行阐述: 先介绍比较经典和常用的数据仓库模型,并分析其优缺点。 详细介绍维度建模的基本概念以及相关理论。 为了能更真切地理解什么是维度建模,我将模拟一个大家都十分熟悉的电商场景,运用前面讲到的理论进行建模。 理论和现实的工作场景毕竟会有所差距,这一块,我会分享一下企业在实际的应用中所做出的取舍。 0x01 经典数据仓库模型 下面将分别介绍四种数据仓库模型,其中前三种模型分别对应了三本书:《数据仓库》、《数据仓库工具箱》和《数据架构 大数据 数据仓库以及Data Vault》,这三本书都有中文版

每个大数据工程师都应该知道的OLAP 核心知识点

陌路散爱 提交于 2021-01-05 12:00:36
OLAP 系统广泛应用于 BI, Reporting, Ad-hoc, ETL 数仓分析等场景,本文主要从体系化的角度来分析 OLAP 系统的核心技术点,从业界已有的 OLAP 中萃取其共性,分为谈存储,谈计算,谈优化器,谈趋势 4 个章节。 01 谈储存 列存的数据组织形式 行存,可以看做 NSM (N-ary Storage Model) 组织形式,一直伴随着关系型数据库,对于 OLTP 场景友好,例如 innodb[1] 的 B+ 树聚簇索引,每个 Page 中包含若干排序好的行,可以很好的支持 tuple-at-a-time 式的点查以及更新等;而列存 (Column-oriented Storage),经历了早期的 DSM (Decomposition Storage Model) [2],以及后来提出的 PAX (Partition Attributes Cross) 尝试混合 NSM 和 DSM,在 C-Store 论文 [3] 后逐渐被人熟知,用于 OLAP,分析型不同于交易场景,存储 IO 往往是瓶颈,而列存可以只读取需要的列,跳过无用数据,避免 IO 放大,同质数据存储更紧凑,编码压缩友好,这些优势可以减少 IO,进而提高性能。 列存的数据组织形式 对于基本类型,例如数值、string 等,列存可以使用合适的编码,减少数据体积,在 C-Store

如何在CDH6.0中启用Kerberos

柔情痞子 提交于 2021-01-05 03:00:41
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 在前面的文章中,Fayson介绍了《 如何在Redhat7.4安装CDH6.0 》,这里我们基于这个环境开始安装Kerberos。关于CDH启用Kerberos的文章,前面Fayson也介绍过《 如何在CDH集群启用Kerberos 》、《 如何在Redhat7.3的CDH5.14中启用Kerberos 》、《 如何在Redhat7.4的CDH5.15中启用Kerberos 》和《 如何在CDH6.0.0-beta1中启用Kerberos 》,通过本文,我们也可以来看看CDH6启用Kerberos有哪些不一样的地方。 内容概述: 1.如何安装及配置KDC服务 2.如何通过CDH启用Kerberos 3.如何登录Kerberos并访问Hadoop相关服务 4.总结 测试环境: 1.操作系统:Redhat7.4 2.CDH6.0 3.采用root用户进行操作 2.KDC服务安装及配置 本文档中将KDC服务安装在Cloudera Manager Server所在服务器上(KDC服务可根据自己需要安装在其他服务器) 1.在Cloudera

新书发布《数字化转型方法论》:聚7万+企业数字化转型精华,获100+大咖力

点点圈 提交于 2021-01-04 22:24:30
近日,由国云数据CEO马晓东所著的国内第一本从战略、技术、人才、管理四个维度全方位、立体化地阐述数字化转型方法论和落地路径的专业书籍《数字化转型方法论:落地路径与数据中台》上线当当、天猫、京东等各大电商平台。 ~重磅内容~ 这是一部从战略、技术、人才和管理4个维度全面阐述企业数字化转型方法论的著作,是国云数据服务7万余家企业的经验总结。 1.国云数据由原阿里数据团队共同创办,已经为7万余家企业提供数字化转型相关的服务,创始人兼CEO亲自执笔。 2.与现有的数字化转型相关图书只注重技术和实施不同,本书从战略、技术、人才、管理4个维度系统展开,覆盖数字化转型的各个环节和所有利益相关方。 3.独创MAX成熟度模型、数字化转型六图法等多个工具,真正能指导和帮助读者将数字化转型落地。 4.包含新零售、高校、银行等多个行业和机构的数字化转型综合案例,以及近10个行业的数字化转型解决方案架构图。 5.总结了大量数字化转型方面的误区和注意事项。 ~书籍概览~ 数字化转型是个系统工程,本书将整个工程分为了8个环节,全书围绕这8个环节循序渐进展开。 1第一部分 为何数字化转型(第1~2章) 介绍了数字化转型的5个推动因素、数字化颠覆传统行业的3种方式,以及数字化转型的意义。 2第二部分 何时数字化转型(第3~5章) 阐述了数字化转型加速的原因和切入的时间点,以及带来的新机遇。 3第三部分

Hive Window Function ROW_NUMBER without Partition BY Clause on a large (50 GB) dataset is very slow. Is there a better way to optimize?

可紊 提交于 2021-01-04 07:25:26
问题 I have a HDFS file with 50 Million records and raw file size is 50 GB. I am trying to load this in a hive table and create unique id for all rows using the below, while loading. I am using Hive 1.1.0-cdh5.16.1. row_number() over(order by event_id, user_id, timestamp) as id While executing I see that in the reduce step, 40 reducers are assigned. Average time for 39 Reducers is about 2 mins whereas the last reducer takes about 25 mins which clearly makes me believe that most of the data is

Hive Window Function ROW_NUMBER without Partition BY Clause on a large (50 GB) dataset is very slow. Is there a better way to optimize?

£可爱£侵袭症+ 提交于 2021-01-04 07:24:06
问题 I have a HDFS file with 50 Million records and raw file size is 50 GB. I am trying to load this in a hive table and create unique id for all rows using the below, while loading. I am using Hive 1.1.0-cdh5.16.1. row_number() over(order by event_id, user_id, timestamp) as id While executing I see that in the reduce step, 40 reducers are assigned. Average time for 39 Reducers is about 2 mins whereas the last reducer takes about 25 mins which clearly makes me believe that most of the data is

How to point to a single file with external table

血红的双手。 提交于 2021-01-04 07:21:50
问题 Im trying to load hdfs data as external but get the following error. The folder ml-100k has multiple datasets with different datasets, so I just need to load that particular file. hive> create external table movie_ratings (movie_id int, user_id int, ratings int, field_4 int) location 'hdfs://hadoop-master:8020/user/hduser/gutenberg/ml-100k/u.data' > ; FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:hdfs://hadoop-master:8020/user/hduser