Apache Spark

阿里云MSE 2.0重磅发布,乘风破浪加速企业微服务化进程

若如初见. 提交于 2020-08-07 00:36:23
发布会传送门 点击了解产品详情 众所周知,注册中心和配置中心是Spring Cloud 和Dubbo 等微服务架构中的重要组件,往往采用 ZooKeeper/Nacos/Eureka/Apollo 等开源方案自建,但因其依赖复杂、变更频繁,往往给客户带来的较高的建设和运维成本,同时,在 Hbase、Spark或Kafka 等大数据的环境下,会依赖 ZooKeeper 进行分布式系统的协调,此时,基于云上的托管服务,可以极大的降低运维复杂度,并提高应用可用性。相比开源自建,微服务引擎MSE 通过提供的云上监控和运维能力、多机房和多区域容灾能力、自动宕机恢复能力,实现了99.9%的可用性保障,此外,MSE提供了多打25项的开源优化,提升了注册和配置中心的易用性和性能。3分钟便能完成接入,每月最低50.16元,更是从操作和价格上降低了企业的接入成本。 据微服务引擎MSE产品经理子墚介绍,“我们除了提供注册和配置中心的托管能力,还围绕困扰开发者微服务治理过程遇到的各类运维难题,提供了包括金丝雀发布、离群实例摘除、服务鉴权、无损下线、限流降级和全链路流控的高阶微服务治理能力,极大的降低了微服务的运维难度,其组件型的产品理念还帮助客户实现了云上应用的自主可控。“目前,已有包括陆德科技、吉递换电、趣练习、企迈云商等来自出行、物联网、在线教育、新零售等行业的客户正通过 MSE 来提升运维效率

Spark常见面试题

天大地大妈咪最大 提交于 2020-08-06 23:26:48
什么是RDD RDD是弹性分布式数据集,Spark最基本的数据集,它不可变、可分区、可并行计算。 弹性表示:可以将数据存储在内存或者磁盘,RDD的分区是可以改变的,task如果失败会进行特定次数的重试,stage如果失败会自动进行特定次数的重试且只会计算失败的分片,基于lineage的高效容错 RDD有什么特性 A list of partitions A function for computing each split A list of dependencies on other RDDs Optionally,a Partitioner for key-value RDDs(eg:to say that the RDD is hash-partitioned) 可选项,数据本地性,数据位置最优 map、flatMap与mapPartition的区别 map 函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象 flatMap函数则是两个操作的集合——正是“先映射后扁平化” 对每一条输入进行指定的操作,然后为每一条输入返回一个对象 将所有对象合并为一个对象 mapPartition每次处理一个分区的数据,但是可能导致OOM repartition和coalesce异同 前者会产生shuffle,后者不会

OSS数据湖实践——EMR + Spark + OSS案例

半城伤御伤魂 提交于 2020-08-06 19:43:24
本文介绍大数据分析引擎spark 基于EMR集群,利用OSS云存储数据,实现一个简单的分析案例。 前提条件 • 已注册阿里云账号,详情请参见注册云账号。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见角色授权。 • 已创建Haoop集群,且带有spark组件, 配置好相关的OSS数据源。 步骤一:数据上传至oss hadoop fs -put course2.csv oss://your-bucket-name/ 步骤二:编写处理代码,及打包 1、分析代码 import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.expressions.Window import org.apache.spark.sql.functions.row_number object OSSExample { def main(args: Array[String]): Unit = { val spark = SparkSession .builder .appName("OSSExample") .getOrCreate() val data=spark.read.format("csv").option("header","true").load("oss:/

OSS 数据湖实践 —— EMR+OSS入门

混江龙づ霸主 提交于 2020-08-06 13:32:24
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件;E-MapReduce(EMR)构建于云服务器ECS上,基于开源的Apache Hadoop和Apache Spark,可以方便地使用Hadoop和Spark生态系统中的其他周边系统(例如,Apache Hive、Apache Pig和HBase等)来分析和处理数据;E-MapReduce还可以与阿里云的云数据存储系统OSS进行数据传输,把二者各自优势结合起来,使存储计算分离,方便快捷搭建大数据计算环境,实现大数据分析需求。 前提条件 • 已注册阿里云账号,详情请参见 注册阿里云账号 。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见 角色授权 。 步骤一:创建EMR集群及相关配置 在使用spark 操作oss中的数据之前,您需要在本地安装MAVEN、JAVA、SCALA环境,以及在E-MapReduce上创建Hadoop集群。 1、在本地安装JAVA、MAVEN、SCALA环境; 2、登录阿里云 E-MapReduce控制台 ,创建Hadoop集群(可选服务中必选spark、smartdata、bigboot、knox服务) 3、在创建集群时,设置knox账号密码,挂载公网 及设置集群登录密码; 4

