如何正确加载,拆分csv文件并通过Spark(Scala)转换为数据框?

时间:2018-02-09 10:09:40

标签: scala apache-spark apache-spark-sql rdd

我是Spark(Scala)的新手。我的火花版是2.2.1。我的csv文件如下:

Manager   Client C_Gender C_age  Response_time  Satisfaction_level
    Bob       A       M       30    4             0,5
    Nicole    B       M       28    12            0,1
    Bob       C       M       27    3             0,7
    Bob       D       F       40    2,5           0,6
    Victor    E       M       38    6             0,5
    Victor    F       M       45    16            0,2
    Bob       G       F       20    8             0,4
    Nicole    H       M       34    7,5           0,3
    Donald    I       M       50    20            0,1

我的代码是:

import org.apache.spark.sql.SparkSession

val spark = SparkSession.builder().appName("Spark SQL basic  example").config("spark.some.config.option", "some-value").getOrCreate()
import spark.implicits._
val dataFrame = spark.read.csv("/Users/Desktop/Scala/test1.csv").map(lambda line => line.split(“;”);

我收到了以下错误

  

:1:错误:')'预计但是';'找到。   val df3 = spark.read.csv(“/ Users / Desktop / Scala / test1.csv”)。map(lambda line => line.split(“;”);

请解释我为什么会收到此错误?什么是正确的方法?我是否导入了正确的库?

1 个答案:

答案 0 :(得分:2)

使用内置spark csv支持,如下所示

Here是您可以根据需要配置的选项

您可以在spark中阅读int分隔文件,如下所示

Sub TestMe()
    Selection.Cut
    Selection.PasteAndFormat (16)
End Sub

希望这有帮助!