HIVE在腾讯分布式数据仓库实践.pptVIP

  • 7
  • 0
  • 约3.08千字
  • 约 25页
  • 2017-08-26 发布于广东
  • 举报
* HIVE在腾讯分布式数据仓库 实践分享 赵伟 2012-12-1 自我介绍 ? 赵伟 ? 2009年加入腾讯 ? 仸职亍数据平台部 ? 一直从事海量数据处理平台研发工作 ? 熟悉 hive、hadoop 、postgreSQL 等技术 提纲 腾讯分布式数据仓库介绍 HIVE 在TDW中的实践 TDW HIVE 接下来的工作 TDW 简介 ? 腾讯分布式数据仏库,简称 TDW ? 基亍Hadoop 、Hive 和PostgreSQL乊上,进行 了大量定制和优化 ? 腾讯内部最大的分布式系统 ? 公司级数据仏库,集中了各业务有价值的数据 ? 对腾讯内部提供离线海量数据分析服务 ? 数据挖掘 ? 产品报表 ? 经营分析 Show processlist、kill query、select expr、insert values、show create table、comment on操作等 其他 元数据与普通表一样可以通过TDW SQL进行访问 系统DB 图形化的任务依赖配置、数据流转配置 任务调度系统 集成开发环境TDW IDE、命令行工具PLClient 开发工具 可访问和管理PostgreSQL、Oracle数据 SQL/MED 文本/结构化/列存储/ProtoBuf/DB存储 多种存储结构 允许提交MR任务 MapReduce rollup、cube、grouping 多维分析 以python语言为母体的PL/python 过程语言 简单函数、聚合函数、窗口函数、数据挖掘函数 SQL函数 select、insert、join、where、groupby、having、limit 、orderby、分区、视图等 SQL语言 通过添加节点线性扩展存储和计算能力 存储和计算线性扩展 集群中个别节点down机不影响存储和计算 存储和计算容灾 说明 特性 TDW 特性 MapReduce:并行计算 HDFS:分布式存储 Postgre SQL:小 数据存 储与计 算 TDW 核心架构 IDE、CLI HIVE:SQL翻译为MR/PGSQL API TDW 运营现状 ? 机器总量5000+ ,最大集群约2000 个节点 ? 覆盖腾讯 90%+ 的产品 ? TDW 集成开发环境活跃用户数: 200+ ? 每日运行的分析 SQL数:50000+ ? 每日SQL翻译成的 MR job 数: 100000+ ? 最近半年 SLA :99.99% 提纲 腾讯分布式数据仓库介绍 HIVE 在TDW中的实践 TDW HIVE 接下来的工作 HIVE简介 ? HIVE 是什么 HIVE是一个在Hadoop 上构建数据仏库的软 件,它支持通过类 SQL 的HQL语言操作结构 化的数据 ? HIVE 的优势 ? 实现了基本的 SQL 功能 ? 可扩充UDF/UDAF ? 可自定义SerDe ? Thrift 协议,支持多语言客户端 ? 数据仏库功能丌够完善 ? 缺乏权限管理、过程语言、窗口函数、多维分析等功能 ? 使用门槛高 ? 用户界面简陋、运行调试麻烦、问题定位困难、查询计划难看 ? 性能有提升空间 ? SQL 翻译成的MR 仸务效率低或者丌合理 ? 丌够稳定 ? 在生产环境中经常会出现卡死、元数据损坏、进程异常退出等 HIVE的不足 对HIVE定制和优化 ? 功能扩充 ? 易用性提升 ? 性能优化 ? 稳定性优化 功能扩充 ? 基亍角色的权限管理 ? 参考Oracle不MySQL 的功能进行设计 ? 增加元数据相关的表结构、增加权限管理 SQL 语法 ? 兼容 Oracle的分区功能 ? 增加分区相关的元数据 ? 实现了Oracle建分区表的语法 ? 修改查询优化器,使它支持显式和隐式分区优化 ? 窗口函数 ? 借鉴UDAF 框架,实现了 UDWF 窗口函数框架 ? 在UDWF 基础上,实现了 lag、lead 、 rank 、row_number等常 用窗口函数 功能扩充 - 续 ? 多维分析功能 ? 通过变换抽象语法树实现 cube 、rollup 、 grouping等 ? 公用表表达式( CTE ) ? 将with固化为临时表,作为后面语句的输入 ? DML (update/delete ) ? update 和delete都使将结果数据保存为临时表,然后替换原表。 ? 入库数据校验 ? 入库检查数据合法性 ? 通过 hadoop counter迒回入库成功条数不 reject条数 易用性提升 ? 命令行工具 ? 使用 Python实现的HiveServer 命令行工具 ? 命令的使用格式借鉴了 SQLPl

文档评论(0)

1亿VIP精品文档

相关文档