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

Boe*_*ern 1 csv shell scala apache-spark

来自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
Run Code Online (Sandbox Code Playgroud)

谢谢.

Boe*_*ern 6

Spark 2.0+

由于databricks/spark-csv已经集成到Spark中,因此阅读.CSVs非常简单SparkSession

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

旧版本

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

安装等记载后这里并开始使用火花外壳./spark-shell --packages com.databricks:spark-csv_2.11:1.4.0:

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)
Run Code Online (Sandbox Code Playgroud)