Apache Spark

大数据(七十五)Spark【Spark Streaming介绍&WorldCount】

旧城冷巷雨未停 提交于 2020-08-12 13:48:12
一、Spark Streaming架构 如下图所示,DStream(Discretized Stream)是Spark Streaming的基础抽象,代表持续性的数据流和经过各种Spark原语操作后的结果数据流。DStream是一个抽象的概念,是一系列连续的RDD来表示。每个RDD含有一段时间间隔内的数据。在这一个时间间隔内进行RDD计算。 二、WorldCount java代码如下: package com.zjt; import java.util.Arrays; import org.apache.spark.SparkConf; import org.apache.spark.api.java.function.FlatMapFunction; import org.apache.spark.api.java.function.Function2; import org.apache.spark.api.java.function.PairFunction; import org.apache.spark.streaming.Durations; import org.apache.spark.streaming.api.java.JavaDStream; import org.apache.spark.streaming.api.java.JavaPairDStream;

连载:阿里巴巴大数据实践—数据开发平台

烂漫一生 提交于 2020-08-12 13:46:03
数据只有被整合和计算,才能被用于洞察商业规律,挖掘潜在信息,从而实现大数据价值,达到赋能于商业和创造价值的目的。面对海量的数据和复杂的计算,阿里巴巴的数据计算层包括两大体系: 数据存储及计算平台(离线计算平台MaxCompute和实时计算平台StreamCompute)、数据整合及管理体系(OneData) 。 阿里数据研发岗位的工作大致可以概括为: 了解需求→模型设计→ETL开发→测试→发布上线→日常运维→任务下线 。与传统的数据仓库开发(ETL)相比,阿里数据研发有如下几个特点: 业务变更频繁——业务发展非常快,业务需求多且变更频繁; 需要快速交付——业务驱动,需要快速给出结果; 频繁发布上线——迭代周期以天为单位,每天需要发布数次; 运维任务多——在集团公共层平均每个开发人员负责上百多个任务; 系统环境复杂——阿里平台系统多为自研,且为了保证业务的发展,平台系统的迭代速度较快,平台的稳定性压力较大。 通过统一的计算平台(MaxCompute)、统一的开发平台、统一的数据模型规范和统一的数据研发规范,可以在一定程度上解决数据研发的痛点。 本文主要介绍MaxCompute和阿里巴巴内部基于MaxCompute的大数据开发套件,并对在数据开发过程中经常遇到的问题和相关解决方案进行介绍。 1、统一计算平台

BigData:大数据的简介、核心知识(linux基础+Java/Python编程语言+Hadoop+Docker)、经典场景应用之详细攻略

不羁的心 提交于 2020-08-12 08:43:58
BigData:大数据的简介、核心知识(linux基础+Java/Python编程语言+Hadoop+Docker)、经典场景应用之详细攻略 BigData:大数据简介及以Hadoop生态系统为基础带你了解大数据必须掌握的那些知识(HDFS、HBase、Hive,Spark等等) 导读 : 大数定理 告诉我们,在试验不变的条件下,重复试验多次, 随机事件的频率近似于它概率 。“有规律的随机事件”在大量重复出现的条件下,往往呈现几乎必然的统计特性。 大数据的主要价值—— 辅助决策 。利用大数据分析,能够 总结经验、发现规律、预测趋势 ,这些都可以为辅助决策服务。 只有掌握的数据信息越多,人类的决策才能更加科学、精确、合理 。 目录 大数据简介 1、大数据的单位 2、大数据的5V特点——Volume、Velocity、Variety、Value、Veracity 3、大数据的价值体现 4、大数据与云计算密不可分 以Hadoop生态系统为基础带你了解大数据必须掌握的那些知识 大数据技术应用场景 1、经典应用场景 大数据核心技术 1、linux基础 2、编程语言——Java、Python 3、分布式存储框架——Hadoop生态系统+列式存储数据库HBase 4、资源调度框架——Docker 推荐文章 BigData之Hadoop:Hadoop的简介、深入理解、下载、案例应用之详细攻略

各种音视频编解码学习详解

