最近怎么流量涨这么多?那我开始讲Hive特性了!

这篇具有很好参考价值的文章主要介绍了最近怎么流量涨这么多?那我开始讲Hive特性了!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hive架构原理

a.用户接口:Client

  • CLI(Hive shell)、JDBC/ODBC(java访问hive)、Hive WEBUI(浏览器访问hive)和Thrift服务器
    b.驱动器:Driver
  • 解析器(SQL Parser):将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。
  • 编译器(Physical Plan):将AST编译生成逻辑执行计划
  • 优化器(Query Optimizer):对逻辑执行计划进行优化。
  • 执行器(Execution):把逻辑执行计划转换成可以运行的物理计划对于Hive来说,就是MR/Spark
    c.元数据:MetaStore
  • 通俗来说,元数据就是“数据的数据”,例如一张表里有许多数据,而元数据则是在描述该表的相关信息,例如创建时间、列数、行数等。Hive的元数据默认储存在derby数据库里,但推荐储存在MySQL里。
    d.存储和计算
  • 使用HDFS进行存储,使用MapReduce进行计算
  • 一句话概括:Hive通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口

索引!

  • Hive在加载数据的过程中不会对数据进行任何处理,甚至不会对数据进行扫描,因此也没有对数据中的某些Key建立索引
  • Hive要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。由于 MapReduce 的引入, Hive 可以并行访问数据,因此即使没有索引,对于大量数据的访问,Hive 仍然可以体现出优势但由于数据的访问延迟较高,决定了 Hive 不适合在线数据查询
    • 延迟原因:扫描整个表、底层MR延迟也高
    • 数据库的低延迟是有条件的,当数据库单独处理不了超大规模数据时,并行提供的优势就大于低延迟的单个个体了
  • 而在数据库中,通常会针对一个或者几个列建立索引,提升访问特定条件下数据访问的效率,并拥有较低的延迟

建表

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], …)]
[CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], …)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format] [STORED AS file_format]
`` [LOCATION hdfs_path];

  • EXTERNAL关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),Hive创建内部表时,会将数据移动到数据仓库指向的路径。
  • 若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变
  • 在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据
  • STORED AS ORC:下次试一下以ORC文件存储一张表,养成这样的习惯,这个表只有优点

内部表和外部表

  • **内部表:**默认创建的表都是内部表,或称管理表managed table。Hive会::或多或少地::控制着数据的生命周期。Hive默认情况下会将这些表的数据存储在由配置项hive.metastore.warehouse.dir(例如/user/hive/warehouse)所定义的目录的子目录下。 当我们删除一个管理表时,Hive也会删除这个表中数据。++管理表不适合和其他工具共享数据++
  • 外部表:如果表是外部表,那么Hive并非认为其完全拥有这份数据删除该表并不会删除掉这份数据,不过描述表的元数据信息会被删除掉。::所以建一张外部表的实质是在元数据建立一个路径指向外部数据源::,删除外部表只是删除元数据里的信息而原始数据不会删除,当重建表时可直接读取原始数据

分区

究其实质,建一张表就是建一个文件夹,然后把数据放在该文件夹里;而分区则是指在这个文件夹(table)下又建立一个子文件夹,把归属这个分区的数据放在这个子文件夹中。最为常见的分区字段就是日期字段,如20200630的数据会放在该表下‘20200630’归属的文件夹里。::以后会出现分区删除等操作,所以掌握分区非常重要::文章来源地址https://www.toymoban.com/news/detail-773833.html

  • 分区的好处在于提供数据查询效率,当需要某个分区数据时Hive只需要去扫描该表下所需子文件夹即可,而不用全表扫描一遍。++是有点像跳表的索引层,不过会不会允许像跳表一样重叠,这个需要进一步学习++
  • 分区需要在建表时进行,语句为:PARTITIONED BY (col_name data_type)
  • 增加一个分区时:alter table table_name add partition(dt='20200630');
  • 增加多个分区时:alter table table_name add partition(dt='20200630') partition(dt='20200701');
  • 删除一个分区时:alter table table_name drop partition(dt='20200630');
  • 删除多个分区时(注意逗号!):alter table table_name drop partition(dt='20200630'),partition(dt='20200701');

其他科普小知识

  • 世界上最大的Hadoop 集群在 Yahoo!,2009年的规模在4000 台节点左右,美团近年来达到了6000台以上。而数据库由于** ACID 语义的严格限制,扩展性非常有限**目前最先进的并行数据库Oracle在理论上的扩展能力也只有100台左右
    • 但好像Hadoop也没有万台那种,好像也不是很厉害……

