Apache Spark

Spark核心之Spark Streaming

非 Y 不嫁゛ 提交于 2020-10-01 09:08:24
前面说到Spark的核心技术的时候,有和大家说过,有五大核心技术,不知道大家还记不记得; 给大家回忆下,这五大核心技术:分布式计算引擎 Spark Core 、基于Hadoop的SQL解决方案 SparkSQL 、可以实现高吞吐量、具备容错机制的准实时流处理系统 Spark Streaming 、分布式图处理框架 Spark GraphX 和构建在Spark上的分布式机器学习库 Spark MLlib ,现在应该有个印象了吧,其它的我就不多说了,今天主要是对Spark Streaming做个简单介绍,以便理解。 Spark Streaming理解 Spark Streaming 是核心 Spark API 的扩展,支持可伸缩、高吞吐量、容错的实时数据流处理。数据可以从许多来源获取,如 Kafka、Flume、Kinesis 或 TCP sockets,可以使用复杂的算法处理数据,这些算法用高级函数表示,如 map、reduce、join 和 window。 最后,处理后的数据可以推送到文件系统、数据库和活动仪表板。实际上,还可以将 Spark 的 MLlib 机器学习和 GraphX 图形处理算法应用于数据流。Spark Streaming 处理的数据流如下图所示。 流是什么 ? 简单理解,就好比水流,是不是有源头,但不知道终点,有始没有终,你永远不知道水流什么时候结束

关于Windows10下Linux子系统Ubuntu的JDK环境、Hadoop环境配置以及Scala安装中出现的问题

吃可爱长大的小学妹 提交于 2020-10-01 01:48:00
Windows10下Linux子系统Ubuntu的JDK环境、Hadoop环境配置以及Scala安装中出现的问题 安装前提: 平台:Windows10电脑,预先下载好的Ubuntu子系统,不会下载的见教程: Windows10使用Linux子系统 这里我使用的是Ubuntu18.04.2 我们要开始学习大数据的相关内容,老师要求我们自行安装好Linux系统下的Scala软件并且配置好它所需要的JDK 环境和Hadoop环境。这里我主要参考了林子雨老师的安装教程,不得不说,林老师的安装教程太太太太太赞了!感谢林老师! 附上林子雨老师的安装链接: spark2.1.0入门:spark的安装与使用 Hadoop安装教程 注:链接的安装教程中老师已经给出他提供的百度网盘资源,包含这次教程所需要的全部安装文件,大家不必费心去找,再次感谢林子雨老师(太感动了)! 选择Windows下Linux子系统的优点:没有虚拟机+Ubuntu镜像文件配置那么繁琐,就Scala的学习还是够用的; 但是据我下载了VirtualBox并且安装完Ubuntu系统的室友说,按照林子雨老师的教程安装这两者也没出现多大问题,想要安装VirtualBox的同学也可一试。 教程中的步骤已经很完备,下面我主要说说我在安装过程中出现的问题: 关于hadoop用户的创建之后的登陆

大数据平台搭建包含哪些层级

為{幸葍}努か 提交于 2020-09-30 21:48:39
  大数据分析平台的搭建有利于帮助企业构建统一的数据存储和数据处理资源,围绕企业业务开展大数据应用建设,最终形成面向服务化的数据资产。而今天我们就来了解一下,常见的大数据平台都包含哪些层次?   1、数据采集层:分3个层面的采集技术进行支持,一是传统业务系统数据库和半结构化、结构化数据的采集和集成,如采用Sqoop技术进行关系数据库和Hadoop系统之间的数据抽取和交换;二是交通实时流数据的采集,包括实时传感器数据、定位轨迹数据和其他实时流数据;三是交通公共数据的采集,包括公网的数据爬取、开放平台的数据接口、行业公共数据库的数据交换等。对采集到的数据需进行提取、转换和加载(extract-transform-load,ETL)处理,包括数据抽取、转换、清洗和隐私脱敏等预处理工作,预处理集成后的数据进入交通大数据云存储中心。   2、数据存储层:交通领域数据规模巨大,数据存储层需设计基于云计算的分布式云存储系统,以支持海量数据的存储扩展。提供基于云的列式存储、NoSQL存储或数据仓库存储能力;根据业务需求和快速配置,可切换相应的分布式存储模式,还可根据需要对传统BI系统的数据仓库和数据集市进行集成。利用Hadoop集群提供PB级存储能力扩展,同时Hadoop YARN和Spark Mesos等集群资源管理框架可支持多种存储模式和计算模式在此基础上,对各类存储数据进行多粒度信息融合

MySQL的各种JOIN