与世无争的帅哥 提交于 2020-08-12 06:57:46
编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所以豆丁上看不出所以然,从 wiki上查。中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版也减肥得太过。我在网上还看到一个山寨的中文wiki,长得很像,红色的,叫“天下维客”。wiki的中文还是很不错的,但是阅读后建议再阅读英文。   我对媒体codec做了一些整理和总结,资料来源于wiki,小部分来源于网络博客的收集。网友资料我们将给出来源。如果资料已经转手几趟就没办法,雁过留声,我们只能给出某个轨迹。 基本概念 编解码   编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将 信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒体等应用中。 容器  

未来云原生世界的“领头羊”:容器批量计算项目Volcano 1.0版本发布

Deadly 提交于 2020-08-12 05:33:53
在刚刚结束的CLOUD NATIVE+ OPEN SOURCE Virtual Summit China 2020上,由华为云云原生团队主导的容器批量计算项目Volcano正式发布1.0版本,标志着Volcano项目已经开始走向成熟与稳定。 Volcano项目介绍 Volcano是基于Kubernetes的云原生批量计算引擎,基于华为云在AI、大数据领域的深厚业务积累,补齐了Kubernetes在面向AI、大数据、高性能计算等批量计算任务调度、编排等场景下的短板,向下支持鲲鹏、昇腾、X86等多元算力,向上使能TensorFlow、Spark、华为MindSpore等主流行业计算框架,让数据科学家和算法工程师充分享受到云原生技术所带来的高效计算与极致体验。 Volcano架构示意图 随着Kubernetes作为AI、大数据和高性能批量计算的下一代基础设施的趋势逐渐清晰,越来越多的企业对Kubernetes在深度学习、科学计算、高性能渲染等方面提出了更高的要求。 然而Kubernetes作为普适的容器化解决方案,仍与业务诉求存在一定差距,主要体现在: K8s的原生调度功能无法满足计算要求 K8s作业管理能力无法满足AI训练的复杂诉求 数据管理方面,缺少计算侧数据缓存能力,数据位置感知等功能 资源管理方面缺少分时共享,利用率低 硬件异构能力弱 Volcano的诞生正是基于这些痛点,在调度

飞天大数据产品价值解读— SaaS模式云数据仓库MaxCompute

我的未来我决定 提交于 2020-08-12 05:27:35
飞天大数据产品价值解读 — SaaS模式云数据仓库 MaxCompute 摘要:企业在数字化转型过程中面临数据技术平台建设和运营的诸多挑战,随着现代化数据仓库向多功能、服务化方向发展演进,技术侧的变革为解决企业数据平台各项挑战带来新的可能。MaxCompute作为阿里云飞天大数据中的数据仓库产品,已经成为了阿里内部及众多的外部客户广泛使用且高度信赖的企业数据平台。本次直播将为您介绍SaaS模式云数据仓库MaxCompute核心能力及优势,并结合大数据分析平台经典使用场景,为您介绍MaxCompute 为企业带来的业务敏捷性、面向分析统一平台、显著降低TCO等关键业务价值。 演讲嘉宾简介:曲宁,阿里云智能产品专家。 本次分享主要围绕以下五个方面: 一、飞天大数据平台解决方案 二、MaxCompute:SaaS模式企业级云数据仓库 三、MaxCompute产品价值 四、基于MaxCompute的解决方案及案例介绍 五、总结 一、飞天大数据平台解决方案 企业级数字化转型挑战 目前,企业在数字化转型过程中面临着很多的挑战,这些挑战可以分为几类问题:首先,企业主要以应用为导向,快速的满足业务需求。为了满足不同部门的业务需求,建立了很多数据平台,这些平台缺乏整体规划,形成了很多的数据孤岛,数据共享成本高,缺乏企业级统一的数据获取出口,难以自助分析。 其次

上海宝付Hadoop数据操作系统YARN全解析

