Hive

Presto——本质上是和spark内存计算框架一样 但不负责数据存储

别来无恙 提交于 2020-08-06 08:02:34
Presto入门介绍 有需要的自取~ 链接: https://h5.luezhi.com/app/index.php?i=2&c=entry&id=75880&do=yd_detail&saas_code=825611007YBD&m=saas_luezhi 1,Presto基本认识 1.1 定义 Presto是一个分布式的查询引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询。Presto是一个OLAP的工具,擅长对海量数据进行复杂的分析;但是对于OLTP场景,并不是Presto所擅长,所以不要把Presto当做数据库来使用。 和大家熟悉的Mysql相比:首先Mysql是一个数据库,具有存储和计算分析能力,而Presto只有计算分析能力;其次数据量方面,Mysql作为传统单点关系型数据库不能满足当前大数据量的需求,于是有各种大数据的存储和分析工具产生,Presto就是这样一个可以满足大数据量分析计算需求的一个工具。 1.2 数据源 Presto需要从其他数据源获取数据来进行运算分析,它可以连接多种数据源,包括Hive、RDBMS(Mysql、Oracle、Tidb等)、Kafka、MongoDB、Redis等 一条Presto查询可以将多个数据源的数据进行合并分析。 比如:select * from a join b where a.id=b.id;

大数据篇:一文读懂@数据仓库(PPT文字版)

坚强是说给别人听的谎言 提交于 2020-08-06 03:59:24
大数据篇:一文读懂@数据仓库 1 网络词汇总结 1.1 数据中台 数据中台是聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念。 数据中台是一套可持续“让企业的数据用起来”的机制,一种战略选择和组织形式,是依据企业特有的业务模式和组织架构,通过有形的产品和实施方法论支撑,构建一套持续不断把数据变成资产并服务于业务的机制。 数据中台连接数据前台和后台,突破数据局限,为企业提供更灵活、高效、低成本的数据分析挖掘服务,避免企业为满足具体某部门某种数据分析需求而投放大量高成本、重复性的数据开发成本。 数据中台是指通过数据技术,对海量数据进行采集、计算、存储、加工,同时统一标准和口径。数据中台把数据统一之后,会形成标准数据,再进行存储,形成大数据资产层,进而为客户提供高效服务。 数据中台,包括平台、工具、数据、组织、流程、规范等一切与企业数据资产如何用起来所相关的。 可以看出,数据中台是解决如何用好数据的问题,目前还缺乏一个标准,而说到数据中台一定会提及大数据,而大数据又是由数据仓库发展起来的。 1.1.1 数据仓库(Data WareHouse) 数据仓库,按照传统的定义,数据仓库是一个面向主题的、集成的、非易失的、反映历史变化(随时间变化),用来支持管理人员决策的数据集合。 为企业所有决策制定过程,提供所有系统数据支持的战略集合 面向主题

Hive自定义UDF基于华为云MRS平台 解析ip地址

こ雲淡風輕ζ 提交于 2020-08-05 12:28:04
大数据离线数仓的分析,必不可少的就是根据业务需求去解析字段,工作需要定义了解析ip的udf,希望可以给大家一些启发 创建maven工程,添加依赖 我这边用到的 一个是hive 一个ipip的依赖 pom文件如下 由于集群环境有hive,所以打包时不带进去,用provided方式实现 <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>3.1.0-mrs-2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>net.ipip</groupId> <artifactId>ipdb</artifactId> <version>1.1.3</version> </dependency> 由于需要去华为云下载sdk 添加 <repositories> <repository> <id>huaweicloudsdk</id> <url>https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk/</url> <releases><enabled>true</enabled></releases>

想了解大数据的鼻祖Hadoop技术栈,这里有一份优质书单推荐!

↘锁芯ラ 提交于 2020-08-05 12:01:38
​ 如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?对于大部分人来说都是傻傻分不清楚。 今年来大数据、人工智能获得了IT界大量的关注。如果一个企业不玩大数据,都不好意思说自己是在IT圈混的。我敢打赌,你在中关村西二旗地铁站溜一圈,保准你会听到如下名词:Hadoop、Spark、MapReduce、NoSQL、离线计算、实时计算、实时推送等等一大串名称。 程序猿们就是有这么实在,坐在地铁上还能那么投入的讨论技术问题。那么,这些听起来高大上的技术,究竟都是干什么用的呢?他们之间的有什么区别和联系? 通常,一个技术的兴起,都是由现实需求驱动的。了解了我们面临的问题,就能更好的理解各个大数据技术的使用场景,各类大数据技术的区别也就显而易见了。 今天这一份书单,我们就将从Hadoop生态圈开始入手,推荐几本关于Hadoop生态圈的优质书籍! Hadoop技术栈系列书单 ​ Hadoop权威指南:大数据的存储与分析(第4版) 本书结合理论和实践,由浅入深,全方位介绍了Hadoop这一高性能的海量数据处理和分析平台。 全书5部分24章,第Ⅰ部分介绍Hadoop基础知识,主题涉及Hadoop、MapReduce、Hadoop分布式文件系统、YARN、Hadoop的I/O操作。第Ⅱ部分介绍MapReduce,主题包括MapReduce应用开发

