HIVE Map和Reduce数量 优化点 一、Map的数量是怎么计算A、在什么情况下 应该增加Map数量B、在什么情况下 应该减少Map数量二、Reduce的数量是怎么计算代码位置:org.apache.hadoop.hive.ql.exec.mr.MapRedTask函数:setNumberOfReducers、estimateNumberOfReducers影响参数:mapred.reduce.tasks (用户直接设...
HIVE - UDTF开发(指定分割符分割字符串,返回对应的大小写字符串) 一、实现展示hive> desc test_split_string;name stringhive> select * from test_split_string;John,SmithJohn,and,Ann WhiteTed,GreenDorothy,-- UDTF: split_stringhive> select ...
HIVE - UDAF开发(字符串中出现 指定字符的次数,再求次数的平均数) 一、实现展示hive> desc test_avg_str_in_str;user_id intname stringvalue inthive> select * from test_avg_str_in_str;1 awuz 11 azhaoz 12 zhangsan 22 ...
数仓ETL代码优化 - 表字段 被过滤和聚合的次数 优化案例假设以下代码,在不同的调度任务中重复出现。那么是否可以抽出公共代码,减少资源使用。-- 是否可以将埋点里 搜索相关的 整合成一张表select *from app_event_trackingwhere op_type = '搜索'-- 是否可以将每日的用户下单情况 整合成公共层表select user_id, ...from order_itemwhere cre...
ID-Mapping Hive Sql 初始化 背景例:A、B、C 设备属于同一个用户,C、D 属于同一个用户,D、E 属于同一个用户。则可以将 A、B、C、D、E 当作同一个用户。1、数据初始化create table test_id_mapping ( id_list array<String> comment "设备ID");insert overwrite table test_id_mapping...
数据资产管理-简单总结 数据资产 是什么通过对数据打上业务标签、计算成本收益、对应用层数据通过血缘技术,解决资产分析、治理、应用的痛点问题。数据资产 怎么做资产分析:通过对数据的业务属性 打上业务标签,生成资产地图,清晰方便了解哪些是核心数据,数据的使用场景和业务价值。资产治理:获取 数据存储和计算成本,对业务的收益价值。计算数据的ROI(成本收益比)。通过数据的被使用情况、业务价值、ROI, 对数据进...
数据仓库-元数据简单总结 元数据 是什么数据的数据。对使用者提供解释说明,方便快速找到想要的数据。对开发者提供开发模型指导,提供优化方向,监控异常质量。元数据主要分为两大类:技术、业务一、技术元数据1、表的基本信息、存储信息2、计算资源3、调度信息4、数据质量5、血缘关系二、业务元数据1、维度建模(维表、业务过程、指标)2、应用层(报表、数据产品)元数据 怎么做1、收集HIV...
HBase二级索引 简易理解 一、解决的问题1、RowKey 例子RowKey: date__hive_table (存储着 每一天Hive表的元数据)以下需求 查询效率高1、最新一天的 hive_table 对应的元数据2、最新一天的 所有元数据2、新的需求(查询效率低)查询 hive_table 某一段时间的元数据详情3、总结由于RowKey索引单一,二级索引用来 `解决多维度的查询困难`二、对于...
Hive Sql - Multi Distinct(多个distinct在同一个query中) 优化 背景当多个 distinct 操作同时出现在 select 中,数据会分发多次。容易造成Reduce数据倾斜优化点1、如果不要求精确值,可以使用 spark-sql approx_count_distinct函数 (基数计数 hyperloglog)2、修改SQL基数数据如下, 需要计算 不同渠道下的 不同周期 的访问uvcreate table if not exists tmp.m...
MapReduce 二次排序总结 需求1、输入数据:keyA 1keyB 3keyB 77keyB 54keyA 2keyC 22keyC 221keyC 202、目标输出keyA 1,2keyB 3,54,77keyC 20,22,221解决思路STEP 1. 改装Map结构,组合成一个新的Key值MR框架不管是 默认排序 或者是 自定义排序 都只是对Key值进行排序,但我们可以将原始数据的K...
bitmap和布隆过滤器简单总结 一、BitMap解决的问题:大数据量下的排序、查找、去重。1、关键通过 bit位 表示一个数值的状态(是否存在),那么1MB能大约表示 800万数值 (1,000,000B * 8 bit )2、局限性:1、内存限制:10位的数值(即99亿), 占用 1.25GB内存2、一般应用在数值类型。字符串映射到 BitMap 存在Hash碰撞的问题(引入bloom filter)3、不适合数...
数据仓库是什么,如何建立(总结) 一、是什么官方解释:面向主题的、集成的、相对稳定、反应历史变化,用于企业的管理决策分析。开发者角度:通过接入各种数据源,打破数据壁垒,根据业务方的需求,设计方便使用和准确的数据模型,高效将结果输出给业务方。业务方角度:能快速准确提供数据,给公司的日常运营和领导决策提供数据支持和指导。二、如何建立1、分析业务需求、确认仓库主题2、确定总线矩阵3、设计分层架构4、规范约束5、维度...
HIVE元数据使用场景落地(python版本) 一、背景参考数仓-HIVE元数据收集指标二、使用场景举例1、调度元数据通知-关键任务完成时间异常-关键任务没按时完成2、存储元数据占用HDFS空间TOP表HDFS文件数 新增TOP表3、计算元数据数据倾斜任务列表大任务TOP列表三、CODE DEMOHIVE元数据搜集代码:HIVE元数据搜集(python版本)HIVE元数据落地代码...
HIVE元数据收集(python版本) 已有工具1、ZEUS (调度平台)2、Dr-Elephant (任务的性能监控和调优的工具)3、Apache Griffin (数据质量工具)最终落地Hbase表结构row_key: action_id__hive_table(调度元数据)列族: scheduler列: 调度名、开始时间、结束时间、action_id、所属用户(计算资源元数据)列族: computing...
Hive Sql 迁移到 Spark Sql 问题集合 问题集合1、ES外部表格式不同hivespark sql2、元数据更新 refreshtableREFRESH TABLE table_name3、Caused by: java.lang.NoClassDefFoundError: jodd/datetime/JDateTime4、Error in query: nondeterministic expressions are o...
跑满YARN资源-优化方向 背景: YARN资源使用情况如图从内存使用占比、Pending数量 可以看到 YARN的资源使用情况是很紧张的。优化方向1、JOB的执行引擎 MR -> Spark Sql2、监控YARN资源在队列和整体使用情况:A、将不同类型的JOB 调整到不同队列中。B、调整队列的资源分配比例,抢占比例。C、调整JOB的开始执行时间,错开YARN资源使用高峰执行。3、JOB优...
元数据-血缘分析-应用场景总结 1、异常定位假设有指标异常,想知道是什么造成的。通过 血缘分析配合数据质量,了解底层数据的波动情况,方便定位原因。2、提升调度性能通过收集 调度任务的开始结束时间,了解 关键任务 ETL链路的时间瓶颈,再根据JOB任务的执行情况,定位到性能瓶颈通过调整 任务的优先级,保证任务的资源提供, 提升整条ETL链路的执行效率。3、调度SQL优化通过检查字段的使用频率,指标是否有重复计算、资...
数仓-HIVE元数据收集指标 通过对HIVE表进行打标签,构建基础元数据表1、存储2、应用场景3、数据质量4、重要等级5、调度任务6、计算资源7、被使用情况1、存储HIVE表是否分区、量级(可定阈值 设定等级)优化集群存储资源时、快速找到大表。方便监控表的量级变化情况2、应用场景从应用层入手(画像、广告、财务等),通过血缘链路,给涉及到的HIVE表,打上应用场景的标签清楚知道 表是能应用在什么场景...
通过 Dr-Elephant 监控异常HIVE任务并报警 Dr-Elephant收集到的YARN JOB信息后,存入对应的mysql表(yarn_app_result、yarn_app_heuristic_result、yarn_app_heuristic_result_details)yarn_app_result (job是否有异常)yarn_app_heuristic_result (job的异常指标)yarn_app_heuristic...