【发布时间】: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
来自 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
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)
【讨论】:
SparkSession,请参阅spark.apache.org/docs/2.1.0/api/scala/… - 我将其添加到答案中。谢谢!