Apache Spark

[2019好程序员大数据教程]SparkGraphx从入门到精通(33集视频+源码+笔记)

懵懂的女人 提交于 2019-12-05 07:32:22
1、什么是 Spark GraphX ? Spark GraphX是一个分布式的图处理框架。社交网络中,用户与用户之间会存在错综复杂的联系,如微信、QQ、微博的用户之间的好友、关注等关系,构成了一张巨大的图,单机无法处理,只能使用分布式图处理框架处理,Spark GraphX就是一种分布式图处理框架。 2、 Spark GraphX 优点: 相对于其他分布式图计算框架,Graphx最大的贡献,也是大多数开发喜欢它的原因是,在Spark之上提供了一站式解决方案,可以方便且高效地完成图计算的一整套流水作业;即在实际开发中,可以使用核心模块来完成海量数据的清洗与与分析阶段,SQL模块来打通与数据仓库的通道,Streaming打造实时流处理通道,基于GraphX图计算算法来对网页中复杂的业务关系进行计算,最后使用MLLib以及SparkR来完成数据挖掘算法处理。 Spark GraphX的整体架构 (1)存储层和原语层:Graph类是图计算的核心类,内部含有VertexRDD、EdgeRDD和RDD。GraphImpl是Graph类的子类,实现了图操作。 (2)接口层:在底层RDD的基础之上实现Pragel模型,BSP模式的计算接口。 (3)算法层:基于Pregel接口实现了常用的图算法。包含:PageRank、SVDPlusPlus、TriangleCount

MaxCompute新功能发布

血红的双手。 提交于 2019-12-05 06:46:25
2018年Q3 MaxCompute重磅发布了一系列新功能。 本文对主要新功能和增强功能进行了概述。 实时交互式查询:Lightning on MaxCompute 生态兼容:Spark on MaxCompute New SQL 新特性发布 Python UDF全面开放 OSS外表功能正式商业化 Hash Clustering 存储技术升级:zstd压缩算法 作者: 云花 原文链接 本文为云栖社区原创内容,未经允许不得转载。 来源: oschina 链接: https://my.oschina.net/u/3552485/blog/2988601

10亿数据秒级展示,FineBI5.0的大数据支撑有个“幕后BOSS”!

流过昼夜 提交于 2019-12-05 04:38:04
随着各个业务系统的不断增加,以及各业务系统数据量不断激增,业务用户的分析诉求越来越多且变化很快,IT数据支撑方的工作变得越来越复杂。 1、数据来自多个不同的系统,存在需要跨数据源分析,需要对接各种不同数据源等问题。 2、需要分析的数据体量越来越大,并且要快速获得分析结果的问题。 3、部分数据还需要二次加工处理的问题。 为了解决日益激增的大数据量分析诉求,大部分公司会通过搭建Hadoop、Spark等大数据架构,配以BI工具做数据层面的分析,来搭建这样一整套大数据分析平台。 大数据分析很关键的一个点在于性能:取数快不快,分析响应快不快,能否实时? 这个问题除了平台的底层架构,BI的运行性能也有很大相关。 大家可能普遍认为的BI,就是一个数据展现工具,在前端看起来没有太多有技术含量的操作,但背后的逻辑十分复杂,实现难度也很大。就像看得到的是冰山一角,看不到的是海水下绝大部分的支撑。 好的BI工具都有与之依赖的数据引擎,数据引擎的作用一方面是数据响应的性能(数据量、速率),还有很重要的一点是能否适应企业不同业务情况的模式/方案。比如小数据快速读取,大数据分布式并行运算,节点数据实时展现等等..... FineBI V5.0版本就是一个可以支撑以上需求的工具,背后依赖的是Spider大数据引擎。 Spider高性能引擎可以支撑 10亿量级 数据在BI前端快速的拖拽分析和展示

Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式

