Spark编程及作业提交易犯错误

1、Spark作业需要从本地读入数据

本地输入的数据文件,需要和jar包放在Linux操作系统中,不能放在hdfs文件系统中。以下是一个示例

pathIn="../sparkJar/distinct_infected_ua "  # 本地要传入给Spark作业的数据位置
for i in {10..30}
do
if [ $i -lt 10 ] ; then
i=0$i
fi
pathIn="$pathIn/user/guixiaolin/iphone_userurl/201509$i "  # HDFS文件系统中数据位置
done
pathIn=${pathIn:0:${#pathIn}-1}
pathOut=""
for i in {10..30}
do
if [ $i -lt 10 ] ; then
i=0$i
fi
pathOut="$pathOut/user/guixiaolin/distinct_infected_user/201509$i " # 数据输出路径
done
pathOut=${pathOut:0:${#pathOut}-1}
export YARN_CONF_DIR=/opt/cloudera/parcels/CDH/lib/spark
spark-submit \
--master yarn-client \
--class cmc.DistinctInfectedUser \
--num-executors 30 \
--driver-memory 14g \
--executor-memory 14g \
--executor-cores 16 \
../sparkJar/DistinctInfectedUser.jar \
$pathIn \ #总的输入数据路径
$pathOut

2、RDD操作

  • Spark中, 两个RDD进行join操作时, 要求两个rdd都为(K,V)对类型。
  • 当进行连续的多次 map时,必须 要看清楚要进行map的数据类型。

譬如:
sc.textFile(file1).map(line=>line.split(“\)”)).map(x=>x(0).split(“\(“)).map(x=>x(1).split(“,”)).map(x=>(x(0),x(1)))
实现将文件中的一行(a,b)转变成K,V对。

3、Spark作业终止

kill作业
yarn application -kill $appID

4、Spark作业提交

spark提交作业时args参数是以空格隔开,若要输入多条路径,使用逗号隔开。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值