当前位置: 首页 > news >正文

查询网站备案信息优化设计答案

查询网站备案信息,优化设计答案,网站百度搜索不到,网页设计应用论文描述hive出现的原因 Hive 出现的原因主要有以下几个#xff1a; 传统数据仓库无法处理大规模数据#xff1a;传统的数据仓库通常采用关系型数据库作为底层存储#xff0c;这种数据库在处理大规模数据时效率较低。MapReduce 难以使用#xff1a;MapReduce 是一种分布式计算框架…hive出现的原因 Hive 出现的原因主要有以下几个 传统数据仓库无法处理大规模数据传统的数据仓库通常采用关系型数据库作为底层存储这种数据库在处理大规模数据时效率较低。MapReduce 难以使用MapReduce 是一种分布式计算框架它可以用于处理大规模数据但 MapReduce 的编程模型比较复杂难以使用。需要一种统一的查询接口传统的数据仓库和 MapReduce 都提供了数据查询的接口但这些接口相互独立难以统一管理。 为了解决这些问题Facebook 在 2008 年开发了 HiveHive 是一种基于 Hadoop 的分布式数据仓库管理系统它提供了一种 SQL 语法来访问存储在 Hadoop 分布式文件系统 (HDFS) 中的数据。Hive 的出现解决了传统数据仓库无法处理大规模数据的问题也简化了 MapReduce 的使用并提供了一种统一的查询接口。 Hive 的出现对大数据处理产生了重大影响它使大数据处理变得更加简单、高效、可扩展。 hive执行过程 编写 Hive SQL 程序首先需要编写 Hive SQL 程序这个程序可以通过 Hive CLI、Hive WebUI 等工具进行编写。Hive SQL 程序可以包含各种数据查询语句例如 select、insert、update、delete 等。提交 Hive SQL 程序编写完成后需要将 Hive SQL 程序提交到 Hive 服务器。Hive 服务器会根据 Hive SQL 程序的语法和逻辑进行解析并生成 MapReduce 任务。执行 MapReduce 任务MapReduce 任务会将 Hive SQL 程序中的查询语句转换为 Map 和 Reduce 任务。Map 任务会将数据分割成小块并将数据进行预处理。Reduce 任务会将 Map 任务的输出结果进行合并和聚合。生成查询结果MapReduce 任务完成后Hive 服务器会将查询结果生成到 HDFS 中。从 HDFS 中取数最后可以通过 Hive CLI、Hive WebUI 等工具从 HDFS 中取出查询结果。 具体来说Hive SQL 程序的执行过程如下 SqlParser 将 Hive SQL 程序解析为 AST抽象语法树SemanticAnalyzer 对 AST 进行语义分析Optimizer 对 AST 进行优化Planner 生成执行计划Driver 将执行计划发送到 MapReduce 框架MapReduce 框架启动 Map 和 Reduce 任务Map 和 Reduce 任务生成查询结果Hive 服务器将查询结果写入 HDFS用户从 HDFS 中取出查询结果 这个过程可以分为两个阶段 Hive SQL 解析和执行阶段这个阶段是 Hive SQL 程序执行的核心阶段包括 Hive SQL 程序的解析、优化、计划、执行等过程。HDFS 写入和读取阶段这个阶段是将查询结果写入 HDFS 以及从 HDFS 中取出查询结果的过程。 需要注意的是Hive SQL 程序的执行过程可以根据 Hive 服务器的配置进行调整。例如可以通过配置 Hive 的参数来控制 MapReduce 任务的数量和并行度。 hive服务器包含哪些部分 HiveServer2 HiveServer2 是 Hive 的服务器端它负责接收用户的 Hive SQL 请求并将这些请求转换为 MapReduce 任务 HiveServer2 的转换步骤如下 解析阶段HiveServer2 会使用 ANTLR 解析器来解析 Hive SQL 请求生成抽象语法树 (AST)。AST 是 Hive SQL 请求的结构化表示它包含了 Hive SQL 请求的语法信息。语义分析阶段HiveServer2 会使用 SemanticAnalyzer 来对 AST 进行语义分析检查 Hive SQL 请求的语义是否正确。语义分析会检查 Hive SQL 请求中的变量、常量、表达式等是否正确以及 Hive SQL 请求是否符合 Hive 的语义规则。优化阶段HiveServer2 会使用 Optimizer 来对 AST 进行优化提高 Hive SQL 请求的执行效率。优化会根据 Hive SQL 请求的语义和数据分布情况生成最优的执行计划。生成执行计划阶段HiveServer2 会使用 Planner 来生成执行计划。执行计划是 Hive SQL 请求的执行指南它包含了 MapReduce 任务的数量、分区、输入输出等信息。执行阶段HiveServer2 会将执行计划发送到 MapReduce 框架由 MapReduce 框架执行 Hive SQL 请求。MapReduce 框架会将 Hive SQL 请求拆分为多个 Map 和 Reduce 任务并在多个节点上并行执行。 Hive Metastore Hive Metastore 是 Hive 的元数据存储它存储了 Hive 数据库、表、列、分区等元数据信息 Hive Metastore 使用 MySQL 存储元数据提供以下优点 可扩展性MySQL 是一个可扩展的数据库可以支持大量的并发连接。 可靠性MySQL 支持 ACID 事务保证了数据的一致性和完整性。 性能MySQL 是一个高性能的数据库可以满足 Hive 的性能需求。 性能优化 要尽可能减少生成的 MapReduce 任务量在编写 HiveSQL 时应该注意以下几点 尽量使用 join 而不是 union。 union 操作会导致两个表的数据分别作为 MapReduce 任务的输入而 join 操作只会生成一个 MapReduce 任务。尽量使用 where 子句来过滤数据。 where 子句可以过滤掉不需要的数据减少 MapReduce 任务处理的数据量。**尽量使用分区表。**分区表可以将数据分布到多个文件中减少 MapReduce 任务之间的数据 shuffle 量。使用 coalesce 函数合并小文件。 coalesce 函数可以将多个小文件合并为一个大文件减少 MapReduce 任务之间的数据 shuffle 量。使用 mapjoin 操作。 mapjoin 操作可以将 Map 任务和 Reduce 任务合并为一个任务减少 MapReduce 任务的数量。 以下是一些具体的示例 使用 join 而不是 union # 使用 union生成两个 MapReduce 任务 select * from table1 union all select * from table2;# 使用 join生成一个 MapReduce 任务 select * from table1 join table2 on table1.id table2.id;使用 where 子句来过滤数据 # 不使用 where 子句生成一个 MapReduce 任务 select * from table1;# 使用 where 子句生成一个 MapReduce 任务 select * from table1 where id 1;使用分区表 # 使用不分区表生成一个 MapReduce 任务 select * from table1;# 使用分区表生成多个 MapReduce 任务 select * from table1 partition(d1, d2, d3);使用 coalesce 函数合并小文件 # 不使用 coalesce 函数生成多个 MapReduce 任务 select * from table1;# 使用 coalesce 函数生成一个 MapReduce 任务 select * from table1 coalesce(1000);使用 mapjoin 操作 # 不使用 mapjoin 操作生成两个 MapReduce 任务 select * from table1 join table2 on table1.id table2.id;# 使用 mapjoin 操作生成一个 MapReduce 任务 select * from table1 mapjoin table2 on table1.id table2.id;总结 也就是说hive sql通过将sql转换成map reduce任务使得开发人员可以通过编写sql来替代写map reduce代码由于sql是通用的很多数据分析人员都有此技术栈相对写map reduce代码要容易上手很多。对于同样一个取数需求hive sql编写方式的不同会导致Map Reduce任务的创建量不同所以尽可能编写少的Map Reduce的任务的SQL也是性能优化需要关注的点。
http://www.hkea.cn/news/14583405/