why is delete function not working in hive shell?

纵饮孤独 提交于 2020-08-05 11:32:27
问题 hive> delete from daily_case where num_casedaily=0; FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations. thank you in advance. 回答1: As @Chema explained ACID Transactions of HIVE. You can change the table property to allow transaction. OR You can do the following. With this you don't have to change table properties. INSERT OVERWRITE INTO daily_case SELECT * FROM daily_case WHERE num_casedaily <> 0; 回答2: Hive

hive异常 return code X from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask 解决

旧街凉风 提交于 2020-08-05 09:23:33
转自:https://www.iteye.com/blog/vase-2090320 不知道是不是hive-0.12版增强了local mode的原因,在之前版本运行好好的Hive-QL在这个版本上错误频频,折磨一天多以后终于定位到原因,把在内部的总结在这再记录下,希望对遇到同样问题的筒子们有所帮助。 部分一 关于return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask Hive升级到0.12版之后,若干原来在0.10上执行正常的SQL会在新版上报错误 “return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask”,查看hive执行日志,从中找到如下错误 Total MapReduce jobs = 1 java . io . IOException : Cannot run program "/data/opt/hadoop_cdh5/bin/hadoop" ( in directory "/root" ) : error = 13 , 权限不够 at java . lang . ProcessBuilder . start ( ProcessBuilder . java : 1041 ) at java . lang .

ive运行异常: ERROR | main | Hive Runtime Error: Map local work exhausted memory

安稳与你 提交于 2020-08-05 07:55:37
问题描述 hive执行sql包含join时候,提示异常: ERROR | main | Hive Runtime Error: Map local work exhausted memory 分析過程 1.异常日志下: 2019-06-24 13:39:41,706 | ERROR | main | Hive Runtime Error: Map local work exhausted memory | org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask.executeInProcess(MapredLocalTask.java:400) org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionException: 2019-06-24 13:39:41 Processing rows: 1700000 Hashtable size: 1699999 Memory usage: 926540440 percentage: 0.914 at org.apache.hadoop.hive.ql.exec.mapjoin.MapJoinMemoryExhaustionHandler.checkMemoryStatus

Spark性能优化指南——高级篇

泄露秘密 提交于 2020-08-05 07:21:42
Spark性能优化指南——高级篇 2016年05月12日 作者: 李雪蕤 文章链接 23095字 47分钟阅读 继 基础篇 讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。 数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时。这种情况很常见。 原本能够正常执行的Spark作业,某天突然报出OOM(内存溢出)异常,观察异常栈,是我们写的业务代码造成的。这种情况比较少见。 数据倾斜发生的原理 数据倾斜的原理很简单:在进行shuffle的时候,必须将各个节点上相同的key拉取到某个节点上的一个task来进行处理,比如按照key进行聚合或join等操作。此时如果某个key对应的数据量特别大的话,就会发生数据倾斜。比如大部分key对应10条数据,但是个别key却对应了100万条数据,那么大部分task可能就只会分配到10条数据

MySQL两千万数据大表优化过程,三种解决方案!

不想你离开。 提交于 2020-08-05 06:22:32
使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死。严重影响业务。 问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法直视。原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!! 我尝试解决该问题,so,有个这个日志。 方案概述 方案一:优化现有mysql数据库。优点:不影响现有业务,源程序不需要修改代码,成本最低。缺点:有优化瓶颈,数据量过亿就玩完了。 方案二:升级数据库类型,换一种100%兼容mysql的数据库。优点:不影响现有业务,源程序不需要修改代码,你几乎不需要做任何操作就能提升数据库性能,缺点:多花钱 方案三:一步到位,大数据解决方案,更换newsql/nosql数据库。优点:扩展性强,成本低,没有数据容量瓶颈,缺点:需要修改源程序代码 以上三种方案,按顺序使用即可,数据量在亿级别一下的没必要换nosql,开发成本太高。三种方案我都试了一遍,而且都形成了落地解决方案。该过程心中慰问跑路的那几个开发者一万遍 :) 方案一详细说明:优化现有mysql数据库 跟阿里云数据库大佬电话沟通 and Google解决方案 and 问群里大佬,总结如下(都是精华): 1

hive函数和HQL-《小牛学堂》

核能气质少年 提交于 2020-08-05 05:32:53
流程图: hive查询语法: 1.基本函数: 2.条件查询 3.join关联查询 准备数据 a.txt name nmb a,1 b,2 c,3 d,4 b.txt name nick a,xx b,yy d,zz e,pp 创建表: create table t_a(name string,nmb int) row format delimited fields terminated by ','; create table t_b(name string,nick string) row format delimited fields terminated by ','; 导入数据: load data local inpath '/root/a.txt' into table t_a; load data local inpath '/root/b.txt' into table t_b; 各类join 1.【内连接】 --笛卡尔积: select a.*,b.* from t_a a (inner) join t_b b; 从连起来的表去查询 左表的每一条与右表的每一条都进行连接 表连接就是把所有的表进行关联,如何没有告知如何连接,那么就会全部进行关联 --指定join条件 select a.*,b.* from t_a a join t_b b on a.name=b