火花& Scala:将CSV文件读入DataFrame / Dataset

时间:2016-05-17 08:55:20

标签: scala shell csv apache-spark

来自./spark-shell世界的

我想使用Scala Shell("col1","col2","col3" 1.4,"abc",91 1.3,"def",105 1.35,"gh1",104 )将.csv导入Spark(v.1.6.1)

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

{{1}}

感谢。

1 个答案:

答案 0 :(得分:6)

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)

旧版本

重新启动我的火花壳后,我自己想出来 - 可能对其他人有所帮助:

安装如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)