常用命令:
- sc.broadcast
:broadcast 是将只读变量广播到节点(node)而不是 broadcast 到每个 task
- sc.textFiles(path)
能将path 里的所有文件内容读出,以文件中的每一行作为一条记录的方式。
- reduceByKey
reduceByKey(lambda a,b:'nameX’):含义是将key值相同的进行合并,最终value都是nameX
- flatmap和map的区别
map()是将函数用于RDD中的每个元素,将返回值构成新的RDD。
flatmap()是将函数应用于RDD中的每个元素,将返回的迭代器的所有内容构成新的RDD,这样就得到了一个由各列表中的元素组成的RDD,而不是一个列表组成的RDD。参考链接:https://blog.csdn.net/yqlakers/article/details/73042098
map(lambda x: (x[0],x[1],x[2]))
x:函数参数;
(x[0],x[1],x[2]):return fun
- sample
sample(False,0.4),设置采样频率为0.4
spark报错:
- ERROR SparkUI: Failed to bind SparkUI
每一个Spark任务都会占用一个SparkUI端口,默认为4040,如果被占用则依次递增端口重试。但是有个默认重试次数,为16次。16次重试都失败后,会放弃该任务的运行。
参考链接:https://blog.csdn.net/x_lock/article/details/72598206
解决方法
初始化SparkConf时,添加conf.set(“spark.port.maxRetries”,“100”)语句
使用spark-submit提交任务时,在命令行中添加-Dspark.port.maxRetries=100
在spark-defaults.conf中添加spark.port.maxRetries 100