大数据工程项目开发实战活页式教程 课件 第4章 数据仓库HIve应用实践_第1页
大数据工程项目开发实战活页式教程 课件 第4章 数据仓库HIve应用实践_第2页
大数据工程项目开发实战活页式教程 课件 第4章 数据仓库HIve应用实践_第3页
大数据工程项目开发实战活页式教程 课件 第4章 数据仓库HIve应用实践_第4页
大数据工程项目开发实战活页式教程 课件 第4章 数据仓库HIve应用实践_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章

数据仓库HIve应用实践1目录01离线大数据处理技术Hive02HiveSQL03HiveSQL查询语句04数据倾斜05join无关的优化06Hive用户自定义函数接口07Olist巴西电子商务网站数据分析离线大数据处理技术Hive

01提供类似SQL的HQL语言,支持多执行引擎,具备简单易用、强扩展性和统一元数据管理等优点。Hive优势特点解决MapReduce编程不便及HDFS文件缺乏Schema等问题,由Facebook开源,用于海量日志数据统计。Hive出现背景Hive出现背景适用于大数据集的批处理作业,如网络日志分析,不适合高实时性需求的应用。Hive适用场景将HiveQL语句转换为MapReduce作业,在Hadoop集群上执行,适用于大规模数据处理。Hive工作原理Hive功能描述Hive基本架构Driver组件负责SQL解析、编译优化及执行计划生成;Metastore管理元数据,支持多会话。Hive核心组件核心组件包括Driver、Metastore、CLI、ThriftServer及WebUI,共同支撑Hive运行机制。Hive架构概览Hive数据存储元数据存储于MySQL等数据库,真实数据存储于HDFS,利于分布式计算。Hive数据模型包含内部表、外部表、分区表和桶表四种类型,各有特点和应用场景。Hive数据存储Hive环境部署切换root用户,执行命令安装MySQL,安装成功后可查看版本。联网安装MySQLHive环境部署上传MySQL安装包至Linux服务器,删除自带MySQL,安装新版本。离线安装MySQLHive环境部署启动MySQL服务,配置root用户及权限,创建hive用户并授权。配置MySQL切换Hadoop用户,上传并解压Hive安装包,配置环境变量及Hive设置。安装HiveHiveSQL02包括基本类型(数值、布尔、字符串)和复杂类型(数组、集合、结构)。应用场景各异。Hive数据类型涵盖DDL和DML操作语句,与MySQL相似,用于数据定义和操作。Hive数据库概念Hive关键概念Hive数据存储Hive数据特性01基于HadoopHDFS,用户可自定义存储格式,包括列分隔符、行分隔符及文件格式。02不支持数据改写和添加,加载时确定数据,支持数据库、文件、表、视图等结构。Hive数据库Hive默认数据库为"default",可使用"usedefault"切换。Hive的数据库Hive内部表数据存储于HDFS指定目录,支持创建、加载、查看和删除操作。内部表Hive数据模型含Table、ExternalTable、Partition和Bucket四种表类型。Hive的不同表外部表指向HDFS现有数据,创建时加载数据位置,删除仅移除链接。外部表01020304Hive表DDL和DMLHive表中的每个partition对应一个目录,用于存储特定的数据。分区表01020304桶表通过哈希分桶存储数据,支持高效抽样查询。桶表视图创建与删除:CREATEVIEWv1ASselectidfromtable1;DROPVIEWv1。视图索引创建、查看及删除操作示例。索引Hive表DDL和DMLHiveSQL查询语句03select语句语法与MySQL类似,支持ALL、DISTINCT等选项,可从单个或多个表查询数据。select语句概览01使用“select*fromtable1;”验证Hive查询功能,适用于初步测试环境。简单查询示例02groupby语句Hive中用于数据分组,流程包括Map、Shuffle、Sort和Reduce。GroupBy功能通过join连接表ptable和course,按姓名分组计算总成绩。使用示例join语句插入数据将课程数据从本地路径加载到Hadoop表中。左外连接左外连接查询学生姓名及对应课程分数。创建course信息表创建course信息表,包含id、pid、课程名、分数字段。内连接SQL内连接查询,选择ptable与course表中匹配的前10条记录。行转列SQL查询行转列,统计学生各科成绩总分及最高分。join语句与MySQL使用方式相同,读者可依据MySQL经验操作。01Hive字符串函数Hive内置函数类比MySQL使用,提供详细函数列表。02Hive集合统计函数Hive内置函数Limit用于限制查询记录数,可结合排序选取特定记录。limit01去重语句用于移除数据中的重复项,如SQL中的selectDISTINCT用法。去重02模糊查询使用like关键字,如:select*fromptablewherenamelike'%9';模糊查询03Hive中ORDERBY全局排序较慢,SORTBY分段排序更快。排序04其他技术数据倾斜04产生原因01大因素:key分布不均、业务数据特性、建表考虑不足、SQL语句问题。02查询慢、作业失败、资源分配不均,通过监控和日志判断。产生原因表现形式任务进度长时间维持99%或100%,少数reduce子任务未完成,处理数据量差异大。数据倾斜表现单一reduce记录数远超平均值,处理时间显著长于其他任务,需分析具体数据确定原因。数据倾斜原因数据倾斜的表现数据倾斜问题通过为null值分配新key有效解决,提升效率。空值数据倾斜大表Join数据偏斜,可通过去重或切分表优化。大表Join的数据偏斜通过设置Hive参数合并Map和Reduce输出文件,提高HDFS处理效率。合并小文件数据类型不一致导致数据倾斜,转换类型后问题解决。数据倾斜原因分析将小表置于Join操作符左侧,减少内存压力,防止OOM。大表join小表优化Hive优化join无关的优化05Map端可先进行部分聚合,减少Reduce端压力,提升Hive处理效率。Map端部分聚合:通过设置hive.groupby.skewindata参数,开启负载均衡模式解决数据倾斜。负载均衡策略groupby引起的倾斜优化countdistinct优化通过GROUPBY年龄分组后计算各组distinct值,最后汇总,分散负载提高效率。优化方法在Hive中易导致数据倾斜,影响查询效率,需优化处理。COUNTDISTINCT优化Hive自定义函数接口06概述Hive提供UDF接口,用户可编写自定义函数满足特定需求,实现复杂统计功能。自定义函数通过UDF,用户能将自定义的方法嵌入Hive,扩展内置函数的功能,灵活处理数据。使用介绍用户自定义函数,用于数据处理,可直接在select语句中应用,对查询结果进行处理。UDF概述通过具体案例学习Hive的自定义函数,实践操作加深理解。UDF学习方法UDF概述需求分析自定义UDF函数处理转译字符,确保Hive查询结果正确显示原始HTML。技术方案HTML标签转译存MySQL,导Hive时需UDF反转译>为>,解决显示问题。需求分析UDF使用UDF部署打包UDF为jar,上传至Hive机器,注册并使用UDF函数。UDF创建创建表myudf,加载数据,编写UDF类替换特定字符。0102Olist电商数据综析07涵盖2016-2018年巴西10万订单,多维度分析订单状态、价格、支付、物流及客户反馈。数据集概况介绍电子商务概念,强调其网络化、信息化特点及对经济的影响。案例背景案例背景描述数据集组成订单表、订单交易表、订单状态表、评论表,由订单id关联。模块开发需求需利用四份数据集完成不同模块的开发任务。案例数据模型采集数据至HDFS,用MapReduce清洗汇总,分析数据。案例任务描述使用Xshell工具将Olist巴西电商数据集上传至HDFS新建的/jn目录下。数据上传通过HDFS命令检查/jn目录,确认数据文件已成功上传并显示。验证上传数据采集数据仓库建模数据清洗聚合01创建Hive表olist_order,定义字段及数据类型,支持后续数据分析。02整合4个原始数据表,通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论