MapReduce

优化 Hive ETL 任务(参数篇)

心不动则不痛 提交于 2020-11-25 05:56:06
点击蓝色“ 大数据每日哔哔 ”关注我 加个“ 星标 ”, 第一时间获取 大数据架构,实战经验 图片来源网络,点赞 工作中常用的 hive 参数调优,整理如下。 通过查看线上日志的任务日志,可以获取任务运行每个阶段的耗时情况,结合集群的资源、任务的逻辑,可以从下面这几个角度优化我们的任务。 有时候,并不需要调整任务的参数,可能只需要调整任务的定时即可,大任务错峰执行,也可以优化单个任务的运行时长。 原则: 最少数据 最少字段 最少Job数 最少读取次数 避免数据倾斜 整体最优而不是局部最优 JVM 内存 (以上,最优解组合不一定是整体最优,要视情况而定。) 文件大小合理切分 这里需要结合 集群的资源 来合理的设置切片大小。 # 文件分割大小 set mapreduce.input.fileinputformat.split.maxsize=536870912; # 节点文件分割大小 set mapreduce.input.fileinputformat.split.minsize.per.node=536870912; # 机架文件分割大小 set mapreduce.input.fileinputformat.split.minsize.per.rack=536870912; # Reduce 文件分割大小 set hive.exec.reducers.bytes.per

2020大数据面试题真题总结(附答案)

怎甘沉沦 提交于 2020-11-24 15:57:03
版本 更新时间 更新内容 v1.0 2020-07-01 新建 v1.1 2020-06-13 朋友面试大数据工程师提供的关于架构及数仓方面的题目 v1.2 2020-08-08 朋友面试数据专家提供的数据驱动,spark及flink方面面试题 v1.3 2020-08-22 朋友面试数据开发提供的关于hive及数仓方面的题目 一.Hadoop 1.hdfs写流程 2.hdfs读流程 3.hdfs的体系结构 4.一个datanode 宕机,怎么一个流程恢复 5.hadoop 的 namenode 宕机,怎么解决 6.namenode对元数据的管理 7.元数据的checkpoint 8.yarn资源调度流程 9.hadoop中combiner和partition的作用 10.用mapreduce怎么处理数据倾斜问题? 11.shuffle 阶段,你怎么理解的 12.Mapreduce 的 map 数量 和 reduce 数量是由什么决定的 ,怎么配置 13.MapReduce优化经验 14.分别举例什么情况要使用 combiner,什么情况不使用? 15.MR运行流程解析 16.简单描述一下HDFS的系统架构,怎么保证数据安全? 17.在通过客户端向hdfs中写数据的时候,如果某一台机器宕机了,会怎么处理 18.Hadoop优化有哪些方面 19.大量数据求topN

分布式文件存储hdfs简介及常用命令

戏子无情 提交于 2020-11-24 12:38:56
1、hdfs简介 1.1 什么是HDFS? HDFS(Hadoop Distributed File System)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,是最基础的一部分,MapReduce等计算模型都要依赖于存储在HDFS中的数据。HDFS是一个分布式文件系统,以流式数据访问模式存储超大文件,将数据分块存储到一个商业硬件集群内的不同机器上。 1.2 HDFS的设计目标 存储超大文件 HDFS适合存储大文件,单个文件大小通常在百MB以上 HDFS适合存储海量文件,总存储量可达PB,EB级 流式数据访问 为数据批处理而设计,关注数据访问的高吞吐量 硬件容错 基于普通机器搭建,硬件错误是常态而不是异常,因此错误检测和快速、自 动的恢复是HDFS最核心的架构目标 简单的一致性模型 一次写入,多次读取 一个文件经过创建、写入和关闭之后就不需要改变 不支持低时间延迟的数据访问 hdfs关心的是高数据吞吐量,不适合那些要求低时间延迟数据访问的应用。 本地计算 将计算移动到数据附近 1.3 HDFS的构成 数据块 文件以块为单位进行切分存储,块通常设置的比较大(最小6M,默认 128M) 块越大,寻址越快,读取效率越高,但同时由于MapReduce任务也是以 块为最小单位来处理,所以太大的块不利于于对数据的并行处理 一个文件至少占用一个块(逻辑概念) 冗余备份