相关文章:

  • 80s无水印视频素材网站下载均安建网站
  • 网站建设推广seo广东省建设工程协会网站
  • 广州网站策划公司制作个人网页费用
  • 学校门户网站开发火车头wordpress获取不到分类
  • 网站拖拽广州天河区房价2022年最新房价
  • 大学生创意电子产品设计电子商务seo
  • 夏天做哪些网站致富厦门网站排名优化软件
  • 内蒙古城乡建设和住房建设厅网站php综合网站源码
  • 商务网站的建设步骤网站源码站
  • 织梦网站统计代码制作网页的网站费用属于资本性支出吗
  • 广州天河建网站的公司c2c模式平台有哪些
  • wordpress网站响应速度插件广东网络公司网站建设
  • 做好网站建设工作总结网站建设牜金手指花总十四
  • 建行手机网站个人网站可以做论坛
  • 湖州建设企业网站罗湖附近网站建设公司
  • 政务网站建设办法3d建模学费一般多少钱
  • 做公司网站要注意哪些问题本地推广最有效的方法
  • 饶阳营销型网站建设费用王者荣誉网站怎么做
  • dede织梦做的网站 栏目页有切换js 怎么循环子栏目 调子栏目skech做网站交互流程
  • 网站建设难点襄阳门做网站
  • 哪个网站seo做的最好家具设计案例
  • 电商购物网站开发移动网站转码
  • 口碑好网站建设在哪里做产地证新网站
  • 浙江建设厅网站那三类人员北京网站备案域名
  • 公司网站邮箱费用泰安vx
  • 益阳建设公司网站南宁 网站开发
  • 新网站百度有审核期电子商务网站建设软件选择
  • 个人网站不能有盈利性质南阳建网站企业
  • 湖北企业网站建设公司开发公司挖出的沙子归谁
  • wordpress网站数据库哪个网站可以做电子档的邀请函