我有一个包含两行以下的数据集
Drawer
我正在尝试转义每列的逗号,但对于最后一列,我不希望它们相同,并使用spark-shell获取输出。我尝试使用下面的代码,但是它给了我不同的输出。
<Drawer ...>
<div>{this.props.email || "No email address for this person."}</div>
</Drawer>
它给我的输出是
s.no,name,Country
101,xyz,India,IN
102,abc,UnitedStates,US
但是我希望输出如下所示。我在这里缺少的人可以帮助我吗?
val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").option("delimiter", ",").option("escape", "\"").load("/user/username/data.csv").show()
答案 0 :(得分:1)
我建议在read
的所有字段中提供schema
并忽略数据中存在的标题,如下所示
case class Data (sno: String, name: String, country: String, country1: String)
val schema = Encoders.product[Data].schema
import spark.implicits._
val df = spark.read
.option("header", true)
.schema(schema)
.csv("data.csv")
.withColumn("Country" , concat ($"country", lit(", "), $"country1"))
.drop("country1")
df.show(false)
输出:
+---+----+----------------+
|sno|name|Country |
+---+----+----------------+
|101|xyz |India, IN |
|102|abc |UnitedStates, US|
+---+----+----------------+
希望这会有所帮助!