精华内容
下载资源
问答
  • Spark依赖

    2019-11-04 00:27:05
    关于Spark依赖 net.sourceforge.javacsv javacsv 2.0 junit junit 4.11 test org.apache.spark spark-core_2.11 ${spark.version} provided org.apache.spark spark-sq...

    关于Spark依赖


    net.sourceforge.javacsv
    javacsv
    2.0

    junit junit 4.11 test org.apache.spark spark-core_2.11 ${spark.version} provided org.apache.spark spark-sql_2.11 ${spark.version} provided org.apache.spark spark-mllib_2.11 ${spark.version} org.apache.spark spark-sql_2.11 ${spark.version} org.yaml snakeyaml 1.21 org.apache.commons commons-lang3 3.9 junit junit 4.13-beta-3 org.scala-lang scala-library 2.11.8 org.apache.spark spark-sql_2.11 ${spark.version} provided net.alchim31.maven scala-maven-plugin 3.2.2 2.11 2.11.8
    展开全文
  • spark依赖

    2021-01-07 15:46:34
    – 4.0.0 com.bjsxt.spark MySpark 1.0-SNAPSHOT – UTF-8 1.8 1.8 – ...org.apache.spark spark-core_2.11 ...org.apache.spark spark-sql_2.11 ...org.apache.spark spark-hive_2.11 ...org.apache.spark ...spark-streamin
  • Spark 依赖

    2019-02-24 08:18:19
    Spark依赖分为宽依赖和窄依赖: 窄依赖 子RDD的每个分区依赖于常数个(即与数据规模无关) 输入输出一对一的算子,且结果RDD的分区结构不变,主要是map、flatMap 输入输出一对一,但结果RDD的分区结构发生了变化...

    Spark依赖分为宽依赖和窄依赖:

    窄依赖
    子RDD的每个分区依赖于常数个(即与数据规模无关)
    输入输出一对一的算子,且结果RDD的分区结构不变,主要是map、flatMap
    输入输出一对一,但结果RDD的分区结构发生了变化,如 union、coalesce
    从输入中选择部分元素的算子,如filter、distinct、subtract、sample

    宽依赖

    子RDD的每个分区依赖于所有父RDD分区

    对单个RDD基于key进行重组和reduce,如 groupByKey、reduceByKey‘
    对两个RDD基于key进行join和重组,如join
    区分宽依赖和窄依赖是根据父RDD的每个分区数据给多少个子RDD的每个分区数据:
    1 -> 1 :窄依赖
    1 -> N :宽依赖,有宽依赖的地方必有shuffle

    Spark Shuffle
    Shuffle过程的解析
    在Spark RDD的计算处理的过程中,每个宽依赖都伴随着Shuffle。
    首先看Shuffle过程

    依图所示:
    假设有一个节点,上面运行了3个shuffleMapTask,每个shuffleMapTask,都会为每个ReduceTask创建一份bucket缓存以及对应的ShuffleBlockFile磁盘文件,shuffleMapTask的输出,会作为MapStatus,发送到DAGScheduler的MapOutputTrackerMaster中,每个MapStatus包含了每个ReduceTask要拉取的数据的大小。
    假设有另外一个节点,上面也运行了4个ReduceTask,现在等着去获取ShuffleMapTask的输出数据,来完成程序定义的算子,而ReduceTask会用BlockStoreShuffleFetcher去MapOutputTrackerMaster获取自己要拉取的文件的信息,然后底层通过BlockManager将数据拉取过来。每个ReduceTask拉取过来的数据,其实就会组成一个内部的RDD,叫shuffleRDD,优先放入内存,其次如果内存不够,那么写入磁盘,最后每个ReduceTask针对数据进行聚合,最后生成MapPartitionRDD,就是执行reduceByKey等操作希望获得的RDD。

    展开全文
  • Spark依赖包加载顺序和冲突解决方案

    千次阅读 2019-05-31 21:16:43
    Spark 依赖包来源 我们知道Spark application运行加载依赖有三个地方: SystemClasspath -- Spark安装时候提供的依赖Spark-submit --jars 提交的依赖Spark-submit --config "spark.{driver/executor}....

     

    Spark 依赖包来源

    我们知道Spark application运行加载依赖有三个地方:

    • SystemClasspath -- Spark安装时候提供的依赖包      【SystemClassPath】
    • Spark-submit --jars 提交的依赖包                               【UserClassPath】
    • Spark-submit app.jar或者shadowJar打的jar               【UserClassPath】

     

    Spark 依赖包默认优先级

    通过测试发现class的默认加载顺序如下:

    1. SystemClasspath -- Spark安装时候提供的依赖包

    2. UserClassPath   -- Spark-submit --jars 提交的依赖包 或用户的app.jar

     

    SystemClasspath 系统安装的包,默认优先使用环境的包,这样更加稳定安全。

    spark-submit --jars 在默认spark环境里没有需要的包时,自己上传提供。

     

    观察方法: spark-submit 的时候添加参数

    --driver-java-options -verbose:class

     

    测试环境: 

    SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354

    1.8.0_171 (Oracle Corporation)

     

    查看环境包依赖情况: Environment tab里搜索想要的依赖包。

     

     

    依赖包冲突解决方案

     

    • spark.{driver/executor}.userClassPathFirst   

    该配置的意思是优先使用用户路径下的依赖包。通常是系统默认提供的依赖包版本较低,需要使用用户自己提供的依赖包,使用该选项可以很好的解决90%的问题。

     

    • spark.{driver/executor}.extraClassPath 

    某些时候同一个类的两个不同版本被加载进ClassLoader,link的时候发生错误。这种冲突就需要使用extraClassPath手动指定版本。该选项指定的依赖包具有最高优先级。缺点是只能指定一个包。

     

    注意:extraClassPath=jarName 不用给path。 例如:

    --jars snappy-java-version.jar   \
    --conf "spark.driver.extraClassPath=snappy-java-version.jar" \
    --conf "spark.executor.extraClassPath=snappy-java-version.jar" \

     

    比如曾经的例子 snappy-java包冲突:

    https://blog.csdn.net/adorechen/article/details/80109625

    使用userClassPathFirst后,报如下错误:

    org.xerial.snappy.SnappyNative.maxCompressedLength(I)I
    java.lang.UnsatisfiedLinkError: org.xerial.snappy.SnappyNative.maxCompressedLength(I)I

    通过 “--driver-java-options -verbose:class” 查看加载的类:SnappyNative分别从两个包snappy-java-1.1.4.jar [UserClassPath], snappy-java-1.0.4.1.jar [SystemClassPath] 加载进入ClassLoader,

    link的时候不能确定使用哪个版本就报上面的错误。这种情况就必须使用“extraClassPath”来解决。

     

     

    总结

    A)在我们提交一个spark2 程序时,系统没有的包--jars 提交;

    B)在需要使用系统中已有的包的不同版本时,使用spark.{driver/executor}.userClassPathFirst/extraClassPath来指定。

     

    参考文章:

    spark runtime configuration 

    Override libraries for spark

     

     

     

    展开全文
  • spark-submit时,发现上传spark依赖到hdfs 时间长达数分钟,现象如下方截图: 这个日志之后在上传程序依赖的jar,根据不同网络负荷,需要耗时数十秒甚至数分钟,导致任务提交速度超级慢,在官网上查到出现这种...

    spark-submit时,发现上传spark依赖到hdfs 时间长达数分钟,现象如下方截图:

    这个日志之后在上传程序依赖的jar,根据不同网络负荷,需要耗时数十秒甚至数分钟,导致任务提交速度超级慢,在官网上查到出现这种现象的原因:https://spark.apache.org/docs/2.1.1/running-on-yarn.html

    翻译过来就是: 要想在yarn spark的runtime jars,需要指定spark.yarn.archive 或者 spark.yarn.jars。如果都这两个参数都没有指定,spark就会把$SPARK_HOME/jars/所有的jar上传到分布式缓存中

    下面是解决方案:

    1. 将$SPARK_HOME/jars/* 下spark运行依赖的jar上传到hdfs上
      hdfs dfs -mkdir /tmp/spark/lib_jars
      hadoop fs -put $SPARK_HOME/jars/* hdfs:///tmp/spark/lib_jars
    2.  $SPARK_HOME/conf/spark-defaults.conf, 增加 如下信息:
       spark.yarn.jars hdfs:///tmp/spark/lib_jars/*.jar
    展开全文
  • spark依赖、打包、上传、运行Eclipse Eclipse 1.解压所需要的lib目录 2.将整个文件复制粘贴到项目中 3.将lib包里的依赖全选进行包操作 4.出现一个新的lib依赖包 5.写完代码将需要的项目打包 6.选择jar包地址...
  • Spark的窄依赖依赖是指父RDD的每个分区只被子RDD的一个分区所使用,子RDD一般对应父RDD的一个或者多个分区。(与数据规模无关)不会产生shuffle。下面的join也是窄依赖,虽然有两个父RDD,但是两个 RDD中每个分区都...
  • spring整合spark依赖冲突 在配置spring和spark的整合开发环境时,出现了很多编译错误,将其整理如下 首先在选择开发环境版本时,我们考虑了集群的编译版本: [root@manager01 ~]# spark-shell Setting default log ...
  • 依赖冲突:NoSuchMethodError,ClassNotFoundException当用户应用于Spark本身依赖同一个库时可能会发生依赖冲突,导致程序奔溃。依赖冲突表现为在运行中出现NoSuchMethodError或者ClassNotFoundException的异常或者...
  • Linux下运行带有Spark依赖的Python脚本

    千次阅读 2018-07-25 16:37:50
    spark-submit脚本会帮我们引入Python程序的Spark依赖。这个脚本为Spark的PythonAPI配置好了运行环境。 首先找到spark的安装目录,一般在Linux下,会将第三方软件安装到/opt目录下面。 然后运行下述指令: /opt/...
  • IDEA 中maven 工程 ----Spark依赖管理

    千次阅读 2017-09-19 13:41:34
    在IEDA 中使用maven工程管理spark依赖
  • SparkStreaming <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>2.1.1</version> </dependency>
  • apache-spark的类路径是动态构建的(以适应每个应用程序的用户代码),这使得它容易受到此类问题的影响。@用户7337271的回答是正确的,但是还有一些问题,这取决于您使用的集群管理器(“master”)。首先,Spark应用...
  • Spark依赖包冲突解决

    2019-10-05 14:26:33
    Apache Beam 提供了一系列通用的JAVA API, 通用是指使用Apache Beam开发的程序,可以在不对代码做任何修改的情况下运行在当下流行的计算框架上,如SPARK, FLINK...Beam的程序运行在Spark, 需要依赖Spark,Hadoop ...
  • oozie是针对hadoop的任务调度框架,因为spark on yarn的模式是基于hadoop的任务调度模块yarn来做的,所以spark on yarn模式可以利用oozie的定时模块和任务依赖调度模块,实现按时按步骤的执行spark的job,下面就简单...
  • singularities/spark:2.2版本中 Hadoop版本:2.8.2 Spark版本: 2.2.1 Scala版本:2.11.8 Java版本:1.8.0_151 拉取镜像: [root@localhost docker-spark-2.1.0]# docker pull singularities/spark 查看:...
  • 使用Docker-Hub中Spark排行最高的sequenceiq/spark:1.6.0。 操作: 拉取镜像: [root@localhost home]# docker pull sequenceiq/spark:1.6.0 Trying to pull repository docker.io/sequenceiq/spark ... ...
  • Spark会在用户提交的计算逻辑中的RDD的转换和动作来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG(有向无环图)。 RDD之间的关系可以从两个维度来理解:一个是当前RDD是从哪些RDD转换而来,也就是...
  • spark依赖外部第三方jar包

    千次阅读 2019-07-18 16:55:10
    由于项目需要搭建spark单独提交jar包运行,而spark提交jar包执行,需要依赖外部其他第三方jar包时候,官方给出的是在spark-submit命令上增加 --jars 参数去指定外部jar包,但是一个项目运行依赖的外部jar及其的多,...
  • sbt解析spark依赖报错

    2017-06-04 22:56:00
    可以看出,这是找不到spark依赖,然后访问了sbt提供的依赖的pom的url,发现确实不存在, 在maven库上看了下,spark-core包的版本目前为2.11,没有2.12,于是在晚上查找了一下, 发现有类似的问题,最终在  ...
  • 依赖冲突:NoSuchMethodError,ClassNotFoundException 当用户应用于Spark本身依赖同一个库时可能会发生依赖冲突,导致程序奔溃。依赖冲突表现为在运行中出现NoSuchMethodError或者ClassNotFoundException的异常或者...
  • streaming_${spark.artifactID.suffix} ${spark.version} org.apache.spark spark-sql_${spark.artifactID.suffix} ${spark.version} org.apache.spark spark-hive_${spark.artifactID.suffix} ${spark....
  • 在ubantu成功安装配置spark等组件后,去pyspark编辑脚本运行,报出错误:Exception: Java gateway process exited before sending the driver its port number。 尝试了大神建议的很多方法都没有解决,如配置JAVA_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,129
精华内容 2,051
关键字:

spark依赖