【问题标题】:Using spark dataFrame to load data from HDFS使用 spark dataFrame 从 HDFS 加载数据
【发布时间】:2016-06-06 18:12:55
【问题描述】:

我们可以在从 HDFS 读取数据时使用 DataFrame。 我在 HDFS 中有一个制表符分隔的数据。

我用谷歌搜索过,但发现它可以与 NoSQL 数据一起使用

【问题讨论】:

    标签: apache-spark spark-dataframe


    【解决方案1】:

    DataFrame 当然不限于 NoSQL 数据源。 Parquet、ORC 和 JSON 支持在 1.4 到 1.6.1 中原生提供;使用 spark-cvs 包支持文本分隔文件。

    如果您的 tsv 文件位于 HDFS 的 /demo/data 中,则以下代码会将文件读入 DataFrame

    sqlContext.read.
      format("com.databricks.spark.csv").
      option("delimiter","\t").
      option("header","true").
      load("hdfs:///demo/data/tsvtest.tsv").show
    

    要从 spark-shell 运行代码,请使用以下命令:

    --packages com.databricks:spark-csv_2.10:1.4.0
    

    在 Spark 2.0 中,原生支持 csv,因此您应该能够执行以下操作:

    spark.read.
      option("delimiter","\t").
      option("header","true").
      csv("hdfs:///demo/data/tsvtest.tsv").show
    

    【讨论】:

      【解决方案2】:

      如果我理解正确,您实际上是想从 HDFS 读取数据,并且希望这些数据自动转换为 DataFrame。

      如果是这样的话,我会推荐你​​this spark csv 库。看看这个,它有一个非常好的文档。

      【讨论】:

        猜你喜欢
        • 2016-12-05
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多