喜夏-厌秋 提交于 2020-09-30 15:31:59
主题 : MySQL 的各种JOIN 大纲 : 1、徐老师从事多年官方MySQL工作,为众多企业提供MySQL帮助时,企业比较关心的问题是什么呢? 2、随着MySQL 8.0的成熟和推广,相信越来越多的公司希望升级MySQL 8.0,但又会担心低版本到高版本的升级会不会有兼容问题,徐老师能否分享下相关经验? 3、徐老师本次主题带来的是JOIN精彩内容,相比MySQL5.7,MySQL8.0在JOIN增强了哪些方面呢? 4、过多的“left join”经常会导致SQL性能很慢,徐老师可否分享下您对“left join”的建议或者注意事项呢? 扫一扫左边二维码, 立刻报名本次活动。 嘉宾自我介绍 徐轶韬 MySQL解决方案高级工程师 Oracle公司 MySQL解决方案工程师,为中国及东北亚地区的MySQL用户提供MySQL相关产品的售前咨询,企业级产品介绍服务以及推广和普及MySQL数据库在社区的使用 01 徐老师从事多年官方MySQL工作,为众多企业提供MySQL帮助时,企业比较关心的问题是什么呢? 企业比较关心的问题主要有三点: 一、在使用软件的过程中能不能得到保障?通过哪些方式提供保障?可以提供哪种程度的保障? 二、数据安全性。 三、合规的使用软件。 02 随着MySQL 8.0的成熟和推广,相信越来越多的公司希望升级MySQL 8.0

Flink部署及作业提交(On YARN)

你离开我真会死。 提交于 2020-09-30 08:47:29
Hadoop环境快速搭建 官方文档: YARN Setup 在上一篇 Flink部署及作业提交(On Flink Cluster) 文章中,我们介绍了如何编译部署Flink自身的资源分配和管理系统,并将作业提交到该系统上去运行。但通常来讲这种方式用得不多,因为在企业中,可能会使用不同的分布式计算框架,如Spark、Storm或MapReduce等。 如果每一种框架都需要搭建各自的资源分配和管理系统,就无法共享资源,导致资源利用率低。并且大多企业一般会使用Hadoop生态的相关组件做作为大数据处理平台的底座,如HDFS、Hive、YARN等。 其中 YARN 是资源调度框架、通用的资源管理系统,可以为上层应用提供统一的资源管理和调度,Spark、Flink、Storm等计算框架都可以集成到 YARN 上。如此一来这些计算框架可以享受整体的资源调度,进而提高集群资源的利用率,这也就是所谓的 xxx on YARN。因此,绝大部分企业都是将计算作业放到 YARN 上进行调度,而不是每种计算框架都单独搭一个资源分配和管理系统。这也是为什么要单独介绍Flink On YARN的原因。 想要让Flink作业跑在 YARN 上,我们首先得搭建一个Hadoop环境,为了简单这里只搭建单节点环境。我这里使用的是CDH的Hadoop发行版。下载地址如下: http://archive.cloudera

腾讯云 Serverless 衔接 Kafka 上下游数据流转实战

混江龙づ霸主 提交于 2020-09-30 07:32:19
腾讯云 CKafka 作为大数据架构中的关键组件,起到了数据聚合,流量削峰,消息管道的作用。在 CKafka 上下游中的数据流转中有各种优秀的开源解决方案。如 Logstash,File Beats,Spark,Flink 等等。本文将带来一种新的解决方案:Serverless Function。其在学习成本,维护成本,扩缩容能力等方面相对已有开源方案将有优异的表现。 作者简介:许文强,腾讯云 Ckafka 核心研发,精通 Kafka 及其周边生态。对 Serverless,消息队列等领域有较深的理解。专注于 Kafka 在公有云多租户和大规模集群场景下的性能分析和优化、及云上消息队列 serverless 化的相关探索。 Tencent Cloud Kafka 介绍 Tencent Cloud Kafka 是基于开源 Kafka 引擎研发的适合大规模公有云部署的 Cloud Kafka。是一款适合公有云部署、运行、运维的分布式的、高可靠、高吞吐和高可扩展的消息队列系统。它 100% 兼容开源的 Kafka API,目前主要支持开源的 0.9, 0.10, 1.1.1, 2.4.2 四个大版本 ,并提供向下兼容的能力。 目前 Tencent Cloud Kafka 维护了超过 4000+ 节点的集群,每日吞吐的消息量超过 9 万亿+条,峰值带宽达到了 800GB+/s,

闲鱼上199买来的Hadoop权威指南,感觉我还是太年轻了

人走茶凉 提交于 2020-09-30 02:49:35
迄今为止,Hadoop 的发展已经经历了两代,分别为Hadoop 1.0 和Hadoop 2.0。与《Hadoop 权威指南(第3版)》相比,第4版在重点介绍Hadoop 2.0的基础上,新增了对当前热门的Hadoop 技术(如YARN、Parquet、Flume、Crunch和Spark)的专门讲解,有助于Hadoop开发者更好地理解相关技术的背景、原理及使用。此外,第4版还引入了Hadoop在医疗健康领域和分子生物学领域的最新应用成果,并为此新增了相关的实例学习,这对广大Hadoop用户而言,具有更好的实践指导意义。 今天,Hadoop 开源项目已经成为研究大数据、开发大数据应用的重要平台,在我国已经形成一个庞大的Hadoop用户社群,他们对学习、掌握和提高Hadoop提出了很高的需求,《Hadoop权威指南》系列版本的推出恰好可以满足这样的需要。该书从第1版发行以来,历次再版后的畅销也证明了它的用途和价值。 本书结合理论和实践,由浅入深,全方位介绍了Hadoop这一高性能的海量数据处理和分析平台。全书5部分24章, 第I部分介绍Hadoop基础知识,主题涉及Hadoop、 MapReduce、 Hadoop分布式文件系统、YARN、Hadoop 的I/O操作。 第II部分介绍MapReduce,主题包括MapReduce应用开发; MapReduce 的工作机制