到了这里,关于最近怎么流量涨这么多?那我开始讲Hive特性了!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 最近网络上的移动手机大流量卡,三种坑让你避免中招!

    小伙伴们都知道,移动手机流量卡在信号上比较于联通电信是有一定的优势的,移动基站多,自然信号就会更好些,所以,一般选择手机流量卡的小伙伴们都会优先考虑移动手机流量卡。 不过现在并不是入手移动手机流量卡的好时机,因为现在4大运营商还在竞合之中,只有

    2024年02月14日
    浏览(39)
  • 大数据毕业设计Flink+Hadoop+Hive地铁客流量可视化 地铁客流量预测 交通大数据 地铁客流量大数据 交通可视化 机器学习 深度学习 人工智能 知识图谱 数据可视化 计算机毕业设计

    河北传媒学院 本科 毕业 论文开题报告 专业 小四号宋体 班级 小四号宋体 姓名 小四号宋体 学号 小四号宋体 指导教师 小四号宋体 题目 基于hadoop+spark的深圳市地铁运营的分析与可视化 (1.内容包括:课题的来源及意义,国内外发展状况,本课题的研究目标、内容、方法、手

    2024年03月19日
    浏览(60)
  • hive怎么更新数据

    要在Hive中更新数据,你可以使用INSERT OVERWRITE或INSERT INTO语句。 使用INSERT OVERWRITE语句时,首先需要创建一个临时表,将需要更新的数据插入到临时表中,然后使用INSERT OVERWRITE将临时表的数据覆盖到原始表中。 示例: -- 创建临时表并插入需要更新的数据 CREATE TABLE temp_table AS

    2024年02月04日
    浏览(46)
  • 【从零开始拿捏数据结构】 顺序表是什么?它有什么样的特性?结构到底是什么样的?

    🎥 屿小夏 : 个人主页 🔥个人专栏 : 数据结构解析 🌄 莫道桑榆晚,为霞尚满天! ​ 什么是数据结构?我们为什么要学数据结构?数据结构中的顺序表长什么样子?它是怎么运用? ​ 本期我们将对这些一一讲解,彻底明白数据结构的重要性,以及顺序表是一种什么的数据

    2024年02月08日
    浏览(102)
  • 从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口)

    iftop是类似于top的实时流量监控工具。 作用:监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等 官网: http://www.ex-parrot.com/~pdw/iftop/ 一般参数 主机参数 端口显示参数 输出排序参数 1.显示网卡eth0的信息,主机通过ip显示 2.显示端口号(添加-P参数,进入界面

    2023年04月08日
    浏览(49)
  • 工作这么久了,还不懂如何使用纯前端实现分页吗?-假如后端一股脑返回给你所有数据,让你自个实现分页该怎么办

    有这么个场景,后端接口的列表数据没有做分页给我,相当于是直接返回所有的列表数据,比如有100条就返回100,但是前端显示,则需要做成分页,比如10条为一页。 假如你用vue来实现,思路就是将数据切割,然后分批显示。 所以可以使用 computed 计算属性和 v-for 指令来实现

    2024年04月17日
    浏览(61)
  • ChatGPT这么火,我们能怎么办?

    今天打开百度,看到这样一条热搜高居榜二:B站UP主发起停更潮,然后点进去了解一看,大体是因为最近AI创作太火,对高质量原创形成了巨大冲击! 记得之前看过一位UP主的分享,说B站UP主的年收入大体约等于粉丝体量!B站UP主本来是非常具有吸引力的新星职业,但如今在

    2023年04月21日
    浏览(48)
  • 网络编程——TCP的特性之自动重传/流量控制/拥塞控制,一篇说清楚

    自动重传请求(Automatic Repeat-reQuest),通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输,其中包括停止等待ARQ协议和连续ARQ协议 1.1 停止等待ARQ 发送窗口大小为1,接收窗口大小也为1 发送方每发送一个数据包,就要等待接收方返回ack包,如果在定

    2024年04月26日
    浏览(48)
  • 苹果Mac电脑怎么显示/取消显示最近使用的文档记录

    Mac可以隐藏最近使用的文档吗?有些小伙伴的mac打开finder会自动打开“ 最近使用 ”项目,将最近所有打开的图片,txt文档等都一一展现出来,没有任何隐私可言。那么该如何在 finder设置不显示最近文档 呢?下面小编就介绍一下该如何关闭最近使用这项功能。 1、在左上角,

    2024年02月10日
    浏览(102)
  • Selenium定位不到元素怎么办?一定要这么做

    在使用Selenium进行自动化测试时,碰到无法定位元素该怎么办?这里总结了9种情况下的元素定位方法: 1、frame/iframe表单嵌套 WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌的页面元素无法直接定位。 解决方法: switch_to.frame() 默认可以直接取表单的id或

    2024年03月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包