Spark
文章平均质量分 85
sword_csdn
架构师
展开
-
【大数据分析】Yarn的工作流程
2、ResourceManager负责接收和处理来自客户端的用户请求,收到请求后,ResourceManager里面的Resource Scheduler会为应用程序分配一个container,同时,ResourceManager的Applications Manager会与container所在的NodeManager通信,为该应用程序在container中启动一个ApplicationMaster。原创 2023-05-30 13:18:37 · 381 阅读 · 0 评论 -
【大数据分析】Hbase的基本原理
(1).META.表,记录了用户所有表拆分出来的 Region 的映射信息,.META.可以有多个Region。(2)-ROOT- 表,记录了 .META. 表的 Region 信息,-ROOT- 自身只有一个 Region,无论如何不会分裂。Client 访问用户数据前需要首先访问ZK,找到 -ROOT- 表的 Region 所在的位置,然后访问 -ROOT- 表,接着访问 .META. 表,最后找到具体的数据的位置。原创 2023-05-30 13:13:41 · 966 阅读 · 0 评论 -
【大数据分析】基于Spark Graphx的AllPairNodeConnectivity算法实现
localnodeconnectivity是基于 Spark Graphx 中的 Pregel 机制实现的算法。关于Pregel机制的理解可参考【大数据分析】基于Graphx的shortestpath源码解析。localnodeconnectivity可以在有限的迭代次数内尽可能多地计算出起始点SSS和目标点TTT之间的独立路径。所谓独立路径,指的是它与其他路径除了SSS和TTT之外,没有重合的点。(1)TId代表指定的目标点TTT。(2)paths代表从SSS到TTT。原创 2022-10-31 17:12:43 · 371 阅读 · 0 评论 -
【大数据分析】基于Spark Graphx的图路径规划算法PathPlanning实现
PathPlanning是基于 Spark Graphx 中的 Pregel 机制实现的算法(关于Pregel机制的理解可参考【大数据分析】基于Graphx的shortestpath源码解析),它用于计算一个图中起始点SSS到目标点TTT的所有路径。假设有一份图数据的结构如下,SSS是起始点,TTT是目标点。代码中定义了两个case class类型和一个MsgValue类型。原创 2022-10-12 15:30:29 · 685 阅读 · 0 评论 -
【大数据分析】k-cores,一种基于图数据结构的分解方法
为了能够更好的处理大型图数据结构,有时需要将其按照要求进行分解,而k-cores便是其中一种方法。它可以从一个相对较大的图网络得到一个子图,这个子图中的所有节点的度都大于等于k。如下所示:假设以上是一个由节点集VVV,和边集EEE组成的图G=(V,E)G=(V,E)G=(V,E),外部不同颜色深度的“圈”所包含的子图,代表着计算不同k值时对应得到的子图Gsubgraph,kGsubgraph,k。例如:(1)当k=原创 2022-09-26 11:51:22 · 904 阅读 · 0 评论 -
【大数据分析】图的连通度(门格尔定理)
根据门格尔定理,为了计算使顶点s和顶点t分离所需要去除的顶点的最少数目,只需要求出顶点s和顶点t之间所有的简单路径。使得一对顶点分属于不同连通片所需去除的一组顶点称为这对顶点的点割集(Vertex cutset)。使得一对顶点分属于不同连通片所需去除的一组边称为这对顶点的边割集(Edge cutset)。中的所有其他的顶点都去除也无法使这两个顶点分别属于不同的连通片,所以定理一中要求两个顶点。分别属于不同的连通片所需取出的顶点的最少数目等于连接顶点。的独立的简单路径的最大数目。中不同的顶点,则使顶点。原创 2022-09-15 16:05:08 · 3190 阅读 · 0 评论 -
【大数据分析】FordFulkerson算法(JAVA实现)
(1)点连通度,一个图G至少要去掉多少个点会变成非连通图或者平凡图(连通图,任意两点之间至少存在一条路径)。(2)边连通度,一个图G至少要去掉多少条边才能变成非连通图。原创 2022-08-31 10:33:49 · 615 阅读 · 0 评论 -
【大数据分析】基于Graphx的shortestpath源码解析
Graphx 集成了shortestpath 最短路径算法,具体采用的是迪杰斯特拉算法,引用库为:org.apache.spark.graphx.lib.ShortestPaths。该算法用于计算图中所有的到目标点(点集)的距离。shortestpath的大致使用方法根据上面的代码可知:(1)landmarks 是需要被计算与 graph 所有节点距离的节点(作为目标点)。(2)landmarks 里的节点实际上也是 graph 中的节点,只是节点 id 被抽了出来。原创 2022-08-23 19:40:10 · 489 阅读 · 0 评论 -
【大数据分析】Spark的二次开发工程edata-base,介绍
edata-base是基于Spark的大数据二次开发库,它封装了Spark与其他常用中间的使用方法,使得基于Spark的开发更加简便。源码仓库地址httpsedata-base规定了SparkAPI与其他中间件API的版本,自定义Spark工程可以自行引用,edata-base-component引用了这个父工程。......原创 2022-07-26 11:52:57 · 798 阅读 · 1 评论 -
【大数据分析】Spark的transformation性能分析
(1)窄依赖(narrow dependencies)。父RDD的每个分区最多被子RDD的一个分区所引用。(2)宽依赖(wide dependencies)。父RDD的每个分区被多个子RDD所引用。例如,考虑以下代码 code_A从rdd1到rdd3的数据的变化如下图所示:从rdd1到rdd2属于窄依赖(narrow dependencies),因为rdd2中的每个分区数据仅从rdd1中的一个分区中得到。从rdd2到rdd3属于宽依赖(wide dependencies),因为rdd3中可能存在多个原创 2022-06-30 20:52:40 · 560 阅读 · 0 评论 -
【大数据分析】Spark的joins研究
数据的join操作(数据连接)对于数据分析来说是非常重要的组成部分,不管是Spark Core还是Spark SQL都支持joins的相同基本类型。joins一种很常见,但又最容易造成性能问题的操作。因为它可能会造成大量的网络传输,尤其是当使用Spark Core组件的时候,因为DAG optimizer(DAG 优化器)无法对数据进行重排列(按照列)并且降低filters的复杂度。在输入数据集的记录之间应用连接条件之后,join类型会影响join操作的结果,假设有两个数据表A和B。A表的数据如下:B表的数原创 2022-06-15 10:37:06 · 582 阅读 · 0 评论 -
【大数据分析】DataFrame,DataSets和SparkSQL
Spark SQL组件中DataFrame,DataSets跟RDDs相比,会有比较大的性能优势。(1)DataFrame和DataSet是一类带Schema的分布式数据结构。其中的Row对象不会造成额外的编译时类型检测成本。(2)额外的schema信息可以提供更高效的存储层(Tungsten)。(这里应该指的是DataFrame,DataSets这些存储数据结构,而不是HDFS等这些存储介质)(3)基于schema信息可以在优化器(Catalyst)中实现更多的优化操作。Tungsten是Spa原创 2022-06-08 11:43:02 · 347 阅读 · 0 评论 -
【大数据分析】Spark的高性能基本原理
目录简介Spark组件分布式弹性数据集(RDDs,Resilient Distributed Datasets)延迟执行(Lazy Evaluation)简介(1)Apache Spark是一个开源分布式计算框架,它提供并行处理通用数据的方法,用于对不同大小和结构的数据进行不同的数据处理任务。(2)Spark本身并不用于数据存储,它在 JVMs上执行,并只会持续一个Spark应用程序运行时的时间。(3)Spark支持在一台机器上本地运行(称为本地模式)。(4)Spark可以与分布式存储系统(例如,原创 2022-06-01 14:47:54 · 485 阅读 · 0 评论 -
【图分析】图算法,社团发现算法
目录社团发现算法介绍数据导入三角形计数和聚类系数局部聚类系数全局聚类系数三角形计数和聚类系数的用法Neo4j实现三角形计数Neo4j计算局部聚类系数强连通分量算法强连通分量算法Neo4j实现强连通分量算法连通分量算法Neo4j实现连通分量算法标签传播算法半监督学习和种子标签使用Neo4j实现标签传播算法Louvain模块度算法社团发现算法介绍(1)面向整体关系稠密度的三角形计数和聚类系数。(2)用于发现连通族的强连通分量算法和连通分量算法。(3)标签传播算法,可基于节点标签快速推断群组。(4)Lo原创 2021-01-25 13:43:58 · 1618 阅读 · 1 评论 -
【图分析】路径查找和图搜索算法
目录路径查找和图搜索算法简介图搜索算法对图的探究既可以是一般性发现,也可以是显式搜索。路径查找算法基于图搜索算法,探索节点之间的路径,从某个节点开始遍历关系,直到抵达目的地。路径查找和图搜索算法简介(1)最短路径算法以及两个有用的变体(A* 算法和Yen算法),用于查找两个选定节点之间的最短路径。(2)所有点对最短路径算法和单源最短路径算法。用于查找所有节点对之间的最短路径或从选定节点到其他各节点的最短路径。(3)最小生成树算法。用于查找连通的树结构,保证从选定节点访问其他各节点的代价最小。(4原创 2021-01-23 22:10:43 · 1675 阅读 · 0 评论 -
【图分析】中心性算法
目录中心性算法简介PageRank算法解释中心性算法用于理解图中特定节点的作用及其对网络的影响。这些算法可以帮助我们了解群组动态,例如可信度、可访问性、事物的传播速度以及群组之间的“桥梁”等。中心性算法简介度中心性算法:可作为连通度的基准指标。接近中心性算法:用于度量节点在群组中的中心程度。中间中心性算法:用于寻找控制点,包括一种近似的替代方法。PageRank算法:用于了解总体影响,包括流行的个性化选项。PageRank算法解释PageRank是衡量图中顶点的权值的一种方法。虽然PageR原创 2021-01-20 18:00:54 · 1754 阅读 · 0 评论 -
【图分析】图论及概念
目录术语图的类型和结构图的种类连通图与非连通图无权图与加权图无向图与有向图无环图与有环图稀疏图与稠密图单部图,二部图和k部图图算法的类型路径查找中心性社团发现术语性质可以包含多种数据,如数值、字符串以及空间数据和时态数据。例如上图中,Person节点的性质name取值为Dan,MARRIED_TO关系的性质on则取值为Jan 1, 2013。路径由一组节点及其连接关系构成。例如:一条简单的路径可以包含节点Dan、Ann和Car以及关系DRIVES和OWNS。图的类型和结构图的种类连通与不连通原创 2021-01-15 16:21:03 · 1968 阅读 · 0 评论 -
【大数据分析】GraphX:基础
目录顶点对象与边对象mapping操作三级目录顶点对象与边对象弹性分布式数据集(RDD)是构建Spark程序的基础模块,它提供了灵活、高效、并行化数据处理和容错等特性。在GraphX中,图的基础类为Graph,它包含两个RDD:一个为边RDD,另一个为顶点RDD。与其他图处理系统和图数据库相比,基于图概念和图处理原语的GraphX,它的一大优势在于,既可以将底层数据看作一个完整的图,使用图概念和图处理原语;也可以将它们看作独立的边RDD和顶点RDD,使用数据并行处理原语,进行mapped、joine原创 2020-06-19 16:18:18 · 814 阅读 · 0 评论 -
【大数据分析】GraphX:图
目录图基础图的数据类型图的属性图的分区图存储,分布式文件系统与图数据库图的专业术语解释有向图和无向图有环图和无环图有标签的图和无标签的图平行边和环二分图RDF图和属性图邻接矩阵图查询系统SPARQLCypherTinkerpop GremlinGraphX图基础现在图最常用于挖掘社交媒体数据,特别是识别出社交小圈子、推荐新的(社交)连接关系,或推荐产品和广告。这样的社交数据量很大,单机存储能力不够,这时就需要引入Spark,通过集群中的多台机器来存储数据。图的数据类型图表示的不同类型数据。网络结构数原创 2020-06-18 11:08:11 · 1524 阅读 · 0 评论 -
【图分析】使用Spark解析Shapefile文件
目录解析Shapefile需要用到的jar包解析Shapefile需要用到的jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.o原创 2020-08-25 09:54:17 · 459 阅读 · 0 评论 -
【图分析】使用Spark连接PostgreSQL进行聚类分析
目录示例数据的可视化连接PG数据库的准备解析geo_json的准备完整示例代码代码结果示例数据的可视化连接PG数据库的准备Spark连接PG需要用到以下jar包<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.14</version></de原创 2020-08-14 17:50:57 · 1164 阅读 · 0 评论 -
【大数据分析】ML:分类和聚类
目录Spark ML库Estimators、transformers和evaluatorsML参数Spark有两个机器学习库:MLlib和ML。它们都在积极发展,但是目前的发展重点更多的是ML库。Spark ML库ML相对于MLlib是比较新的机器学习库。创建新的机器学习库的原因是因为MLlib没有足够的伸缩和扩展性,也不足以在实际的机器学习项目中使用。ML的目标是概括机器学习操作和简化机器学习过程。受scikit-learn影响,它引入了可以组合形成管道的新的抽象概念——估计器、转换器和评估器。M原创 2020-06-15 13:48:25 · 2753 阅读 · 2 评论 -
【大数据分析】MLlib:线性回归实例
目录分析和准备数据分析数据分布分析列余弦相似性计算协方差矩阵转换为LabeledPoint拆分数据特征缩放和均值归一化拟合和使用线性回归模型现在使用MLlib的API实现下载房屋数据集,准备数据,拟合线性回归模型,使用模型预测示例目标值的过程。分析和准备数据从在线存储库下载房屋数据集(housing.data)(GitHub),并使用以下代码加载数据:val housingLines = sc.textFile("first-edition/ch07/housing.data", 6)val ho原创 2020-06-09 10:34:16 · 2002 阅读 · 3 评论 -
【大数据分析】MLlib:线性代数
目录本地向量和矩阵实现生成本地向量本地向量线性代数运算生成本地密集矩阵生成局部稀疏矩阵分布式矩阵RowMatrixIndexedRowMatrixCoordinateMatrixBlockMatrix具有分布式矩阵的线性代数运算线性代数是数学的分支,专注于向量空间和线性运算,它们之间的映射主要由矩阵表示。Spark中的矩阵和向量可以在本地或以分布式方式进行操作。Spark中分布式矩阵的实现使用户能够跨越大量机器对大量数据进行线性代数运算。对于局部线性代数操作,Spark使用非常快的Breeze和jblas原创 2020-06-02 20:03:47 · 551 阅读 · 0 评论 -
【大数据分析】Spark Streaming:外部数据源
目录使用Kafka,修改流应用程序使用Spark kafka连接器向kafka写入信息官方Spark连接器存在以下外部系统和协议:(1)kafka:分布式、快速、可扩展的发布订阅消息系统。(2)Flume:分布式、可靠的系统,用于收集、聚合和传输大量日志数据。(3)Amazon Kinesis:与Kafka类似的AWS流媒体平台(4)Twitter:社交网络的API服务(5)ZeroMQ:分布式消息系统(6)MQTT:轻量化发布/订阅消息传输协议使用Kafka,修改流应用程序使用Spark原创 2020-05-29 15:59:44 · 878 阅读 · 0 评论 -
【大数据分析】Spark Streaming:Spark Streaming应用程序(二)
目录随时保存计算状态随时保存计算状态有些计算只需要当前的小批量数据,有一些则需要通过考虑以前的小批量数据来获得,比如要计算前5名客户,则必须跟踪每个客户购买或出售的总金额。换句话说,需要跟踪一段时间并且是不同批次的数据的状态。可以使用updateStateByKey和mapWithState来跟踪状态,它们只适用包含键值元组的DStream。这两种方法都可以从PairDStreamFunction中获得。......原创 2020-05-29 11:40:02 · 295 阅读 · 0 评论 -
【大数据分析】Spark Streaming:Spark Streaming应用程序(一)
某些专业领域从实时数据分析中获利:流量监控、在线广告、股票市场交易等。许多案例需要可扩展的容错系统来摄入数据并进行分析,Spark Streaming具有用于从Hadoop兼容的文件系统(如HDFS和S3)和分布式系统(如Flume、Kafka和Twitter)读取数据的连接器。......原创 2020-05-21 17:12:08 · 422 阅读 · 0 评论 -
【大数据分析】Spark SQL查询: DataFrame的保存与加载
Spark内置支持多种文件格式和数据库。包括JDBC、Hive、Json、ORC、Parquet、MySQL、PostgreSQL。1、内置数据源Spark支持的数据格式每个都有各自的优点,对于何时使用何种格式需要结合具体的场景,内置数据源格式为Json、ORC、Parquet(1)JsonJson格式通常用于web开发,非常常见,简单易用,但是它不是一种有效的永久数据存储格式。(2)ORC优化的行列文件格式(ORC)旨在提供一种更有效的方式来存储Hive数据,以前是用于在Hadoo原创 2020-05-10 00:55:31 · 857 阅读 · 0 评论 -
【大数据分析】Spark SQL查询:使用SQL命令
对于使用关系型数据库或分布式数据库的用户可能更容易和更自然地使用SQL,比如Hive。在Spark SQL编写SQL命令时,它们将被转换为DataFrame上的操作。通过连接到Spark的Thrift服务器,它们可以通过标准的JDBC或ODBC协议从应用服务器连接到Spark。Spark支持两种SQL方言:SQL和HQL。Spark社区推荐的是HQL,因为HQL具有更丰富的功能。要使用HQL,......原创 2020-04-21 21:56:05 · 2893 阅读 · 0 评论 -
【大数据分析】Spark SQL查询:DataFrame
这篇文章的所有数据可以通过以下链接获取链接:https://pan.baidu.com/s/1-Vlo3S8tjMyM6E0kwGALwQ提取码:nlriDataFrame可处理结构化数据(按行和列组织的数据,其中每列仅包含特定类型的值)。原本SQL是处理这类数据最常用的方法,而Spark的SparkSQL组件集成了SQL的用法。1、DataFrameRDD代表了一种低级,直接......原创 2020-04-11 16:48:00 · 1725 阅读 · 0 评论 -
【大数据分析】Spark的API
目录假设营销部分希望根据一些规则向客户赠送产品。赠送产品的规则如下。(1)向交易最多的客户发送熊娃娃(2)购买两个或多个玩具套装可享受5%的折扣(3)为购买5本以上字典的客户赠送牙刷(4)发送两件睡衣给消费最多的客户并且数据文件如下:2015-03-30#6:55 AM#51#68#1#9506.212015-03-30#7:39 PM#99#86#5#4107.592015-0......原创 2020-03-28 16:19:20 · 588 阅读 · 0 评论 -
【大数据分析】MLlib,基本统计
MLlib Statistics 是统计模块。包括:汇总统计、相关系数分析、分层抽样、假设检验、随机数据生成等。原创 2020-03-20 20:05:00 · 686 阅读 · 0 评论 -
【大数据分析】基本RDD操作
目录MLlib介绍创建RDDMLlib介绍MLlib是Spark中可扩展的机器学习库,她由一些列机器学习算法和实用程序组成。包含:线性回归、逻辑回归、贝叶斯分类、决策树分类、KMeans、LDA、KNN、Apriori、FPGrowth、协同过滤、ALS、BP、RBF、SVM等,另外还包括一些深度学习算法。创建RDDRDD(Resilient Distributed Dataset),即......原创 2020-03-18 20:51:10 · 791 阅读 · 0 评论 -
【大数据分析】基于HDFS的高可用Spark完全分布式部署
除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下,里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。则使用下面命令,原来的known_hosts文件会被保存为known_hosts.old,新的known_hosts会生成。根据系统的不同,配置文件不同,此处为~/.bashrc,Centos是etc/bashrc。......原创 2020-01-11 16:50:14 · 841 阅读 · 0 评论 -
【大数据分析】Spark调优方案之资源参数调优
目录Job运行的基本原理参数调优资源参数调优shuffle参数调优Job运行的基本原理参数调优资源参数调优num-executors参数说明:该参数用于设置Spark作业总共要用多少个Executor进程来执行。参数调优建议:每个Spark作业的运行一般设置50-100个左右。executor-cores参数说明:该参数用于设置每个Executor进程的CPU core数量。参......原创 2019-11-18 11:15:58 · 376 阅读 · 0 评论 -
【大数据分析】Spark调优方案之数据倾斜调优
目录数据倾斜现象发生数据倾斜现象的原因定位发生数据倾斜的代码解决方法数据倾斜现象绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时。这种情况很常见。原本能够正常执行的Spark作业,突然报出OOM(内存溢出)异常,观察异常栈,是我们写的业务代码造成的。这种情况比较少见。发生数据......原创 2019-11-18 10:28:52 · 189 阅读 · 0 评论 -
【大数据分析】Spark调优方案之开发调优
目录开发调优避免使用重复的RDD尽可能复用一个RDD开发调优避免使用重复的RDD在开发一个Spark作业时,首先是基于某个数据源(比如Hive表或HDFS文件)创建一个初始的RDD,接着对这个RDD执行某个算子操作,然后得到下一个RDD;以此类推,循环往复,直到计算出最终需要的结果。在这个过程中,多个RDD会通过不同的算子操作(比如map、reduce等)串起来,这个“RDD串”,就是RDD......原创 2019-11-17 23:51:55 · 304 阅读 · 0 评论 -
【大数据分析】Spark介绍
这里写自定义目录标题关于Spark的几个概念新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入关于Spark的几......原创 2019-11-17 12:31:32 · 7472 阅读 · 0 评论