【问题标题】:Spark & Scala: Read in CSV file as DataFrame / DatasetSpark & Scala:以 DataFrame / Dataset 形式读取 CSV 文件
【发布时间】:2016-09-13 06:42:05
【问题描述】:

来自 R 世界我想使用 Scala Shell (./spark-shell) 将 .csv 导入 Spark (v.1.6.1)

我的 .csv 有一个标题,看起来像

"col1","col2","col3"
1.4,"abc",91
1.3,"def",105
1.35,"gh1",104

谢谢。

【问题讨论】:

    标签: scala shell csv apache-spark


    【解决方案1】:

    Spark 2.0+

    由于 databricks/spark-csv 已集成到 Spark 中,因此使用 SparkSession 读取 .CSV 非常简单

    val spark = .builder()
       .master("local")
       .appName("Word Count")
       .getOrCreate()
    val df = spark.read.option("header", true).csv(path)
    

    旧版本

    重新启动我的 spark-shell 后,我自己想通了 - 可能对其他人有帮助:

    按照here 所述安装并使用./spark-shell --packages com.databricks:spark-csv_2.11:1.4.0 启动 spark-shell 后:

    scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc)
    scala> val df = sqlContext.read.format("com.databricks.spark.csv")
        .option("header", "true")
        .option("inferSchema", "true")
        .load("/home/vb/opt/spark/data/mllib/mydata.csv")
    scala> df.printSchema()
    root
     |-- col1: double (nullable = true)
     |-- col2: string (nullable = true)
     |-- col3: integer (nullable = true)
    

    【讨论】:

    • 这里的火花是什么?是火花上下文吗?
    • 不,启动 Spark 2.0 spark 指的是新的SparkSession,请参阅spark.apache.org/docs/2.1.0/api/scala/… - 我将其添加到答案中。谢谢!
    猜你喜欢
    • 2018-04-26
    • 1970-01-01
    • 2015-12-04
    • 2017-06-21
    • 2021-12-15
    • 2023-03-26
    • 2017-06-29
    • 1970-01-01
    • 2016-11-29
    相关资源
    最近更新 更多