我们两清 提交于 2019-12-05 01:07:15
Spark-Streaming获取kafka数据的两种方式-Receiver与Direct的方式,可以从代码中简单理解成Receiver方式是通过zookeeper来连接kafka队列,Direct方式是直接连接到kafka的节点上获取数据了。 一、基于Receiver的方式 这种方式使用Receiver来获取数据。Receiver是使用Kafka的高层次Consumer API来实现的。receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming启动的job会去处理那些数据。 然而,在默认的配置下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Spark Streaming的预写日志机制(Write Ahead Log,WAL)。该机制会同步地将接收到的Kafka数据写入分布式文件系统(比如HDFS)上的预写日志中。所以,即使底层节点出现了失败,也可以使用预写日志中的数据进行恢复。 java代码 JavaPairReceiverInputDStream<String,String> lines = KafkaUtils.createStream(jsc, kafkaZookeeper, kafkaGroup, topicmap,StorageLevel.MEMORY_AND

kafka direct方式获取数据解析

依然范特西╮ 提交于 2019-12-05 01:07:04
Receiver方式 处理流程 实际上做kafka receiver的时候,通过receiver来获取数据,这个时候,kafka receiver是使用的kafka高层次的comsumer api来实现的。receiver会从kafka中获取数据,然后把它存储到我们具体的Executor内存中。然后Spark streaming也就是driver中,会根据这获取到的数据,启动job去处理。 receiver缺点 已经拉取的数据消费失败后,会导致数据丢失。此问题虽然可以通过WAL方式或者Memory_and_Disc2解决,但是存在耗时等问题 使用了kafka consumer的高阶API,KafkaInputDStream的实现和我们常用的consumer实现类似,需要zk额外的记录偏移量 Direct方式 实现 在使用kafka接收消息时,都是调用了KafkaUtils里面createStream的不同实现。 receiver方式的实现方式如下。 /** * 创建一个inputStream,从kafkaBrokers上拉去消息,需要传入zk集群信息,默认会复制到另一个excutor */ def createStream( ssc: StreamingContext,// spark上下文 zkQuorum: String,// zk集群信息(hostname:port

宜信卢山巍:数据中台的“自动化数据治理”时代已来

狂风中的少年 提交于 2019-12-04 20:33:55
中台,我理解是能力的下沉,数据处理能力下沉为加工平台,数据处理结果下沉为数据资产。那么数据治理能否下沉?可以下沉出什么东西? ——宜信数据中台负责人 卢山巍 本文来源:宜信数据中台负责人卢山巍在亿欧产业互联网频道“数字中台创新”沙龙的分享实录 原文首发:亿欧 亿欧产业互联网频道10月24日在上海InnoSpace落地“数字中台创新”沙龙,活动汇聚了良品铺子电商技术中心总监罗轶群、爱驰汽车科技信息总监杭瑜峰、宜信数据中台负责人卢山巍、ThoughtWorks首席咨询师及极客时间《说透中台》专栏作者王健、亿欧华东负责人缪国成、亿欧产业互联网频道副主编黄志磊、亿欧产业互联网频道作者龚晨霞参与分享,就数字中台话题展开深度讨论。 宜信是一家成立于2006年从事普惠金融和财富管理业务的金融科技企业,2018年基于四大开源平台和中间件等技术,开始研发数据中台,并在宜信内部推广使用。目前,宜信的中台部门一共分为两大板块:数据中台和AI中台。 以下是卢山巍演讲观点梳理: 1、宜信数据中台指导思维:统一建设、敏捷开发 2、从开源到中台,关键词是自助化 3、数据治理,更依赖人治还是自治? 以下是演讲速记实录,经亿欧产业互联网频道整理,供行业人士参考。 大家下午好,我叫卢山巍,来自宜信。刚才听罗总高屋建瓴地介绍了中台的概念和应用,受益匪浅。我的分享会不太一样:第一,我有一个限定词是“数据”

spark ml - 逻辑回归分类

萝らか妹 提交于 2019-12-04 16:32:55
逻辑回归算法的参数说明 LogisticRegression 逻辑回归线性/分类算法,它的相关参数设置说明如下: <1> setMaxIter():设置最大迭代次数 <2> setRegParam(): 设置正则项的参数,控制损失函数与惩罚项的比例,防止整个训练过程过拟合,默认为0 <3> setElasticNetParam():使用L1范数还是L2范数 setElasticNetParam=0.0 为L2正则化; setElasticNetParam=1.0 为L1正则化; setElasticNetParam=(0.0,1.0) 为L1,L2组合 <4> setFeaturesCol():指定特征列的列名,传入Array类型,默认为features <5>setLabelCol():指定标签列的列名,传入String类型,默认为label <6>setPredictionCol():指定预测列的列名,默认为prediction <7>setFitIntercept(value:Boolean):是否需要偏置,默认为true(即是否需要y=wx+b中的b) <8>setStandardization(value:Boolean):模型训练时,是否对各特征值进行标准化处理,默认为true <9>fit:基于训练街训练出模型 <10>transform

Apache Zeppelin 中 Spark解释器

馋奶兔 提交于 2019-12-04 16:24:39
概述 Apache Spark是一种快速和通用的集群计算 系统 。它提供 Java ,Scala, Python 和R中的高级API,以及支持一般执行图的优化引擎。Zeppelin支持Apache Spark,Spark解释器组由5个解释器组成。 名称 类 描述 %spark SparkInterpreter 创建一个SparkContext并提供Scala环境 %spark.pyspark PySparkInterpreter 提供Python环境 %spark.r SparkRInterpreter 提供具有SparkR支持的R环境 %spark.sql SparkSQLInterpreter 提供SQL环境 %spark.dep DepInterpreter 依赖加载器 配置 Spark解释器可以配置为由Zeppelin提供的属性。您还可以设置表中未列出的其他Spark属性。有关其他属性的列表,请参阅Spark可用属性。 属性 默认 描述 ARGS Spark命令行参考 master local[*] Spark master uri. 例如:spark://masterhost:7077 spark.app.name Zeppelin Spark应用的名称。 spark.cores.max 要使用的核心总数。 空值使用所有可用的核心。 spark.executor

Spark internal

烂漫一生 提交于 2019-12-04 14:58:43
SparkStream 如何使用checkpoint ? 都 9102 年了,就不要用 RDD 和 DStream API 了吧…… DataFrame/Dataset 和 Structured Streaming 是在RDD 和 DStream 上层. Spark SQL and DataFrames Structured Streaming Programming Guide 来源: https://my.oschina.net/innovation/blog/3130277