• 扎心!天天写代码,方向真的对吗?

    Hadoop 的诞生正好解决了这一燃眉之急。Spark 远超过 Hadoop 的计算性能以及极其优雅简单的 API 迎合了当时用户的需求,受到了广大大数据工程师的热捧。Flink 的以 Stream 为核心的架构是业界独一无二的,由此而产生的性能优越,高扩展性,端到端 Exactly Once 等特性,更是使得 Flink 在流计算领域是当之无愧的王者。目前主流的流计算引擎有 3 个:Flink、Storm 和 SparkStreaming 。但作为趋势,我们更关注的是其变化曲线,实际影响应该不大。从上面的 Google trends 曲线可以看出,Flink 处在一个快速增长期, Storm 的热度在逐年下降,而 Spark Streaming 几乎进入了平台期。Spark 经过 14,15 年爆发,现在已经进入平稳期。但是 Spark 仍在进化,仍
  • 浅析Hive/Spark SQL读文件时的输入任务划分

    Hive以及Spark SQL等大数据计算引擎为我们操作存储在HDFS上结构化数据提供了易于上手的SQL接口,大大降低了ETL等操作的门槛,也因此在实际生产中有着广泛的应用。而Hive和Spark SQL作为Map-Reduce模型的分布式执行引擎,其执行过程首先就涉及到如何将输入数据切分成一个个任务,分配给不同的Map任务。在本文中,我们就来讲解Hive和Spark SQL是如何切分输入路径的。Spark SQLSpark的表有两种:DataSource表和Hive表。因此,Spark SQL作业的任务切分关键在于底层RDD的partition如何切分。Data Source表Spark SQL的DataSource表在最终执行的RDD类为FileScanRDD,由FileSourceScanExec创建出来。Hive表Spark SQL中的Hive表底层的RDD类为HadoopRDD,由HadoopTableReader类实现。
  • 【译】Databricks使用Spark Streaming和Delta Lake对流式数据进行数据质量监控介绍

    原文链接:https://databricks.com/blog/2020/03/04/how-to-monitor-data-stream-quality-using-spark-streaming-and-delta-lake.html在这个一切都需要进行加速的时代,流数据的使用变得越来越普遍。该顾客使用Databricks、Delta Lake以及Structured Streaming,实时高可用地处理和分析这些流式数据。Structured Streaming和Delta Lake非常适合用于数据获取和存储层,因为他们能够配合创造一个具有扩展性、容错性和类实时的系统,并且具有exactly-once处理保证。
  • 趣头条百 PB 规模 Hadoop 实践

    日均计算任务个数达到二十万个,Hadoop集群规模近2000台左右。下面主要介绍趣头条这些年来来对 Hadoop 集群的一些优化,希望对其他公司有所帮助。NameNode负载和扩展性问题拆RPC端口以及拆NameSpace组成Federation针对NameNode单点瓶颈,在把NameNode拆分成Client RPC端口和Service RPC端口后,推进了HDFS Federation的架构,原因是NameNode单点存在元数据量激增的问题,也存在NameNode RPC负载激增的问题。目前我们使用了FairCallQueue + RPC Backoff, 能满足我们拥塞控制的需求。为了实现配置转移到了服务端进行控制,我们开发了HDFS Proxy,客户端无需配置,Hdfs Client 将请求转发到对应的HDFS Proxy Server。
  • 纵观 Hadoop 发展史,离它退出历史舞台还有多远?

    Hadoop 2.0 基本上改进了 Hadoop 的重大缺陷,此外 YARN 可以兼容多个计算框架,如 Spark、Storm、MapReduce 等,HDFS 也变成了很多系统底层存储。在当时,如果你要想搭建一个大数据平台,绝对无法绕过 Hadoop。Hadoop 生态圈与发行版Hadoop 生态圈的各个组件包含了 Hadoop 的核心组件,如 HDFS、YARN。但随着 Hadoop 的没落,Cloudera 在上市后,股价一直缩水,最后与同样是上市公司的 Hortonworks 进行了合并,合并后的股价仅有 20 亿美金。值得一提的是,Hadoop 之父 Doug Cutting 也是是Cloudera 公司的成员。总结本节课主要讲解了 Hadoop 的架构及其一些关键组件等概念。作为集群的操作系统,Hadoop 短时间不会,未来也很难退出大数据的舞台。
  • Flink 与 Hive 的磨合期

    有不少读者反馈,参考上篇文章《Hive 终于等来了 Flink》部署 Flink 并集成 Hive 时,出现一些 bug 以及兼容性等问题。回顾在上篇文章中,笔者使用的 CDH 版本为 5.16.2,其中 Hive 版本为 1.1.0,Flink 源代码本身对 Hive 1.1.0 版本兼容性不好,存在不少问题。为了兼容目前版本,笔者基于 CDH 5.16.2 环境,对 Flink 代码进行了修改,重新打包并部署。执行引擎信息 execution 配置了 blink planner,并且使用 batch 模式。除了 batch,Flink 也支持 streaming 模式。■ Flink SQL CLI 工具类似 spark-sql 命令,Flink 提供了 SQL CLI 工具,即 sql-client.sh 脚本。在 Flink 1.10 版本中,Flink SQL CLI 改进了很多功能,笔者后面讲解。
  • Apache Beam 大数据处理一站式分析

    大数据处理涉及大量复杂因素,而Apache Beam恰恰可以降低数据处理的难度,它是一个概念产品,所有使用者都可以根据它的概念继续拓展。Apache Beam提供了一套统一的API来处理两种数据处理模式(批和流),让我们只需要将注意力专注于数据处理的算法上,而不用再花时间去维护两种数据处理模式上的差异。Lambda 架构使开发人员能够构建大规模分布式数据处理系统。三. PCollection3.1 Apache Beam 发展史在2003年以前,Google内部其实还没有一个成熟的处理框架来处理大规模数据。
  • Hadoop社区比 Ozone 更重要的事情

    Ozone 是很不错,也很有用;但从我作为一个社区参与者的角度来看,它救不了 Hadoop,就这个项目的前后十年来说,Hadoop 社区有远比它更重要的挑战需要去解决。Hadoop 社区最近几年,在它的核心支撑点存储上面,应该最主要的工作就是开发 Ozone。Hadoop 比较合适的用户定位应该是中大规模部署,小到几十个节点几 PB 数据规模,大到上千节点上百 PB 数据这种。微软在 Hadoop 社区的领导者 Chris 做过这方面的努力,支持了把 Azure Blob 挂载到 HDFS 映射到 DataNode 上的一个 tier,可惜功亏一篑,最终只是个半成品。在存储系统层面,Hadoop 利用 HDFS 多备份和数据本地化把大数据分析处理
  • 扎心!天天写代码,方向真的对吗?

    拿我职业生涯开始阶段学习的 Hadoop 为例。而随着互联网技术的发展,数据量与日俱增,处理海量数据的能力迫在眉睫。Hadoop 的诞生正好解决了这一燃眉之急。Spark 远超过 Hadoop 的计算性能以及极其优雅简单的 API 迎合了当时用户的需求,受到了广大大数据工程师的热捧。Flink 的以 Stream 为核心的架构是业界独一无二的,由此而产生的性能优越,高扩展性,端到端 Exactly Once 等特性,更是使得 Flink 在流计算领域是当之无愧的王者。目前主流的流计算引擎有 3 个:Flink、Storm 和 SparkStreaming 。但作为趋势,我们更关注的是其变化曲线,实际影响应该不大。下半场战斗的重点讲从底层走向上层,走向生态。
  • Hadoop社区比 Ozone 更重要的事情

    Ozone 是很不错,也很有用;但从我作为一个社区参与者的角度来看,它救不了 Hadoop,就这个项目的前后十年来说,Hadoop 社区有远比它更重要的挑战需要去解决。Hadoop 社区最近几年,在它的核心支撑点存储上面,应该最主要的工作就是开发 Ozone。Hadoop 比较合适的用户定位应该是中大规模部署,小到几十个节点几 PB 数据规模,大到上千节点上百 PB 数据这种。微软在 Hadoop 社区的领导者 Chris 做过这方面的努力,支持了把 Azure Blob 挂载到 HDFS 映射到 DataNode 上的一个 tier,可惜功亏一篑,最终只是个半成品。在存储系统层面,Hadoop 利用 HDFS 多备份和数据本地化把大数据分析处理
  • 一个月面试近20家,拿下阿里Offer !

    我是年前离职的,没想到这个突如其来的疫情,完全将面试升级为地狱难度,焦虑、烦躁、失眠,是过去一个月的主旋律。因此,对于flume的性能调优,就是对这三部分及影响因素调优。ACK 机制 、 设置分区、关闭 unclean leader 选举等等。副本数据同步策略、ISR、OSR、Leader 选举机制。
  • 基于XGB单机训练VS基于SPARK并行预测(XGBoost4j-spark无痛人流解决方案)

    理解本文需要有一定的技术基础,包括对于Xgboost的基本理解以及使用经验,基本的Spark开发能力,如果对于Xgboost4j-spark有一定的了解就更好了。首先我们确定我们需要做的事情,那就是尝试在Python单机的环境下训练模型,获取到模型文件,然后加载在Spark环境中做并行预测,涉及到并行预测会用到XGBoost4j-spark框架。为什么不直接在XGBoost4j-spark上做Train以及Predict?关于这一点,我们在后面拆解XGBoost4j-spark源码的时候再来进一步说明。既然如此般配,那么可以直接Python版的XGB训练好的Model,直接丢到XGBoost4j-spark中load,然后愉快的预测呢?说好的XGBoost4j-spark是Xgboost的分支项目的呢,这也不像亲儿子啊。
  • Spark Executor内存管理

    由于 Driver 的内存管理相对来说较为简单,本文主要对 Executor 的内存管理进行分析,下文中的 Spark 内存均特指 Executor 的内存。另外,Spark 1.6 之前使用的是静态内存管理 机制,StaticMemoryManager 也是 Spark 1.6 之前唯一的内存管理器。整个Executor内存区域分为两块:1. JVM堆外内存大小由 spark.yarn.executor.memoryOverhead 参数指定。默认大小为 executorMemory * 0.10, with minimum of 384m。此部分为用户代码及Spark 不可操作的内存,不足时可通过调整参数解决。内存占比为 UsableMemory * spark.memory.fraction * spark.memory.storageFraction,Spark 2+ 中,默认初始状态下 Storage Memory 和 Execution Memory 均约占系统总内存的30%。执行内存 主要用于存放 Shuffle、Join、Sort、Aggregation 等计算过程中的临时数据。
  • Pandas,数据处理的好帮手!

    最近做可视化视频,在处理数据的时候遇到了一些问题。下面来看一个全明星球员出场次数的统计。最后便可得到球员历年的数据情况,避免出现数据缺失的情况,具体代码如下。#读取数据df=pd.read_csv#添加次数列df['num']=1#进行行累加操作df['cumsum']=df.groupby['num'].transformdf.to_csv「列累加」,对每年的数据进行累加。代码如下,axis可转换轴。比如要选取特定区间内的数据内容,可以通过如下的代码。不仅有相关的技术文档。还有整理好的资源,文章or视频。
  • 不可不知的Spark调优点

    在利用Spark处理数据时,如果数据量不大,那么Spark的默认配置基本就能满足实际的业务场景。如果batchDuration设置过短,会导致SparkStreaming频繁提交job。如果每个batchDuration所产生的job不能在这个时间内完成处理,就会造成job不断堆积,最终导致SparkStreaming发生阻塞,甚至程序宕掉。需要根据不同的应用场景和硬件配置等确定,可以根据SparkStreaming的可视化监控界面,观察Total Delay等指标来进行batchDuration的调整。Apache Spark技术交流社区公众号,微信扫一扫关注
  • Delta Lake - 数据湖的数据可靠性

    今天笔者将分享一位大神关于 Delta Lake 的演讲内容。Delta Lake 提供了ACID事务、可伸缩的元数据处理以及统一的流和批数据处理。Delta Lake 将上面的整体解决方案转变为下图的解决方案。不断增长的社区包括 Presto, Spark 等Apache Spark 支持,流批统一Delta Lake 提供了一种工具,可以增量地提高数据质量,直到可以被有意义地消费。在 Delta Lake 中,数据被划分成了三个数据质量逻辑层次:BronzeSilverGold下面会依次介绍功能和作用。其实就是 Streams,数据流,通过 Delta Lake 增量地在不同层传送数据。Delta Lake 当然也支持批处理作业和标准的 DML。
  • Flink 状态(State)管理在推荐场景中的应用

    导语Flink 提供了灵活丰富的状态管理,可轻松解决数据之间的关联性。本文介绍了Flink 状态管理在推荐场景中的应用,大家结合自己的应用场景与业务逻辑,选择合适的状态管理。而Flink的State状态管理,更是让Flink在实时计算领域,更胜一筹。通过对Flink State状态的灵活妙用,可以完美实现大数据下的实时数仓,实时画像和实时数据监控等功能。并且Flink对数据流也是逐条处理,在低延时上明显优于Spark Streaming。最重要的,Flink在公司内部有专门的WStream平台,并由专业的团队维护。
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。