iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Hive中静态分区与动态分区的示例分析
  • 606
分享到

Hive中静态分区与动态分区的示例分析

2023-06-02 16:06:23 606人浏览 独家记忆
摘要

这篇文章给大家分享的是有关Hive中静态分区与动态分区的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样查询时使用分区列进行

这篇文章给大家分享的是有关Hive中静态分区与动态分区的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描其他不关心的分区,快速定位,提高查询效率。分动态和静态分区两种:

  1.静态分区:若分区的值是确定的,那么称为静态分区。新增分区或者是加载分区数据时,已经指定分区名。

  createtableifnotexistsday_part1(

  uidint,

  unamestring

  )

  partitionedby(yearint,monthint)

  rowfORMatdelimitedfieldsterminatedby''

  ;

  ##加载数据指定分区

  loaddatalocalinpath'/root/Desktop/student.txt'intotableday_part1partition(year=2017,month=04);

  ##新增分区指定分区名

  altertableday_part1addpartition(year=2017,month=1)partition(year=2016,month=12);

  2.动态分区:分区的值是非确定的,由输入数据来确定

  2.1动态分区的相关属性:

  hive.exec.dynamic.partition=true:是否允许动态分区

  hive.exec.dynamic.partition.mode=strict:分区模式设置

  strict:最少需要有一个是静态分区

  nostrict:可以全部是动态分区

  hive.exec.max.dynamic.partitions=1000:允许动态分区的最大数量

  hive.exec.max.dynamic.partitions.pernode=100:单个节点上的mapper/reducer允许创建的最大分区

  2.2动态分区的操作

  ##创建临时表

  createtableifnotexiststmp(

  uidint,

  commentidbigint,

  recommentidbigint,

  yearint,

  monthint,

  dayint

  )

  rowformatdelimitedfieldsterminatedby'';

  ##加载数据

  loaddatalocalinpath'/root/Desktop/comm'intotabletmp;

  ##创建动态分区表

  createtableifnotexistsdyp1(

  uidint,

  commentidbigint,

  recommentidbigint

  )

  partitionedby(yearint,monthint,dayint)

  rowformatdelimitedfieldsterminatedby''

  ;

  ##严格模式

  insertintotabledyp1partition(year=2016,month,day)

  selectuid,commentid,recommentid,month,dayfromtmp;

  ##非严格模式

  ##设置非严格模式动态分区

  sethive.exec.dynamic.partition.mode=nostrict;

  ##创建动态分区表

  createtableifnotexistsdyp2(

  uidint,

  commentidbigint,

  recommentidbigint

  )

  partitionedby(yearint,monthint,dayint)

  rowformatdelimitedfieldsterminatedby'';

  ##为非严格模式动态分区加载数据

  insertintotabledyp2partition(year,month,day)

  selectuid,commentid,recommentid,year,month,dayfromtmp;

  3.分区注意细节

  (1)、尽量不要是用动态分区,因为动态分区的时候,将会为每一个分区分配reducer数量,当分区数量多的时候,reducer数量将会增加,对服务器是一种灾难。

  (2)、动态分区和静态分区的区别,静态分区不管有没有数据都将会创建该分区,动态分区是有结果集将创建,否则不创建。

  (3)、hive动态分区的严格模式和hive提供的hive.mapred.mode的严格模式。

  hive提供我们一个严格模式:为了阻止用户不小心提交恶意hql

  hive.mapred.mode=nostrict:strict

  如果该模式值为strict,将会阻止以下三种查询:

  (1)、对分区表查询,where中过滤字段不是分区字段。

  (2)、笛卡尔积join查询,join查询语句,不带on条件或者where条件。

  (3)、对orderby查询,有orderby的查询不带limit语句。

感谢各位的阅读!关于“Hive中静态分区与动态分区的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Hive中静态分区与动态分区的示例分析