Deadly 提交于 2020-08-12 04:38:46
Hadoop YARN的生态系统 为了能够对集群中的资源进行统一管理和调度,Hadoop 2.0引入了数据操作系统YARN。YARN的引入,大大提高了集群的资源利用率,并降低了集群管理成本。首先,YARN允许多个应用程序运行在一个集群中,并将资源按需分配给它们,这大大提高了资源利用率,其次,YARN允许各类短作业和长服务混合部署在一个集群中,并提供了容错、资源隔离及负载均衡等方面的支持,这大大简化了作业和服务的部署和管理成本。 YARN总体上采用master/slave架构,如图1所示,其中,master被称为ResourceManager,slave被称为NodeManager,ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个程序的ApplicationMaster,它负责向ResourceManager申请资源,并要求NodeManger启动可以占用一定资源的Container。由于不同的ApplicationMaster被分布到不同的节点上,并通过一定的隔离机制进行了资源隔离,因此它们之间不会相互影响。 YARN中的资源管理和调度功能由资源调度器负责,它是Hadoop YARN中最核心的组件之一,是ResourceManager中的一个插拔式服务组件

pyspark入门

回眸只為那壹抹淺笑 提交于 2020-08-12 03:59:38
python脚本方式执行spark程序,好处是不用编译,写完就走! 示例脚本如下: from pyspark import SparkConf, SparkContext conf = SparkConf().setAppName("myTest").setMaster("local") sc = SparkContext(conf=conf) x = [1,2,3] rdd = sc.parallelize(x) count=rdd.count() print("len=",count) # read textfile rdd2=sc.textFile("c:\\spark\\doc\\word.txt") def f(x):return print(x) rdd2.foreach(f) print("rdd2:",rdd2.count()) 保存为"test1.py"文件。然后执行spark-submit test1.py提交执行即可。 pyspark比scala方式要方便多了。 word.txt内容: hello world 1 执行结果: len= 3 hello workd 1 rdd2: 3 来源: oschina 链接: https://my.oschina.net/u/778683/blog/4403693

Spark job提交流程源代码分析

末鹿安然 提交于 2020-08-12 02:01:06
Spark job相关概念 job spark程序遇到一个action算子时就会提交一个job,一般一个spark应用程序会触发多个job。 stage 一个job通常包含一个或多个stage,每个stage里的task可以并行执行,stage的划分依据是宽依赖,当出现了宽依赖就会划分出一个新的stage。 task task是spark的基本执行单元,Task 分为ShuffleMapTask和ResultTask。 spark job提交过程主要分为两个阶段: DAGScheduler将job划分为多个stage,每个stage里的任务也叫做一个TaskSet。 TaskScheduler将每个stage(TaskSet)里的任务提交到所有的Executor上运行。 源代码分析 1.stage划分 为了追踪job提交流程,这里选择collect算子。 def collect [ U : ClassTag ] ( f : PartialFunction [ T , U ] ) : RDD [ U ] = withScope { // 调用runJob val results = sc . runJob ( this , ( iter : Iterator [ T ] ) = > iter . toArray ) Array . concat ( results : _ * ) }

Flink详细笔记(一) Flink简介

送分小仙女□ 提交于 2020-08-11 22:22:13
随着5G时代的到来,未来都将会是万物互联,各种各样的设备都会与网络连接起来。未来有无人驾驶、很多的设备都能接入到5G,会有大量的数据产生。 以后这些数据都将需要做实时分析,有人把Flink归类为第三代大数据引擎。第一代:Hadoop、第二代:Spark 。 1.什么是 Flink Flink官网:https://flink.apache.org/ Apache Flink 是一个分布式大数据处理引擎,可对1.有限数据流和2.无线数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速计算。 名词解释: 有限数据流:即数据已经产生,数据大小已经确定。数据有限,可以做离线计算; 无限数据流:即数据流一旦产生,不知道什么时候结束。比如:数据实时写入到Kafka。数据无限,可以做实时计算。 1.1.Flink设计初衷 Flink 设计之初,就是为实时计算而设计的。但是因为其计算引擎过于强大,所以也可以做离线计算。它可以部署在各种各样的集群中,比如 Flink自己的 standalone 集群,flink on yarn部署,Flink 还可以跑在K8S上,Flink 还可以跑在各种各样的集群上。Flink为了开发测试比较方便,还可以使用单机模式。可以对各种大小规模的数据进行快速计算。特点就是:快。 1.2.Flink历史介绍 早在 2008年,Flink