1.打包

spark-submit几种情况
打包后,生成两个文件,一个是只包含代码的,一个是包含所有jar包的。
spark-submit几种情况

2.提交

2.1.提交scala文件

# (不确定)
spark-submit --executor-memory 5g --driver-memory 3g --master spark://node11:7077 < als.scala 

2.2.提交py文件

spark-submit --driver-memory 20g MovieLensALS.py

2.3.提交jar

	spark-submit \
	--class com.als.ReadFile \
	--master local[*] \
	--driver-memory 50G \
    original-ds-scala-pro-1.0-SNAPSHOT.jar \
    /data/ml/data/ 

2.4.添加额外jar包

原来的maven依赖坐标是这样的

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.redislabs</groupId>
            <artifactId>spark-redis</artifactId>
            <version>2.3.1-M1</version>
        </dependency>

在spark-submit的–packages后面这么写:

--packages redis.clients:jedis:2.9.0,com.redislabs:spark-redis:2.3.1-M1 

完整参数(单台服务器运行)

	spark-submit \
	--class com.xin.ReadFile \
	--master local[*] \
	--conf spark.network.timeout=10000000 \
	--conf spark.driver.maxResultSize=30g \
	--packages redis.clients:jedis:2.9.0,com.redislabs:spark-redis:2.3.1-M1 \
	--driver-memory 50G \
    original-ds-scala-pro-1.0-SNAPSHOT.jar \
    /data/ml/data/20181026-28/222/20181107/recomm/ 

相关文章: