Hive

What happens when a hive insert is failed halfway?

给你一囗甜甜゛ 提交于 2021-02-15 03:13:20
问题 Suppose an insert is expected to load 100 records in hive and 40 records have been inserted and the insert failed for some reason. will the transaction roll back completely, undoing 40 records which were inserted? or Will we see 40 records in the hive table even after the insert query failed? 回答1: The operation is atomic (even for non-ACID table): If you inserting or rewriting data using HiveQL, it writes data into temporary location and only if the command succeeds files are moved to the

Spark调优 | Spark SQL参数调优

|▌冷眼眸甩不掉的悲伤 提交于 2021-02-14 07:38:43
前言 Spark SQL里面有很多的参数,而且这些参数在Spark官网中没有明确的解释,可能是太多了吧,可以通过在spark-sql中使用set -v 命令显示当前spark-sql版本支持的参数。 本文讲解最近关于在参与hive往spark迁移过程中遇到的一些参数相关问题的调优。 内容分为两部分,第一部分讲遇到异常,从而需要通过设置参数来解决的调优;第二部分讲用于提升性能而进行的调优。 异常调优 spark.sql.hive.convertMetastoreParquet parquet是一种列式存储格式,可以用于spark-sql 和hive 的存储格式。在spark中,如果使用 using parquet 的形式创建表,则创建的是spark 的DataSource表;而如果使用 stored as parquet 则创建的是hive表。 spark.sql.hive.convertMetastoreParquet 默认设置是true, 它代表使用spark-sql内置的parquet的reader和writer(即进行反序列化和序列化),它具有更好地性能,如果设置为false,则代表使用 Hive的序列化方式。 但是有时候当其设置为true时,会出现使用hive查询表有数据,而使用spark查询为空的情况. 但是,有些情况下在将 spark.sql.hive

Presto在滴滴的探索与实践

给你一囗甜甜゛ 提交于 2021-02-13 14:01:33
桔妹导读: Presto在滴滴内部发展三年,已经成为滴滴内部Ad-Hoc和Hive SQL加速的首选引擎。目前服务6K+用户,每天读取2PB ~ 3PB HDFS数据,处理30万亿~35万亿条记录,为了承接业务及丰富使用场景,滴滴Presto需要解决稳定性、易用性、性能、成本等诸多问题。我们在3年多的时间里,做了大量优化和二次开发,积攒了非常丰富的经验。本文分享了滴滴对Presto引擎的改进和优化,同时也提供了大量稳定性建设经验。 1. Presto简介 ▍ 1.1 简介 Presto是Facebook开源的MPP(Massive Parallel Processing)SQL引擎,其理念来源于一个叫Volcano的并行数据库,该数据库提出了一个并行执行SQL的模型,它被设计为用来专门进行高速、实时的数据分析。Presto是一个SQL计算引擎,分离计算层和存储层,其不存储数据,通过Connector SPI实现对各种数据源(Storage)的访问。 ▍ 1.2 架构 Presto沿用了通用的Master-Slave架构,一个Coordinator,多个Worker。Coordinator负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行;Worker节点负责实际执行查询任务。Presto提供了一套Connector接口,用于读取元信息和原始数据,Presto

Presto在滴滴的探索与实践

人盡茶涼 提交于 2021-02-13 14:01:17
桔妹导读: Presto在滴滴内部发展三年,已经成为滴滴内部Ad-Hoc和Hive SQL加速的首选引擎。目前服务6K+用户,每天读取2PB ~ 3PB HDFS数据,处理30万亿~35万亿条记录,为了承接业务及丰富使用场景,滴滴Presto需要解决稳定性、易用性、性能、成本等诸多问题。我们在3年多的时间里,做了大量优化和二次开发,积攒了非常丰富的经验。本文分享了滴滴对Presto引擎的改进和优化,同时也提供了大量稳定性建设经验。 1. Presto简介 ▍ 1.1 简介 Presto是Facebook开源的MPP(Massive Parallel Processing)SQL引擎,其理念来源于一个叫Volcano的并行数据库,该数据库提出了一个并行执行SQL的模型,它被设计为用来专门进行高速、实时的数据分析。Presto是一个SQL计算引擎,分离计算层和存储层,其不存储数据,通过Connector SPI实现对各种数据源(Storage)的访问。 ▍ 1.2 架构 Presto沿用了通用的Master-Slave架构,一个Coordinator,多个Worker。Coordinator负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行;Worker节点负责实际执行查询任务。Presto提供了一套Connector接口,用于读取元信息和原始数据,Presto

Presto在大数据领域的实践和探索

半世苍凉 提交于 2021-02-13 13:57:42
小编在去年的时候,写过一篇轰动全网的文章 《你需要的不是实时数仓 | 你需要的是一款强大的OLAP数据库》 ,这篇文章当时被各大门户网站和自媒体疯狂转载,保守阅读量也在50万+UV,在这篇文章中提到过Preto,Presto作为OLAP计算领域的一员有着独特的优势和特点。 本篇文章是作者作为Presto小白时期,经过调研、线上调试、生产环境稳定运行这个过程中大量的实践经验和资料检索,沉淀下来的一个读书笔记。本文从原理入门、线上调优、典型应用等几个方面为读者全面剖析Presto,希望对大家有帮助。 我是谁?我从哪里来?要到哪里去? Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes. Presto allows querying data where it lives, including Hive, Cassandra, relational databases or even proprietary data stores. A single Presto query can combine data

