李孟聊人工智能
独立开源软件开发者,SolidUI作者。老程序员,老扑街作者,依然奋战在开源一线,依然继续写文章。
展开
-
Spark计算引擎实战汇总
文章目录一.安装二.理论基础三.实战2.1 hbase2.2 sql2.3 机器学习2.4 Graphx2.5 报错四.源码一.安装Spark介绍系列02–安装集群:https://limeng.blog.csdn.net/article/details/82803783hive on spark安装:https://limeng.blog.csdn.net/article/details/71023759二.理论基础Dataflow Model总结:https://limeng.blog原创 2020-12-31 17:44:22 · 1751 阅读 · 2 评论 -
Spark RDD 原理及源码汇总
文章目录一.介绍二.案例三.RDD 的核心特征和属性3.1 简介3.2 小结四.源码一.介绍RDD 作为 Spark 对于分布式数据模型的抽象,是构建 Spark 分布式内存计算引擎的基石。很多 Spark 核心概念与核心组件,如 DAG 和调度系统都衍生自 RDD。因此,深入理解 RDD 有利于你更全面、系统地学习 Spark 的工作原理。尽管 RDD API 使用频率越来越低,绝大多数人也都已经习惯于 DataFrame 和 Dataset API,但是,无论采用哪种 API 或是哪种开发语言,你原创 2021-10-17 19:16:51 · 567 阅读 · 0 评论 -
Spark 图计算实战
文章目录一.GraphX 介绍二.GraphX 实现分析2.1 图的切分方式2.2 数据处理2.3 BSP模型2.4 设计核心三.GraphX 实例3.1 创建3.2 转换操作3.2.1 基本信息3.2.2mapVertices3.2.3 mapEdges3.2.4 mapTriplets3.3 结构操作3.3.1 reverse3.3.2 subgraph(重点)3.3.3 mask3.3.4 groupEdges3.4 聚合操作3.4.1 collectNeighbors3.4.2 collectNei原创 2021-01-09 15:59:34 · 1444 阅读 · 1 评论 -
Spark REPL
文章目录一.Scala REPL二.Spark REPL三.总结一.Scala REPLscala repl(“Read-Evaluate-Print-Loop”) 是一个交互式命令行解释器,它提供了一个测试scala代码的环境。ILoop和IMain是其核心实现。属性有用的REPL功能包括:REPL的IMain绑定到$intp。REPL的最后一个异常绑定到lastException。使用标签完成。用于//print<tab>显示键入的重复标记。使用:help的命令列表。原创 2020-11-22 14:53:09 · 989 阅读 · 0 评论 -
Dataflow Model总结
一.简介The Dataflow Model 是 Google Research 于2015年发表的一篇流式处理领域的有指导性意义的论文,它对数据集特征和相应的计算方式进行了归纳总结,并针对大规模/无边界/乱序数据集,提出一种可以平衡准确性/延迟/处理成本的数据模型。这篇论文的目的不在于解决目前流计算引擎无法解决的问题,而是提供一个灵活的通用数据模型,可以无缝地切合不同的应用场景。二.CLC与CAPCAPIn a distributed system (a collection of inter原创 2020-10-13 20:11:00 · 909 阅读 · 1 评论 -
Pregel模型原理
一.图简介图数据结构可以很好的展示关联关系,关联性计算是大数据计算核心,Pregel是一种基于BSP模型实现的并行图处理系统。主要用于图遍历(BFS)、最短路径(SSSP)、PageRank计算等等计算。二.模型2.1 简介Pregel计算模型,输入是一个有向图,该有向图每个顶点(Vertex)是唯一,每个顶点都有属性,这些属性可以被修改,其初始值由用户定义,边也有属性,与顶点关联。消息(Message),消息是Pregel计算模型的核心。每个 Vertex 在初始状态以及之后的每一个计算步骤当中原创 2020-07-12 04:11:29 · 1398 阅读 · 0 评论 -
Spark-Graphx系列-基础用法
一.简介Spark GraphX是一个并行图计算框架,它是基于Spark平台提供对图计算和挖掘简洁易用的而丰富的接口,极大的方便了对饼形图处理的需求。在GraphX中,图的基础类为Graph,它包含两个RDD:一个为边RDD,另一个为顶点RDD。与其他图处理系统和图数据库相比,基于图概念和图处理原语的GraphX,它的一大优势在于,既可以将底层数据看作一个完整地图,使用图的概念和图处理原语:也可以将它们看作独立的边RDD和顶点RDD,使用数据并行处理原语,进行mapped、joined、transfor原创 2020-06-08 11:26:40 · 897 阅读 · 0 评论 -
导入hbase02-spark
导入hbase01本文引入spark hbase插入和批量插入。批量插入:用BulkLoad方法,具体介绍查看导入hbase01/** * Hbase 保存数据 * **/object TestHbaseDemo { val logger = LoggerFactory.getLogger(this.getClass)def insert(sc:SparkCon...原创 2018-06-11 18:03:43 · 727 阅读 · 0 评论 -
导入hbase01
数据导入有如下几种方式:1.利用HBase提供的ImportTsv将csv文件导入到HBase (舍弃)2.利用HBase提供的completebulkload将数据导入到HBase3.利用HBase提供的Import将数据导入到HBase(舍弃)实际生产环境上很难使用命令行的方式。毕竟源数据不可能直接用来写HBase。在数据迁移的过程中会涉及到数据清洗、整理归并等许多...原创 2018-04-30 18:50:53 · 751 阅读 · 0 评论 -
Spark2.4.0-CDH6.3 错误解决过程
1.背景最近环境切换到CDH6.3,用到Spark2.4,Hive2.1,Hadoop3.0,Beam等组件,Beam中嵌套了很多组件的原生API。2.安装2.1 Spark具体步骤略,照着网上文档按步骤就可以安装好,下面步骤,展示如何启动Master,Worker进程。安装目录:/opt/cloudera/parcels/CDH/lib/spark,操作主目录。sp...原创 2019-12-25 12:18:57 · 1973 阅读 · 2 评论 -
Spark-线性回归示例01
房屋普查,预测房价,最后预测结果不太准确,后续会调整,可能的原因:最直接原因指标项没有强线性关系,使用的参数不准确。只是为了熟悉下流程。import org.apache.spark.ml.feature.StandardScalerimport org.apache.spark.sql.types.{DoubleType, FloatType, StructField, Struct...原创 2019-06-12 15:45:52 · 1454 阅读 · 0 评论 -
Spark报错系列01
1.java.lang.NoClassDefFoundError: org/apache/spark/LoggingException in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/Logging at java.lang.ClassLoader.defineClass1(Native Method...原创 2019-02-13 16:38:58 · 911 阅读 · 0 评论 -
Hive on Spark 报错
1.自从spark2.0.0发布没有assembly的包了,在jars里面,是很多小jar包修改目录查找jar2.异常HiveConf of name hive.enable.spark.execution.engine does not exist在hive-site.xml中:hive.enable.spark.execution.engine过时了,配置删除...原创 2017-03-30 16:24:05 · 1104 阅读 · 1 评论 -
Spark介绍系列02--安装集群
一.介绍集群安装模式:独立 - 包含在Spark中的简单集群管理器,可以轻松设置集群。Apache Mesos - 一个通用的集群管理器,也可以运行Hadoop MapReduce和服务应用程序。Hadoop YARN - Hadoop 2中的资源管理器。本文是基于yarn的。二.安装1.安装前hadoop和zookeeper的安装,请参考...原创 2018-03-31 15:43:03 · 661 阅读 · 0 评论 -
SparkSql系列--需求01
一.需求介绍 前些天碰见个需求,摘取其中一小部分,有用户表,医院表,地区表,以医院和日期(天)的维度下,获取总数。 在数据仓库没有搭建好的情况下,从mysql库ode(源数据),处理完成导入到另一个库中,下面看图示意。 用户与医院是一对多的关系,这个是2B项目,医院分割用户,医院与地区是多对一的关系。在源数据库处理完数据结果保存到上述表中。二.技术介绍 ...原创 2018-04-23 00:51:33 · 1105 阅读 · 0 评论 -
hive on spark安装
承接安装系列环境背景:Hive默认使用MapReduce作为执行引擎,即Hive on mr。实际上,Hive还可以使用Tez和Spark作为其执行引擎,分别为Hive on Tez和Hive on Spark。由于MapReduce中间计算均需要写入磁盘,而Spark是放在内存中,所以总体来讲Spark比MapReduce快很多。因此,Hive on Spark也会比Hive on m...原创 2017-04-30 16:43:27 · 1802 阅读 · 0 评论 -
Spark源码系列03-任务提交02
url:spark源码系列03-任务提交0112. DAGScheduler getShuffleMapStage创建父Stageval stage =newOrUsedStage(……13. DAGScheduler newOrUsedStage递归val stage = newStage(rdd, numTasks, Some(shuffleDe...原创 2018-04-30 18:08:01 · 669 阅读 · 0 评论 -
Spark源码系列02-SparkContext
用的spark版本1.3+1.SparkSubmitbin/spark-submit --class xx.WordCount --master spark://ip:7077 --executor-memory 2g --total-executor-cores 42.WordCountnew()3.SparkContext该方法创建一个Actor...原创 2018-04-26 22:53:18 · 674 阅读 · 0 评论 -
Spark介绍系列05--RDD
url:Spark介绍系列04--RDD一.LineageRDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(即血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。二.RDD的缓存Spark速度非常快的原因之一,就是在不同...原创 2018-04-01 12:11:41 · 716 阅读 · 0 评论 -
spark源码系列01-Woker启动Executor过程并向Driver注册
spark版本是1.3+Woker启动Executor过程并向Driver注册时序图:1.launchExecutor Master发送消息让Worker启动Executor2.Worker new()Master 发送给Worker的消息,让Worker启动Execitor,LaunchExecutor是一个Case Class,里面封装以后要启动的Executo...原创 2018-04-26 12:28:08 · 936 阅读 · 0 评论 -
spark源码系列03-任务提交01
用spark版本1.3+val conf=new SparkConf().setAppName("WordCount") val sc=new SparkContext(conf) //构建RDD并调用Transformation //textFile创建一个hadoopRdd,产生一个MapPartitionsRDD //flatMap 产生一个...原创 2018-04-30 17:46:56 · 695 阅读 · 0 评论 -
Spark介绍系列04--RDD
url:Spark介绍系列03--RDD一.RDD的依赖关系RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。1.窄依赖上图左侧是父级窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用总结:窄依赖我们形象的比喻为独生子女2.宽依赖上图...原创 2018-04-01 11:26:57 · 652 阅读 · 0 评论 -
Spark介绍系列03--RDD
有些基础用法就不详细介绍,有疑问的伙伴互相交流。一.RDD的介绍RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地...原创 2018-04-01 10:56:42 · 646 阅读 · 0 评论 -
Spark介绍系列01
一.简介Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计...原创 2018-03-31 15:34:45 · 700 阅读 · 0 评论 -
SparkSql系列--需求02
承接SparkSql系列--需求01 点击打开链接import java.text.SimpleDateFormatimport java.utilimport java.util.{Calendar, Date, Properties}import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark....原创 2018-04-23 01:03:35 · 793 阅读 · 1 评论