![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
donger__chen
这个作者很懒,什么都没留下…
展开
-
pyspark窗口windows
pyspark窗口windows1. 根据滑窗计算统计量from pyspark.sql import Windows, SparkSessionimport pyspark.sql.functions as Fdata = spark.createDataFrame(...)# data.columns = ['A', 'B', 'C', 'D]# 对data按A作groupby分区,然后在每个分区内根据B做排序,并将当前行和前两行作为一个组合,计算每个组合内列C的总和和列D的平均值win=原创 2022-02-18 22:32:31 · 1073 阅读 · 0 评论 -
PYCHARM连接SPARK的配置
PYCHARM连接SPARK新增环境变量SPARK_HOMEPYSPARK_HOMEPYTHONPATH配置方式pycharm --> run --> edit configurations --> environment -> environment variables --> user environment variables 新增SPARK_HOME、PYSPARK_HOME、PYTHONPATH($SPARK_HOME/python/lib/py4j-原创 2021-05-24 20:24:07 · 356 阅读 · 0 评论 -
Ubuntu下如何用Intellij Idea运行scala及scala版spark
厦门大学数据库实验室转载 2020-01-01 15:22:23 · 869 阅读 · 0 评论 -
(转载)pyspark调用Logistic回归
转载于:原文from pyspark.sql import SparkSessionfrom pyspark.ml.feature import StringIndexerfrom pyspark.ml.classification import LogisticRegressionfrom pyspark.ml import Pipelinefrom pyspark.ml.feat...转载 2019-04-25 16:42:56 · 716 阅读 · 0 评论 -
spark工作流程
1.使用spark-submit提交脚本2.此时会产生一个Driver进程,Driver主要用来运行我们提交的代码3.spark脚本的开头通常是创建SparkContext的代码,Driver运行到此处时,先创建SparkContext对象,SparkContext会构建DAGScheduler和TaskScheduler4.TaskScheduler连接到集群的Master5.M...原创 2019-07-17 18:22:25 · 261 阅读 · 0 评论 -
Spark BlockManager
BlockManager:spark底层负责数据管理的组件。每一个节点上都有BlockManager,而Driver有BlockManagerMaster(Driver有DAGScheduler,DAGScheduler有BlockManagerMaster,BlockManagerMaster内有BlockManagerInfo,BlockManagerInfo内有BlockStatus),...原创 2019-07-17 16:45:03 · 196 阅读 · 0 评论 -
spark垃圾回收(GC)
参考:北风网 Spark 2.0从入门到精通垃圾回收器(Garbage Collect GC):寻找内存中哪些对象已不再使用,然后就清理掉这些对象,腾出空间用于创建其它新对象。GC的影响:1.GC对性能的影响在于,如果内存中数据量比较大时,会频繁造成内存空间不足,此时gc频繁发生,而gc发生是有性能消耗的。2.如果要回收的数据量特别大,gc的过程也会比较慢3.gc过程中会让ta...原创 2019-07-17 16:10:02 · 2354 阅读 · 0 评论 -
Spark机器学习的两种调包方式
1.MLlib#数据类型为 LabeledPoint#rdd -> LabeledPoint#LabeledPoint(y值,特征值)#y值为Dobule型#特征值为Vectors 为spark数据类型#导入 LabeledPoint包,Vectors包labeledpoint = RDD.map(lambda x:(x[0],Vectors.dense(x[1:]...原创 2019-05-29 20:24:04 · 555 阅读 · 0 评论 -
spark中join不产生shuffle的操作方式
(注:来源,spark大数据商业实战三部曲)在大数据处理场景中,多表join是常见的一类运算。为了便于求解,通常会将多表Join问题转为多个两表连接的问题。两表Join的实现算法非常多,一般我们会根据两表的数据特点选取不同的Join算法,其中,最常用的两个算法是map-side join和reduce-side join。map-side join也就是join不产生shuffle。Map...原创 2019-05-28 17:23:21 · 2259 阅读 · 5 评论 -
spark错误集
1. rdd明明有数据,toDF()后数据变成null了?第三列和第四列可现实的是int型,null的是string型原因:rdd允许一列有两种数据类型,而spark的dataframe不支持解决办法:只需要将数据类型统一即可2.dataframe数据类型兼容性差 比如:dataframe某一列的type是float,如果往这列加入int,则所有的int将会变成n...原创 2019-03-12 10:05:21 · 205 阅读 · 0 评论 -
spark持久化操作 persist(),cache()
spark对同一个RDD执行多次算法的默认原理:每次对一个RDD执行一个算子操作时,都会重新从源头处计算一遍。如果某一部分的数据在程序中需要反复使用,这样会增加时间的消耗。为了改善这个问题,spark提供了一个数据持久化的操作,我们可通过persist()或cache()将需要反复使用的数据加载在内存或硬盘当中,以备后用。以下是一个基于pyspark计数的测试#-*- encodin...原创 2019-01-12 17:34:25 · 6727 阅读 · 1 评论 -
Spark on yarn踩的坑
踩过的坑:(遇到就更新)1.启动后 jps 正常,但是hadoop UI界面检测不到从节点信息,重启后有可能修正2.添加节点,对hadoop -format 导致clusterID不一致,节点出现异常,上面讲过3.yarn界面检测到的核数量与内存大小与真实集群的不一致 yarn默认每台机器 8核8G 如果不是,则需要修改配置文件yarn-site.xml 添加(修改为...原创 2018-12-09 11:16:18 · 2009 阅读 · 0 评论 -
Spark完全分布式集群搭建
第一步:ssh免密登陆 详情局域网ssh登陆 添加hostsvim /etc/hosts#ip 对应的主机名202.4.136.218 master202.4.136.186 node1202.4.136.15 node2第二步:下载所需软件...原创 2018-11-29 23:08:24 · 661 阅读 · 0 评论 -
sparkstreaming下的第一个word count程序(python版)
首先从socket中读取数据,然后通过sparkstreaming统计输入的单词个数1.通过下面命令开启端口(报错则需安装 nc)nc -lk 99992.编写sparkstreaming.py代码from pyspark import SparkContextfrom pyspark.streaming import StreamingContext# Create a...原创 2019-10-06 19:27:22 · 338 阅读 · 0 评论 -
spark基础
Spark基础0、一个RDD分区对应一个task遇到一个action产生一个job遇到一次shuffle划分一个stage1、RDD的创建从本地文件或HDFS上加载数据val rdd = sc.textFile(文件地址)手动创建val rdd = sc.parallelize(Array(1,2,3,4,5))val rdd = sc.parallelize(Lis...原创 2020-02-19 22:34:08 · 114 阅读 · 0 评论 -
Pyspark 导入第三方包报错
pyspark导入第三方包的方式在spark-submit时添加参数 --py-filesspark-submit --py-files 文件1或py文件1,zip文件2或py文件2(多个文件用,分开)在sparkContext中使用addPyFilesc.addPyFile(“xxxx.zip”)或spark.sparkContext.addFile(“xxx.zip”)报错...原创 2019-12-13 13:23:48 · 2046 阅读 · 0 评论 -
Spark性能问题及调优方法
Spark性能问题及调优方法1.Spark算子调优最佳实践1.1 使用mapPartitions取代map操作如果在映射过程中需要频繁创建额外的对象,使用mapPartitions要比使用map高效。例1:将RDD中的所有数据通过JDBC连接写入数据库,如果使用map函数,那么每条数据都需要创建一个连接,开销很大;而如果使用mapPartitions,则只需要每个分区创建...原创 2019-12-02 22:29:38 · 295 阅读 · 0 评论 -
spark提交scala代码
目的:通过spark-submit提交scala代码scala代码需要先编译才能在spark上跑工具:sbt 下载地址sbt正式开始假设现在的地址是 /home/sparknode/scalacode,则需要先mkdir -p src/main/scala(路径必须严格遵守,少一个都不行)然后在 /home/sparknode/scal...原创 2019-08-11 22:08:04 · 2480 阅读 · 1 评论 -
Spark、Hadoop连接Hbase学习博客
1.pyspark连接hbase查找和写入数据厦门大学数据库实验室原创 2019-08-04 23:04:08 · 139 阅读 · 0 评论 -
Spark二次排序、自定义排序
//spark进行二次排序 先按第一列排,相等情况下按第二列排class SecondarySortKey(val first:Int,val second:Int) extends Ordered[SecondarySortKey] with Serializable{ //必须重写compare def compare(other:SecondarySortKey):Int ={...原创 2020-02-20 17:27:58 · 340 阅读 · 0 评论