Java的前景如何,好不好自学?

左心房为你撑大大i 提交于 2020-08-06 11:35:29
Java前景如何?我负责任地说,Java非常有前景,因为使用Java的开发场景就非常非常多,可以说是多不胜数。 我刚参加工作的时候,使用Java开发网站应用,用JSP和Servlet,那时候J2EE已经被认为过重了,新的Java应用框架层出不穷,还用Java的Java Applet功能做过网页,当时就感觉Java这种语言非常全能。 后来,我去了Motorola,在Motorola开发一个手机平台,目标场景内是用Java开发手机应用,很不幸,这个项目中途夭折了(值得一提的是,这个项目解散之后不少美国同事去了Google,不久之后Google就推出了基于Java的Android平台,我错失了做出匹敌Android平台的机会。 再后来,我就来到了学致私教,我算是退出了开发的江湖了,但是我在做着比开发更有意义的事情,我在学致私教当老师了,是属于线上java技术开发指导学习,带着一群学习java 的小兄弟,正赶赴在java开发的光明大道上。 说这么多,其实就是想说明一点,Java的应用场景非常广泛,最初发明Java想要的是(代码一次编写,导出都可以运行),但是最初的发明人估计也没有想到Java应用如此广泛,所以,对于标题(Java的前景如何)的问题,我的回答就是——你只管放心的学习java,就业情景是十分的广阔。只要你的技术学的扎实,走到哪里你都是风景。不管你以后是进了哪一家企业

OSS数据湖实践——EMR + Flink + OSS案例

旧街凉风 提交于 2020-08-06 10:56:25
本文介绍使用Flink大数据分析引擎,基于EMR,利用OSS云存储数据,实现一个分析案例。 前提条件 • 已注册阿里云账号,详情请参见注册云账号。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见角色授权。 • 已创建Haoop集群,且带有spark组件。 • 相关更多配置请参考OSS入门文档。 步骤一:数据上传至oss hadoop fs -put course2.csv oss://your-bucket-name/ 步骤二:编写处理代码,及打包 package org.myorg.quickstart import org.apache.flink.api.scala._ import org.apache.flink.table.api.scala._ import org.apache.flink.table.api._ import org.apache.flink.table.api.TableEnvironment object OSSExample { def main(args: Array[String]) { // set up the batch execution environment case class Course(Id : Int, Subject : String, Level : String) val

深入解读Flink资源管理机制

跟風遠走 提交于 2020-08-06 10:09:15
作者:宋辛童(五藏) 整理:王文杰(Flink 社区志愿者) 摘要:本文根据 Apache Flink 系列直播整理而成,由阿里巴巴高级开发工程师宋辛童分享。文章主要从基本概念、当前机制与策略、未来发展方向等三个方面帮助开发者深入理解 Flink 的资源管理机制。 基本概念 当前机制与策略 未来发展方向 Tips: 点击「下方链接」可查看更多数仓系列视频~ https://ververica.cn/developers/flink-training-course-data-warehouse/ 1. 基本概念 1.1 相关组件 我们今天介绍的主要是与 Flink 资源管理相关的组件,我们知道一个 Flink Cluster 是由一个 Flink Master 和多个 Task Manager 组成的,Flink Master 和 Task Manager 是进程级组件,其他的组件都是进程内的组件。 图1. Flink 资源管理相关组件 如图1所示,一个 Flink Master 中有一个 Resource Manager 和多个 Job Manager ,Flink Master 中每一个 Job Manager 单独管理一个具体的 Job ,Job Manager 中的 Scheduler 组件负责调度执行该 Job 的 DAG 中所有 Task ,发出资源请求

Spark Streaming,Flink,Storm,Kafka Streams,Samza:如何选择流处理框架

笑着哭i 提交于 2020-08-06 06:48:29
![](https://img2020.cnblogs.com/blog/1089984/202006/1089984-20200610080225004-690722209.png) 根据最新的统计显示,仅在过去的两年中,当今世界上90%的数据都是在新产生的,每天创建2.5万亿字节的数据,并且随着新设备,传感器和技术的出现,数据增长速度可能会进一步加快。 从技术上讲,这意味着我们的大数据处理将变得更加复杂且更具挑战性。而且,许多用例(例如,移动应用广告,欺诈检测,出租车预订,病人监护等)都需要在数据到达时进行实时数据处理,以便做出快速可行的决策。这就是为什么分布式流处理在大数据世界中变得非常流行的原因。 如今,有许多可用的开源流框架。有趣的是,几乎所有它们都是相当新的,仅在最近几年才开发出来。因此,对于新手来说,很容易混淆流框架之间的理解和区分。在本文中,我将首先大致讨论流处理的类型和方面,然后比较最受欢迎的开源流框架:Flink,SparkStreaming,Storm,KafkaStream。我将尝试(简要地)解释它们的工作原理,它们的用例,优势,局限性,异同。 ## **什么是流/流处理:** 流处理的最优雅的定义是:一种数据处理引擎,其设计时考虑了无限的数据集。 与批处理不同,批处理以工作中的开始和结束为界,而工作是在处理有限数据之后完成的,而流处理则是指连续不断地处理天

【华为云技术分享】DLI跨源|当DLI遇见MongoDB

最后都变了- 提交于 2020-08-06 05:37:24
导语: MongoDB作为灵活高效易扩展的no-schema数据库,越来越受到互联网公司、游戏行业等开发者的青睐,但是MongoDB有着独特的语言接口,并不能很好满足数据分析师构建数据治理应用的需求,而数据湖探索DLI恰好解决了这一痛点。搭配华为云上DDS服务提供的MongoDB,DLI无需数据搬迁,便可以直接使用SQL分析,并且将分析后的数据导入OBS,RDS,DWS等更多的云上数据存储。当DLI遇见MongoDB,让数据不再成为“孤岛”。 一、X游戏公司的数据分析场景 X游戏公司最近新上了一款爆款手游A,日活突破百万,每月都能为X公司贡献数千万的利润。随着游戏业务量的迅猛发展,游戏数据分析师小鑫遇到了前所未有的挑战。 当时为了游戏快速上线,架构师选用华为云DDS服务提供的MongoDB数据库,用于用户数据存储。MongoDB高性能,易扩展,no-schema等特性,很好的支撑了游戏爆发式数据增长以及游戏玩法的快速更新迭代。但是,现在存储在MongoDB里的海量数据,犹如隐藏在群山中的矿脉,如何才能挖掘其中更大价值?如何筛选出优质客户从而提供更好地服务?如何分析用户行为,为游戏开发提供切实可行的数据支持?。。。种种数据分析需求,让小鑫抓狂了,他急需一种易用高效的分析工具,协助他完成数据挖掘任务。 二、MongoDB的数据存储 在解决小鑫的问题之前,让我们来了解一下MongoDB

你必须知道的云计算知识(上)

℡╲_俬逩灬. 提交于 2020-08-06 04:39:06
最近订阅学习了《深入浅出云计算》专栏,一口气学完之后,做了一些总结笔记形成此文,特分享与你,希望对你有所帮助!本文为上半部分,主要总结了IaaS篇的核心要点。 零、开篇词 1、开发者为何要学习云计算?   (1)历经多年发展已成熟并成为一种潮流, 企业数字化转型的组成部分。   (2)产业的发展必然影响个体:   未来更多的应用都会运行在云上,架构模式和思维方式也会更多地与云契合共生!   (3)很多人对云的特性还不够熟悉,对云产品存在误解甚至偏见。 2、开发者应该如何学习云计算?   尽可能多地结合应用场景来解析云的概念和能力, 学习“用云”而非“做云” ;对于我们程序员学习者而言,也是如此,重点放在用云上即可!   不进行“厂商绑定”而是同时观察运用多个主流云厂商的服务, 了解共性和差异性 ;对于我们学习者而言,先了解共性和差异,再重点放在企业所选择的云服务商提供的产品上重点关注! 一、Iaas篇   IaaS 的本质, 是对云数据中心和各类 IT 基础设施的抽象,是基于软件技术对物理硬件进行的封装和虚拟 。 1、区域和可用区   区域对应云厂商在 某个地理位置提供的所有云服务的组合 =>对外提供云服务的基本单位和容器;区域一般以国家或地区命名,也经常辅以城市和序号予以区分,例如:cn-hangzhou,cn-beijing,cn-chengdu等;