hadoop(1)---hadoop的介绍和几种模式。

元气小坏坏 提交于 2021-02-13 12:16:15
一、什么是hadoop? Hadoop软件库是一个开源框架, 允许使用简单的编程模型跨计算机集群分布式处理大型数据集。 它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储。 库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用程序层的故障,从而在计算机集群之上提供高可用性服务,每个计算机都可能容易出现故障。是大数据技术的基础。 hadoop所包含的模块(从官网借鉴的): ♥ hadoop分布式文件系统(HDFS):一种分布式文件系统,能够提供高可靠、高可用、可扩展以及对应用程序数据的高吞吐量访问。 ♥ yarn :作业调度和资源管理的框架。 ♥ MapReduce :基于yarn框架,用于并行计算处理大型数据集,是一种计算框架。 ♥ ambari :基于Web的工具,用于配置,管理和监控Apache Hadoop集群,包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个用于查看群集运行状况的仪表板,例如热图,以及可视化查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。 ♥ avro :数据序列化系统。 ♥ cassandra:可扩展的多主数据库,没有单点故障。 ♥ hbase

推荐 :数据分析思维和方法—用户画像分析

萝らか妹 提交于 2021-02-12 11:58:03
01 写在前面 我们经常在淘宝上购物, 作为淘宝方, 他们肯定想知道他的使用用户是什么样的, 是什么样的年龄性别, 城市, 收入, 他的购物品牌偏好, 购物类型, 平时的活跃程度是什么样的, 这样的一个用户描述就是用户画像分析 无论是产品策划还是产品运营, 前者是如何去策划一个好的功能, 去获得用户最大的可见的价值以及隐形的价值, 必须的价值以及增值的价值, 那么了解用户, 去做用户画像分析, 会成为数据分析去帮助产品做做更好的产品设计重要的一个环节。 那么作为产品运营, 比如要针用户的拉新, 挽留, 付费, 裂变等等的运营, 用户画像分析可以帮助产品运营去找到他们的潜在的用户, 从而用各种运营的手段去触达。 因为当我们知道我们的群体的是什么样的一群人的时候, 潜在的用户也是这样的类似的一群人, 这样才可以做最精准的拉新, 提高我们的ROI 在真正的工作中, 用户画像分析是一个重要的数据分析手段去帮助产品功能迭代, 帮助产品运营做用户增长。 总的来说, 用户画像分析就是基于大量的数据, 建立用户的属性标签体系, 同时利用这种属性标签体系去描述用户 02 用户画像的作用 像上面描述的那样, 用户画像的作用主要有以下几个方面 1.广告投放 在做用户增长的例子中, 我们需要在外部的一些渠道上进行广告投放, 对可能的潜在用户进行拉新, 比如B站在抖音上投广告 我们在选择平台进行投放的时候,

Hive表字段Comment中文乱码

流过昼夜 提交于 2021-02-11 20:33:10
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 1.问题描述 默认 Hive 中创建有中文注释的表时,无论是在 Hive CLI 还是 Hue 中该注释显示都会是乱码。如使用以下建表语句: create external table test_table ( s1 string comment 'abc', s2 string comment ' 你好啊 ' ) row format delimited fields terminated by '#' stored as textfile location '/lilei/test_table'; 在 Hive CLI 中查看如下: Hue 中显示一样,这里省略。 2.解决办法 这个问题是因为 mysql 中的元数据库表 COLUMNS_V2 中的字段 COMMENT 编码问题导致的,需要设置为 utf-8 ,如下所示: 在 mysql 中设置该字段的编码为 utf-8 ,如下所示: mysql –u root –p use metastore; alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;FLUSH PRIVILEGES; 注意 Hive 元数据这个数据库应使用 utf-8 创建,如: create

How can I make the pyspark and SparkSQL to execute the Hive on Spark?

独自空忆成欢 提交于 2021-02-11 16:59:59
问题 I've installed and set up Spark on Yarn together with integrating Spark with Hive Tables. By using spark-shell / pyspark , I also follow the simple tutorial and achieve to create Hive table, load data and then select properly. Then I move to the next step, setting Hive on Spark. By using hive / beeline , I also achieve to create Hive table, load data and then select properly. Hive is executed on YARN/Spark properly. How do I know it work? The hive shell displays the following: - hive> select

How can I make the pyspark and SparkSQL to execute the Hive on Spark?

放肆的年华 提交于 2021-02-11 16:57:30
问题 I've installed and set up Spark on Yarn together with integrating Spark with Hive Tables. By using spark-shell / pyspark , I also follow the simple tutorial and achieve to create Hive table, load data and then select properly. Then I move to the next step, setting Hive on Spark. By using hive / beeline , I also achieve to create Hive table, load data and then select properly. Hive is executed on YARN/Spark properly. How do I know it work? The hive shell displays the following: - hive> select