0734-5.16.1-集群外客户端跨网段向Kerberos环境的Hadoop集群提交作业(续)

点点圈 提交于 2020-11-24 06:52:53
文档编写目的 在前面的文章《 如何在集群外节点跨网段向HDFS写数据 》和《 外部客户端跨网段访问Hadoop集群方式(续) 》中介绍了如何在集群外的客户端节点上访问Hadoop集群,本篇文章在前面文章的基础上基于Kerberos环境的CDH集群介绍,如何在集群外客户端跨网段向Kerberos环境的Hadoop集群提交MapReduce和Spark作业。 测试环境 1.Redhat7.4 2.CDH5.16.1 3.集群已启用Kerberos 修改HDFS配置 1.进入HDFS服务的配置页面 2.在搜索栏输入“bind”勾选如下配置,将各服务的端口号绑定到0.0.0.0 3.搜索“core-site.xml”在高级配置项增加如下配置 < property > < name > hadoop.security.token.service.use_ip </ name > < value > false </ value > </ property > 4.搜索“hdfs-site.xml”在高级配置项增加如下配置 < property > < name > dfs.client.use.datanode.hostname </ name > < value > true </ value > </ property > 注意:该配置属于HDFS的Gateway角色高级参数

【精品投稿】推荐系统评测心得

混江龙づ霸主 提交于 2020-11-20 07:19:07
推荐系统评测心得 做推荐算法的质量工作将近一年,这一年尝试了很多东西,踩了不少坑,也对推荐的评测工作稍微有了些自己的心得,现在分享出来,希望能和做这块工作的同学一起交流、探讨,也欢迎多拍砖,多提意见。 推荐系统 目前推荐技术的应用已经非常较普及了,新闻、商品、问答、音乐,几乎都会用到推荐算法来为你呈现内容。下面是淘宝、知乎、微博三个app的推荐模型,可以看到推荐都在非常重要的位置。 在介绍推荐算法评测之前,我先简单说下推荐系统,这里我以商品为例,简单描述下推流程,让大家更明白一些,一般推荐主要包含以下步骤: 召回->打分排序->透出 召回 召回阶段通常的手段是协同过滤比较场景的i2i,u2i等这种x2x,也有使用embedding的方式通过向量之间的距离进行召回。以i2i为例,假如现在要针对我推荐一个商品,那么首先要找到我感兴趣的物品 ,这些数据是通过我的历史行为来进行获取,比如拿到我最近一段时间内的点击、加购、收藏、购买的物品,将这些商品做为trigger进行召回,协同算法的具体就不再这里叙述了,有兴趣可以看下链接,最终我们按照协同过滤算法算出商品之间的相似分值,然后按照一定数量进行截断,因为这里截断也是依靠分数来进行的,所以一般这一步也称粗排。这样召回截断就完成了。 打分 召回完商品后,我们需要对这些商品进行再一次的精排,这里需要用模型来预估ctr,一般情况下LR、GBDT

MapReduce: Simplified Data Processing on Large ...

余生长醉 提交于 2020-11-19 07:25:53
MapReduce: Simplified Data Processing on Large Clusters Abstract MapReduce is a programming model and an associated implementation for processing and generating large datasets that is amenable to a broad variety of real-world tasks. Users specify the computation in terms of a map and a reduce function, and the under lying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules intermachine communication to make efficient use of the network and disks. Programmers find the system easy to use: more than ten

转载-YARN的内存和CPU配置

