【问题标题】:Loading file from HDFS in spark在火花中从 HDFS 加载文件
【发布时间】:2018-04-20 02:12:41
【问题描述】:

我正在尝试从 HDFS 运行这个 spark 程序,因为当我在本地运行它时,我的电脑上没有足够的内存来处理它。有人可以告诉我如何从我的 HDFS 加载 csv 文件而不是在本地加载吗?这是我的代码:

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SaveMode;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.types.StructType;

public class VideoGamesSale {

public static void main(String[] args) {
    SparkSession spark = SparkSession
            .builder()
            .appName("Video Games Spark")
            .config("spark.master", "local")
            .getOrCreate();

【问题讨论】:

  • spark.read().csv("hdfs://namenode:port/path/to/file.csv") 应该从 csv 文件创建一个数据框。

标签: apache-spark hdfs


【解决方案1】:

您可以使用以下代码从 csv 文件创建数据集/数据框。

Dataset<Row> csvDS = spark.read().csv("/path/of/csv/file.csv");

如果你想从目录中读取多个文件,你可以使用下面的

Seq<String> paths = scala.collection.JavaConversions.asScalaBuffer(Arrays.asList("path1","path2"));
Dataset<Row> csvsDS = spark.read().csv(paths);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-15
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 2019-11-25
    • 2020-02-22
    • 2017-07-03
    相关资源
    最近更新 更多