• Spark中加载本地(或者hdfs)文件以及SparkContext实例的textFile使用


    默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读
      本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:///home/user/spark/README.md
    ‍

    网上很多例子,包括官网的例子,都是用textFile来加载一个文件创建RDD,类似sc.textFile("hdfs://n1:8020/user/hdfs/input")

    textFile的参数是一个path,这个path可以是:

    1. 一个文件路径,这时候只装载指定的文件

    2. 一个目录路径,这时候只装载指定目录下面的所有文件(不包括子目录下面的文件)

    3. 通过通配符的形式加载多个文件或者加载多个目录下面的所有文件

    第三点是一个使用小技巧,现在假设我的数据结构为先按天分区,再按小时分区的,在hdfs上的目录结构类似于:

    /user/hdfs/input/dt=20130728/hr=00/

    /user/hdfs/input/dt=20130728/hr=01/

    ...

    /user/hdfs/input/dt=20130728/hr=23/

    具体的数据都在hr等于某个时间的目录下面,现在我们要分析20130728这一天的数据,我们就必须把这个目录下面的所有hr=*的子目录下面的数据全部装载进RDD,于是我们可以这样写:sc.textFile("hdfs://n1:8020/user/hdfs/input/dt=20130728/hr=*/"),注意到hr=*,是一个模糊匹配的方式。

  • 相关阅读:
    (转)非常好的协同过滤入门文章
    PHP错误:Call to undefined function curl_init()
    (转)Ubuntu下Apache、php、mysql默认安装路径
    (转)matlab各类数学公式
    centos7下安装momgodb3
    centos7 使用mount 挂载window10 (超简单)
    Centos7 安装nginx1.14
    Centos7 安装MySQL5.7
    python3.5 安装 numpy1.14.4
    python3 tkinter 桌面软件教程
  • 原文地址:https://www.cnblogs.com/suanec/p/4784147.html
Copyright © 2020-2023  润新知