Kafka的精髓有哪些?阿里架构师把它全写在了这份笔记里

两盒软妹~` 提交于 2020-09-30 00:53:26
前言 分布式,是程序员必备技能之一,在面试过程中属于必备类的,在工作中更是会经常用到。而Kafka是一个分布式的基于发布订阅的消息队列,目前它的魅力是无穷的,对于Kafka的奥秘,还需要我们细细去探寻。 要谈对Kafka有多熟悉,我相信还是阿里的大佬们最有发言权,所以今天分享的内容,就是Alibaba内部供应的“限量笔记”,关于Kafka的精髓全部写在这里面了,不得不感叹:不愧是Alibaba的技术官啊,真的服了! 关于这份Kafka限量笔记,我只能在文章中展示部分的章节内容和核心截图,如果你需要完整的pdf版本,可以在文末免费领取哦。 一、对Kafka的认识 1.Kafka的基本概念 2.安装与配置 3.生产与消费 4.服务端参数配置 二、生产者 1.客户端开发 必要的参数配置 消息的发送 序列化 分区器 生产者拦截器 2.原理分析 整体架构 元数据的更新 3.重要的生产者参数 三、消费者 1.消费者与 消费组 2.客户端开发 必要的参数配置 订阅主题与分区 反序列化 消息消费 位移提交 控制或关闭消费 指定位移消费 再均衡 消费者拦截器 多线程实现 重要的消费者参数 四、主题与分区 1.主题的管理 创建主题 分区副本的分配 查看主题 修改主题 配置管理 主题端参数 删除主题 2.初识KafkaAdminCilent 基本使用 主题合法性验证 3.分区的管理 优先副本的选举

Scala系列8:函数式编程之map,flatten,flatmap的使用详解

人盡茶涼 提交于 2020-09-28 23:23:54
0.Scala函数式编程 我们将来使用Spark/Flink的大量业务代码都会使用到函数式编程。下面这些事开发中常用的函数式编程。注意这些函数都是操作 Scala 集合的,一般会进行两类操作:转换操作(transformation )和行动操作(actions)(有些人喜欢叫他为聚合操作)。第一种操作类型将集合转换为另一个集合,第二种操作类型返回某些类型的值。 遍历( foreach ) 映射( map ) 映射扁平化( flatmap ) 过滤( filter ) 是否存在( exists ) 排序( sorted 、 sortBy 、 sortWith ) 分组( groupBy ) 聚合计算( reduce ) 折叠( fold ) 1.map的使用详解 集合的映射操作是将来在编写Spark/Flink用得最多的操作,是我们必须要掌握的掌握。 map方法接收一个函数,将这个函数应用到每一个元素,返回一个新的列表 【1.1语法结构】 def map[B](f: (A) ⇒ B): TraversableOnce[B] 【1.2语法解释】 尖叫提示: 1.同foreach一样,map传入的参数也是函数,匿名函数 2. map 函数的逻辑是遍历集合中的元素并对每个元素调用函数。你也可以不调用任何函数,保持返回元素本身,但这样 map无法发挥作用,因为你在映射过后得到的是同样的集合。

基于JindoFS+OSS构建高效数据湖

不羁的心 提交于 2020-09-28 14:01:16
为什么要构建数据湖 大数据时代早期,Apache HDFS 是构建具有海量存储能力数据仓库的首选方案。随着云计算、大数据、AI 等技术的发展,所有云厂商都在不断完善自家的对象存储,来更好地适配 Apache Hadoop/Spark 大数据以及各种 AI 生态。由于对象存储有海量、安全、低成本、高可靠、易集成等优势,各种 IoT 设备、网站数据都把各种形式的原始文件存储在对象存储上,利用对象存储增强和拓展大数据 AI 也成为了业界共识,Apache Hadoop 社区也推出了原生的对象存储“Ozone”。从 HDFS 到对象存储,从数据仓库到数据湖,把所有的数据都放在一个统一的存储中,也可以更加高效地进行分析和处理。 对于云上的客户来说,如何构建自己的数据湖,早期的技术选型非常重要,随着数据量的不断增加,后续进行架构升级和数据迁移的成本也会增加。在云上使用 HDFS 构建大规模存储系统,已经暴露出来不少问题。HDFS 是 Hadoop 原生的存储系统,经过 10 年来的发展,HDFS 已经成为大数据生态的存储标准,但我们也看到 HDFS 虽然不断优化,但是 NameNode 单点瓶颈,JVM 瓶颈仍然影响着集群的扩展,从 1 PB到 100+ PB,需要不断的进行调优、集群拆分来,HDFS 可以支持到 EB 级别,但是投入很高的运维成本,来解决慢启动,心跳风暴,节点扩容、节点迁移