spark
文章平均质量分 71
图特摩斯科技
数据库方向-图数仓的发明者,时序、多维、异构、动态+静态知识图谱数据库AbutionGraph发明者。
展开
-
AbutionGraph新特性-Spark3和2版本无感知切换与无缝对接兼容
兼容性问题说明我们在做多种大数据平台混合搭建的时候,首先第一件事是考虑兼容性,比如软件在迭代过程中增加与过时一些功能是家常便饭的事,绝大多数情况下并不会考虑别家的软件底层采用什么版本的框架,比如Jetty、jackson、configuration、guava等等,这些框架是开发大数据系统的必备工具,在AbutionGraph中也是如此,往往会因为这些工具在不同大数据平台上的版本不同而无法开发使用,如Spark3.1中的错误:Exception in thread "main" java.lang原创 2021-07-25 23:04:54 · 913 阅读 · 1 评论 -
SnappyData-一个构建在Spark上的支持实时HTAP场景的解决方案
1、设计目标 1、实时的OLTP+OLAP型的操作 2、数据规模在50TB-100TB以下:太大规模的数据(PB规模),还要求实时出结果的场景,并不是SnappyData的设计目标。 3、微批的流失写入:实时数据的写入最好按批次写入。例如列表上的频繁的基于点的update,效率并不是很高。 2、数据流 上图介绍了流数据的注入以及数据分析的过程,如下:1、当集群搭建完成,此时就可以从...转载 2018-03-28 14:53:30 · 1663 阅读 · 0 评论 -
Spark 提供的概率与统计算法 - 基本统计算法
spark-mllib 使用到了Breeze线性代数包,Breeze 采用了 metlib-java包来优化数字处理,但是由于版权问题,Breeze 中缺省不包含 netlib-java 的 native proxy,需要在项目中自行引用。 compile "org.apache.spark:spark-mllib_${scalaMajorVersion}:${s转载 2017-12-11 10:46:34 · 970 阅读 · 0 评论 -
用Spark学习FP Tree算法和PrefixSpan算法
原文:http://www.cnblogs.com/pinard/p/6340162.html 在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法。由于scikit-learn中没有关联算法的类库,而Spark MLlib有,本文的使用以Spark转载 2017-09-04 16:28:48 · 448 阅读 · 0 评论 -
如何基于spark做深度学习:从ML到keras、Elephas
http://blog.csdn.net/Richard_More/article/details/53215142分布式深层神经网络的Spark ML模型管线该笔记本描述了如何使用Spark ML为分布式版本的Keras深度学习模型构建机器学习流水线。作为数据集,我们使用来自Kaggle的Otto产品分类挑战。我们选择这个数据的原因是它很小,结构非常好。这样,我们可以更多地关注技转载 2017-08-04 10:42:44 · 4203 阅读 · 2 评论 -
「·部署·」安装与使用 Spark-jobServer
Spark-jobserver 提供了一个 RESTful 接口来提交和管理 spark 的 jobs、jars 和 job contexts。这个项目包含了完整的 Spark job server 的项目,包括单元测试和项目部署脚本。特性“Spark as Service”:针对 job 和 contexts 的各个方面提供了 REST 风格的 api 接口进行管理支原创 2017-04-06 17:33:58 · 4058 阅读 · 0 评论 -
warning: non-variable type argument Int in type pattern scala.collection.mutable.WrappedArray[Int] i
warning: non-variable type argument Int in type pattern scala.collection.mutable.WrappedArray[Int] is unchecked since it is eliminated by erasure问题: scala> indexes.rdd.foreach{ |原创 2017-04-06 17:30:28 · 1928 阅读 · 0 评论 -
Spark ML 去除噪声(离群值)的方法
------------------1.Bucketizer----------------------------------分箱(分段处理)将(连续数值)转换为离散类别。-- 应用(去除离群值)------------------2.QuantileDiscretizer(分位数离散化)---------------------------------和Bucketizer(分箱处理)一样:将连续数值特征转换为离散类别特征。实际上Class QuantileDiscretizer extends原创 2017-04-11 09:55:56 · 3863 阅读 · 2 评论 -
「报错」Spark: scala.MatchError (of class org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema
场景: 多分类出错代码:/** 词向量映射*/val hashingTF = new HashingTF().setInputCol("words").setOutputCol("rawFeatures").setNumFeatures(500). transform(DF_classAndDoc)/** 计算逆向文本频率 */val idf = new IDF原创 2017-04-10 11:31:25 · 12676 阅读 · 3 评论 -
Spark面对OOM问题的解决方法及优化总结
转载请保持完整性并注明来源链接: http://blog.csdn.net/yhb315279058/article/details/51035631 Spark中的OOM问题不外乎以下两种情况map执行中内存溢出shuffle后内存溢出 map执行中内存溢出代表了所有map类型的操作,包括:flatMap,filter,mapPatitions等。shuffl转载 2016-09-22 10:58:13 · 378 阅读 · 0 评论 -
spark 内存管理
从Spark 1.6版本开始,Spark采用Unified Memory Management这样一种新的内存管理模型。Spark中的内存使用分为两部分:执行(execution)与存储(storage)。执行内存主要用于shuffles、joins、sorts和aggregations,存储内存则用于缓存或者跨节点的内部数据传输。在Spark 1.6之前,这两部分内存的分配是静态的,以配转载 2016-09-22 10:36:19 · 405 阅读 · 0 评论 -
Spark-2.4 Deep Learning Pipelines (Keras)Image Claasifer
(原文链接)-这是Spark2018 Submit 的一个演讲Demo, 针对Keras图片分类和使用Spark做分类的方法做了讲解,供学习使用。keras_dlp_image_classifier(Python) Import NotebookPart 1: Exploring and Classifying Images with Pretrained ModelsWe wil...转载 2018-09-27 17:45:10 · 1052 阅读 · 0 评论 -
实现GraphX与GraphSON格式相互转换
摘要转换器实现了:1.根据用户输入的SparkContext,和文件路径,读取GraphSON格式文件,转换为GraphX所接受的graphRDD;2.用户输入GraphX的graphRDD,在指定文件路径输出GraphSON格式文件。相关版本Apache TinkerPop 3.3.3scala 2.11.8spark-graphx 2.11提示假设读者较为熟悉Graph...转载 2019-04-15 15:07:46 · 1733 阅读 · 0 评论 -
SparkJDBC并行查询RDBMS数据库的参数方法
当通过spark读取mysql时,如果数据量比较大,为了加快速度,通常会起多个task并行拉取mysql数据。api:defjdbc(url: String, table: String, columnName: String, lowerBound: Long, upperBound: Long, numPartitions: Int, connectionProperties: Pro...原创 2019-04-12 17:49:05 · 1319 阅读 · 1 评论 -
Spark结构化流处理与Kafka数据的-输出模式-方法汇总
原文:http://www.geeksense.cn/apache-spark-connect-with-kafka/编者按本文翻译自DataBricks官方博客,主要描述了Apache Spark 2.0中推出的新功能Structured Streaming(结构化流处理)从Kafka中读取消息,实时处理后再写入不同的下游系统的使用示例。结构化流处理API使得以一种兼具一...转载 2017-08-25 16:50:27 · 5733 阅读 · 4 评论 -
Structured Streaming与Flink比较
flink是标准的实时处理引擎,而且Spark的两个模块Spark Streaming和Structured Streaming都是基于微批处理的,不过现在Spark Streaming已经非常稳定基本都没有更新了,然后重点移到spark sql和structured Streaming了。Flink作为一个很好用的实时处理框架,也支持批处理,不仅提供了API的形式,也可以写sql文本。这...转载 2019-01-11 10:43:16 · 5369 阅读 · 0 评论 -
JAVA fasterxml.Jackson(ObjectMapper) 在SCALA中的用法
Jackson(ObjectMapper) 在SCALA中的用法maven配置: <properties> <fasterxml.jackson.version>2.6.5</fasterxml.jackson.version> </properties> <dependency>...原创 2018-12-17 16:13:08 · 4291 阅读 · 0 评论 -
Spark持续流处理与Flink比对
Spark流处理Spark从2.3版本开始引入了持续流式处理模型,可将流处理延迟降低至毫秒级别,让 Structured Streaming 达到了一个里程碑式的高度;使用 Pandas UDF 提升 PySpark 的性能;为 Spark 应用程序提供 Kubernetes 原生支持。出于某些原因的考虑,Spark 引入 Structured Streaming 将微批次处理从高级...原创 2018-11-19 19:41:17 · 3719 阅读 · 0 评论 -
大数据平台搭建:Hadoop-3.x + Spark-2.x + Hive-2.x + Hbase-1.4 + Phoenix-4.14 + Cassandra + ES
换了新笔记本,做个笔记。一,软件准备(自取所需)Java-1.8Scala-2.11Hadoop-3.1.1Spark-2.3.2Hive-2.3.4phoenix二,SSH免密码登录(即使是当地的单机也需要SSH,否则格式化的hadoop的存储系统时无权限,导致失败:本地主机:@localhost:权限被拒绝(公钥,密码)开始)ssh免密两步骤(...原创 2018-10-24 18:28:24 · 6509 阅读 · 4 评论 -
[MMLSpark]使用Spark Serving将模型部署为实时的Web服务
新东西,我们一起来尝鲜~~使用人口普查数据集(点击可下载)预测收入我们将使用Spark Serving将其部署为实时的Web服务。 首先,我们导入所需的包:import sysimport numpy as npimport pandas as pdimport mmlspark...原创 2018-10-25 17:58:09 · 4457 阅读 · 5 评论 -
Apache Spark Jobs 性能调优
Spark 是如何执行程序的选择正确的 Operator什么时候不发生 Shuffle什么情况下 Shuffle 越多越好二次排序结论调试资源分配调试并发压缩你的数据结构数据格式转载地址: http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-1/当你开始编写 Apac转载 2016-09-21 18:00:49 · 429 阅读 · 0 评论 -
Spark性能优化-------shuffle调优
影响一个Spark作业性能的因素,主要还是代码开发,资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分而已。负责shuffle过程的执行,计算和处理的组件主要就是ShuffleManager。SortShuffleManager运行原理SortShuffleManager的运行机制主要分为两种,一种是普通运行机制,另一种是bypass运行机制,转载 2016-09-21 17:56:31 · 1436 阅读 · 0 评论 -
SparkSQL实现查找Hive表集合中的多个元素匹配
sqlContext.sql("select app, word, priority, searchapp, searchcount, genre, type from ansearchapp LATERAL VIEW OUTER explode(searchapp) s AS app where app = %d " %g)原创 2016-08-11 19:31:29 · 4102 阅读 · 0 评论 -
python实现RDD转成聚类输入矩阵
//---------------------------- text = sc.textFile("file:///home/mysql1/word_text_new1/part-00000",1).map(lambda x: x.split("\t"))# text.first()//-------------------------------------初始化数据# 提取原创 2016-08-11 19:21:13 · 2141 阅读 · 0 评论 -
Spark在线广告点击预测
* 在线广告点击预测,若网页中广告发生点击计为1,否则0. * 每次曝光的特征向量由曝光事件的相关特征变量组成(如:用户、URL、网页id、网页内容、广告、广告客户、设备类型、事件、地理位置等其它相关因素) * * 概率模型:逻辑回归、朴素贝叶斯 * 非概率模型:SVM(最大间隔分类器)、决策树(可表达复杂的非线性模式和特征相互关系。信息增益:节点不纯度-基尼不纯+熵)原创 2016-06-30 16:42:16 · 2917 阅读 · 2 评论 -
基于Spark平台的电影推荐系统实现
* 推荐引擎相关概念概述: * 场景:1.可选项众多 2.偏个人喜好 * * 1.基于内容的过滤: 利用物品的内容或是属性信息以及某些相似度定义,来求出与该物品类似的物品。 * 2.基于用户的协同过滤: 利用大量已有的用户偏好来估计用户对其未接触过的物品的喜好程度。内在思想是相似度的定义。 * 3.两者的得分取决于若干用户或是物品之间依据相似度所构成的集合,即最近邻模型。 * * 1.计算给定用户对某个物品的预计评级: 从用户因子矩阵取相应的行和物品因子矩阵取原创 2016-06-29 17:07:35 · 9845 阅读 · 1 评论 -
PCA/SVD用于人脸图像数据
spark mllib 提供两种相似的降低维度的模型:主成分分析(PCA)和奇异值分解(SVD)用于在无监督学习中降低数据维度。 应用场景: 探索性数据分析; 提取特征区训练其它机器学习模型; 降低大型模型在预测阶段的存储和计算需求 把大量文档缩减为一组隐含话题; 当数据维度很高时,使得学习和推广更容易(如,处理文本、声音、图像、视频等非常高维的数据时)原创 2016-05-03 20:12:42 · 1385 阅读 · 1 评论 -
使用Spark构建聚类模型
将使用一个模型(推荐模型)的输出作为另外一个模型(聚类模型)的输入 import org.apache.spark.mllib.clustering.KMeans import org.apache.spark.mllib.linalg.Vectors import org.apache.spark.mllib.linalg.distributed.RowMatrix import org.原创 2016-05-01 15:53:31 · 3270 阅读 · 0 评论 -
[Spark优化]在Spark中使用Kryo序列化
conf.set(“spark.serializer”, “org.apache.spark.serializer.KryoSerializer”)conf.registerKryoClasses(Array(classOf[MyClass1], classOf[MyClass2]))val input = sc.newAPIHadoopFile(inputFile, classOf[lzoJsonInputFormat], classOf[LongWritable], classOf[MapWri原创 2016-05-10 21:26:42 · 14305 阅读 · 0 评论 -
pyspark使用 jupyter ,matplotlib, ipython
export PYSPARK_DRIVER_PYTHON=jupyter export IPYTHON=1 export PYSPARK_DRIVER_PYTHON_OPTS="jupyter notebook --port=8888 --ip=raini"--(正确用法)---- raini@biyuzhe:~/spark1$ sudo IPYTHON=1 PYSPARK_DRIVER_原创 2016-04-13 21:57:46 · 4612 阅读 · 0 评论 -
Spark reduce task数目设置,解决小任务过多slave挂掉
spark.default.parallelism=8原创 2016-09-08 17:29:52 · 6764 阅读 · 0 评论 -
Spark 2.0系列之SparkSession详解
原创 2016-08-23 刘旭坤(译者) Spark技术日报Spark2.0中引入了SparkSession的概念,它为用户提供了一个统一的切入点来使用Spark的各项功能,用户不但可以使用DataFrame和Dataset的各种API,学习Spark的难度也会大大降低。本文就SparkSession在Spark2.0中的功能和地位加以阐释。SparkSession的转载 2016-09-21 17:31:24 · 1057 阅读 · 0 评论 -
Spark性能优化-------开发调优
开发调优,知道Spark基本开发原则,包括:RDD lineage设计,算子的合理使用,特殊操作的优化等。原则一:不要对同一份数据重复创建RDD。原则二:尽量复用同一个RDD。原则三:对多次使用的RDD进行持久化对多次使用的RDD进行持久化,此时Spark就会根据你的持久化测量,将RDD的数据保存到内存或磁盘中。Spark的持久化级别:MEMORY_ON转载 2016-09-21 17:53:39 · 474 阅读 · 0 评论 -
Spark性能优化-------资源调优
为作业配置合适的资源,Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。Spark作业基本运行原理X使用spark-submit提交一个Spark作业后,这个作业就会启动一个对应的Driver进程,根据使用的部署模式(deploy-mode)不同,Driver进程可能在本地启动,也可能在集群中某个工作节点上启动。Driver进程本身会根据设置转载 2016-09-21 17:50:58 · 1063 阅读 · 0 评论 -
Spark性能优化------数据倾斜
常见的数据倾斜是怎么造成的?Shuffle的时候,将各个节点上相同的key拉取到某个节点的一个task进行处理,比如按照key进行聚合或join等操作,如果某个key对应的数据量特别大的话,就会发生数据倾斜现象。数据倾斜就成为了整个task运行时间的短板。触发shuffle的常见算子:distinct、groupByKey、reduceByKey、aggregateByKey、join、c转载 2016-09-21 17:48:46 · 549 阅读 · 0 评论 -
Spark排错与优化
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]一 运维Master挂掉standby重启也失效解决worker挂掉或假死解决二 运行错误shuffle FetchFailedException错误提示解决ExecutorTask Lost错误提示解决倾斜错误提示解决OOM转载 2016-09-21 17:41:58 · 611 阅读 · 0 评论 -
Spark map-side-join 关联优化
目录(?)[-]何时使用原理代码说明完整代码将多份数据进行关联是数据处理过程中非常普遍的用法,不过在分布式计算系统中,这个问题往往会变的非常麻烦,因为框架提供的 join 操作一般会将所有数据根据 key 发送到所有的 reduce 分区中去,也就是 shuffle 的过程。造成大量的网络以及磁盘IO消耗,运行效率极其低下,这个过程一般被称为 reduce-si转载 2016-09-21 17:36:59 · 470 阅读 · 0 评论 -
spark join broadcast优化
目录(?)[-]举例样本数据2000w性能测试对比实现代码spark15在大量数据中对一些字段进行关联。举例ipTable:需要进行关联的几千条ip数据(70k) hist:历史数据(百亿级别)直接join将会对所有数据进行shuffle,需要大量的io操作,相同的key会在同一个partition中进行处理,任务的并发度也收到了限制。转载 2016-09-21 17:38:19 · 1009 阅读 · 3 评论 -
解决spark中遇到的数据倾斜问题
目录(?)[-]一 数据倾斜的现象二 数据倾斜的原因数据问题spark使用问题三 数据倾斜的后果四 数据问题造成的数据倾斜找出异常的key解决办法举例五 spark使用不当造成的数据倾斜提高shuffle并行度使用map join 代替reduce join一. 数据倾斜的现象多数task执行速度较快,少数task执行时间非常转载 2016-09-21 17:38:39 · 499 阅读 · 0 评论 -
Spark性能优化(1)——序列化、内存、并行度、数据存储格式、Shuffle
序列化背景:在以下过程中,需要对数据进行序列化:shuffling data时需要通过网络传输数据RDD序列化到磁盘时性能优化点:Spark默认的序列化类型是Java序列化。Java序列化的优势是兼容性好,不需要自已注册类。劣势是性能差。为提升性能,建议使用Kryo序列化替代默认的Java序列化。Kryo序列化的优势是速度快,体积小,劣势是兼容性差,转载 2016-09-21 17:34:30 · 464 阅读 · 0 评论