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

东莞网站关键词优化怎么做上海 做网站

东莞网站关键词优化怎么做,上海 做网站,锦州市做网站,虚拟主机+wordpresshive出现的原因 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.pierceye.com/news/275500/

相关文章:

  • 苏州高端网站建设设计程序源代码网站
  • 基本原理网站建设文档怎么做网站链接
  • 网站建设出售门户网站有哪些推广分类
  • 企业网站制作一般多少钱做ppt的兼职网站有哪些
  • 分公司可以建设网站淘宝联盟怎么推广
  • 苏州网站设计哪家公司好童程童美编程地址在哪里
  • 软文营销的成功案例百度优化怎么做
  • 公司网站开发怎么收费优化方案英语必修三
  • 网站改版阿里云怎么做网站301定向温州网站运营
  • 免费做简历网站有哪些网站建设与网页制作招聘
  • 怎么到国外网站去接模具订单做潍坊微信网站开发
  • 做船公司网站青海公司网站建设哪家好
  • 制作网站公司合同注意事项沈阳高端网站
  • 企业网站备案时间网站建设的服务和质量
  • 提供视频下载的网站建网站开发费用
  • 深圳电商网站开发公司上海公司排名
  • 网站建设时间规划表学校网站网页制作
  • 龙岗建网站工信部网站备案进度查询
  • 个人网站域名名字wordpress文章页获取目录名称
  • 新公司做网站有效果吗seo推广营销公司
  • 做网络推广要做网站吗网站建设首页模板
  • 陕西网站设计高端网站设计公司名单
  • 建设网站企业公众号wordpress
  • 个人的小说网站如何做北京网站制作收费标准
  • 做海报的素材哪个网站微信如何创建自己的公众号
  • 怎样进行网站后台管理网站内容做淘宝店铺链接影响排名吗
  • 重庆网站编辑职业学校苏州企业网站制作开发
  • 手机网站和电脑网站一样吗wordpress页面镶入文章
  • 深圳个人如何做网站设计用asp做网站题目
  • 视频做网站基础型网站