本文链接: https://www.lsjlt.com/news/230534.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Hive中静态分区与动态分区的示例分析
    这篇文章给大家分享的是有关Hive中静态分区与动态分区的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样查询时使用分区列进行...
    99+
    2023-06-02
  • Hive的静态分区与动态分区的区别
    本篇内容介绍了“Hive的静态分区与动态分区的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1. 静态分区:若分区的值是确定的,那么...
    99+
    2023-06-02
  • Hive中怎么实现动态分区
    本篇文章为大家展示了Hive中怎么实现动态分区,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。动态分区调整动态分区属性:设置为true表示开启动态分区功能(默认为fa...
    99+
    2022-10-18
  • Linux动态库和静态库的示例分析
    今天就跟大家聊聊有关Linux动态库和静态库的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。函数库分为静态库和动态库两种。创建Linux静态库和Linux动态库和使用它们在这...
    99+
    2023-06-16
  • Java中动态代理和静态代理的示例分析
    这篇文章主要介绍了Java中动态代理和静态代理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。0、代理模式为什么要学习代理模式?这是SpringAOP的底层【Spri...
    99+
    2023-06-29
  • Java动态代理与静态代理实例分析
    这篇文章主要介绍了Java动态代理与静态代理实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java动态代理与静态代理实例分析文章都会有所收获,下面我们一起来看看吧。一、静态代理静态代理的使用静态代理,代...
    99+
    2023-07-02
  • Django中静态文件与模板的示例分析
    这篇文章主要介绍了Django中静态文件与模板的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。模板之前我们的视图函数test使用了HttpResponse返回一个字符...
    99+
    2023-06-29
  • vue中静态路由的示例分析
    这篇文章将为大家详细讲解有关vue中静态路由的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路...
    99+
    2022-10-19
  • java访问者模式的静态动态及伪动态分派实例分析
    今天小编给大家分享一下java访问者模式的静态动态及伪动态分派实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1 使用...
    99+
    2023-07-02
  • Laravel项目中伪静态分页处理的示例分析
    这篇文章给大家分享的是有关Laravel项目中伪静态分页处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。下面由Laravel教程栏目给大家介绍Laravel 项目 伪静态分页处理  ,希望对...
    99+
    2023-06-06
  • Redis分区的示例分析
    这篇文章主要介绍了Redis分区的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Redis是单线程的,如何提高多核CPU的利用率?可...
    99+
    2022-10-19
  • PHP后期静态绑定的示例分析
    小编给大家分享一下PHP后期静态绑定的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基础知识1. 范围解析操作符 (::...
    99+
    2022-10-19
  • VB.NET局部静态变量的示例分析
    这篇文章将为大家详细讲解有关VB.NET局部静态变量的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。VB支持用Static关键字声明局部变量,这样在过程结束的时候可以保持变量的数值:Public&...
    99+
    2023-06-17
  • mysql分表分区的示例分析
    这篇文章给大家介绍mysql分表分区的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗...
    99+
    2022-10-19
  • linux驱动中并发与竟态的示例分析
    小编给大家分享一下linux驱动中并发与竟态的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先什么是并发与竟态呢?并发(concurrency)指的是多...
    99+
    2023-06-19
  • java静态和动态绑定的实例对比分析
    这篇文章主要介绍了java静态和动态绑定的实例对比分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java静态和动态绑定的实例对比分析文章都会有所收获,下面我们一起来看看吧。不同绑定的比较静态绑定发生在编译期...
    99+
    2023-06-30
  • web开发中页面静态化的示例分析
    这篇文章给大家分享的是有关web开发中页面静态化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   public void GenerathHtmlByString(...
    99+
    2022-10-19
  • Linux swap分区的示例分析
    Linux swap分区的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是swapswap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者...
    99+
    2023-06-28
  • JDK中动态代理的示例分析
    这篇文章将为大家详细讲解有关JDK中动态代理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。动态代理步骤创建一个实现接口InvocationHandler的类,它必须实现invoke方法创建被代理...
    99+
    2023-06-15
  • Java动态代理示例分析
    这篇文章主要讲解了“Java动态代理示例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java动态代理示例分析”吧!定义动态代理指的是,代理类和目标类的关系在程序运行的时候确定的,客户通...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作