陌路散爱 提交于 2020-11-19 03:51:30
Hadoop YARN同时支持内存和CPU两种资源的调度,本文介绍如何配置YARN对内存和CPU的使用。 YARN作为一个资源调度器,应该考虑到集群里面每一台机子的计算资源,然后根据application申请的资源进行分配Container。Container是YARN里面资源分配的基本单位,具有一定的内存以及CPU资源。 在YARN集群中,平衡内存、CPU、磁盘的资源的很重要的,根据经验,每两个container使用一块磁盘以及一个CPU核的时候可以使集群的资源得到一个比较好的利用。 内存配置 关于 内存 相关的配置可以参考hortonwork公司的文档 Determine HDP Memory Configuration Settings 来配置你的集群。 YARN以及MAPREDUCE所有可用的内存资源应该要除去系统运行需要的以及其他的hadoop的一些程序,总共保留的内存=系统内存+HBASE内存。 可以参考下面的表格确定应该保留的内存: 每台机子内存 系统需要的内存 HBase需要的内存 4GB 1GB 1GB 8GB 2GB 1GB 16GB 2GB 2GB 24GB 4GB 4GB 48GB 6GB 8GB 64GB 8GB 8GB 72GB 8GB 8GB 96GB 12GB 16GB 128GB 24GB 24GB 255GB 32GB 32GB 512GB

Flink 1.11 与 Hive 批流一体数仓实践

对着背影说爱祢 提交于 2020-11-18 17:47:41
导读:Flink 从 1.9.0 开始提供与 Hive 集成的功能,随着几个版本的迭代,在最新的 Flink 1.11 中,与 Hive 集成的功能进一步深化,并且开始尝试将流计算场景与Hive 进行整合。 本文主要分享在 Flink 1.11 中对接 Hive 的新特性,以及如何利用 Flink 对 Hive 数仓进行实时化改造,从而实现批流一体的目标。主要内容包括: · Flink 与 Hive 集成的背景介绍 · Flink 1.11中的新特性 · 打造 Hive 批流一体数仓 一、 Flink 与 Hive 集成背景 为什么要做 Flink 和 Hive 集成的功能呢?最早的初衷是我们希望挖掘 Flink 在批处理方面的能力。众所周知,Flink 在流计算方面已经是成功的引擎了,使用的用户也非常多。在 Flink 的设计理念当中,批计算是流处理中的一个特例。也就意味着,如果 Flink 在流计算方面做好,其实它的架构也能很好的支持批计算的场景。在批计算的场景中,SQL 是一个很重要的切入点。因为做数据分析的同学,他们更习惯使用SQL 进行开发,而不是去写 DataStream 或者 DataSet 这样的程序。 Hadoop 生态圈的 SQL 引擎,Hive 是一个事实上的标准。大部分的用户环境中都会使用到了 Hive 的一些功能,来搭建数仓。一些比较新的 SQL 的引擎

想当程序员中间万元户吗?这几个MySQL核心技术点必须要搞懂!

。_饼干妹妹 提交于 2020-11-12 09:29:37
前言 MySQL 是业务后台系统经常用到的结构化数据库。 掌握 MySQL 相关知识是研发人员必备的能力。 与此同时,在面试过程当中,MySQL 的知识点也是经常被当做面试题目,以此来考量候选人的能力。 随着业务量的增加,对于 MySQL 性能优化的要求也越来越高, 而索引方面是性能优化重点考虑的方向,所以深入理解 MySQL 索引对于未来的优化起到很重要的作用。 深入理解MySQL底层实现 MySQL 的初始、组成 MySQL 的常用引擎(InnoDB、Myisam、MariaDB) 数据存储原理 数据结构 MySQL 数据结构 MySQL 的优化 来自一线大厂高频面试题 唯一索引比普通索引快吗, 为什么 MySQL查询缓存有什么弊端, 应该什么情况下使用, 8.0版本对查询缓存有什么变更. MySQL怎么恢复半个月前的数据 做过哪些MySQL索引相关优化 一千万条数据的表, 如何分页查询 订单表数据量越来越大导致查询缓慢, 如何处理 简要说一下数据库范式 MySQL事务的隔离级别, 分别有什么特点 上面的一些大厂高频面试题以及答案已经整理成文档,需要领取的同学可以关注我, 点我 免费领取 哦! 来自一线互联网公司总结的真题面试收录 一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert