zoukankan      html  css  js  c++  java
  • sparkContext的addFile和addPyFile

    addFile(path, recursive=False)

    把文件分发到集群中每个worker节点,然后worker会把文件存放在临时目录下,spark的driver和executor可以通过pyspark.SparkFiles.get()方法来获取文件的路径,从而能够保证driver和每个worker都能正确访问到文件。因此,比较适合用于文件比较小,但是每个worker节点都需要访问的情况,文件比较大的情况下网络传送的消耗时间会比较长。

    path:可以是单个本地文件,HDFS文件,或者HTTP地址,HTTPS地址,FTP URI。要在spark job中获取文件,使用pyspark.SparkFiles.get(filename),通过指定文件名filename获取文件路径。

    recursive:如果path是文件夹路径,可以设置recursive为True,然后spark就会递归的分发这个文件夹路径下的所有文件到worker节点,但是只支持HDFS文件夹路径。

    >>> from pyspark import SparkFiles
    >>> path = os.path.join(tempdir, "test.txt")
    >>> sc.addFile(path)
    >>> res_rdd = sc.textFile(SparkFiles.get(path))
    

    addPyFile(path)

    为SparkContext上执行的所有任务增加.py或者.zip文件依赖。path可以是本地文件,HDFS文件,或者HTTP地址,HTTPS地址,FTP URI。



    作者:sjdxdd
    链接:https://www.jianshu.com/p/6442eec4a567
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    数据科学家成长指南(下)
    数据科学家成长指南(中)
    数据科学家成长指南(上)
    数据分析的职业规划
    2018的内容写作方向
    乱码 设置编码
    CI 如何获取get请求过来的数据
    ci 打印出常用的变量
    CI $_GET
    获取checkbox 组成字符串
  • 原文地址:https://www.cnblogs.com/ExMan/p/14363728.html
Copyright © 2011-2022 走看看