I have a csv files in my HDFS location and it has quotes on one column . my file is records.csv , here is data of it
100,"surender,CHN",IND
101,"ajay,HYD",IND
scala> val schema = StructType(
| Array(
| StructField("emp_id", StringType, true),
| StructField("emp_name", StringType, true),
| StructField("emp_city", StringType, true),
| StructField("emp_country", StringType, true)
| )
| )
schema: org.apache.spark.sql.types.StructType = StructType(StructField(emp_id,StringType,true), StructField(emp_name,StringType,true), StructField(emp_city,StringType,true), StructField(emp_country,StringType,true))
scala>
scala> val loc = "/user/omega/records.csv"
loc: String = /user/omega/records.csv
^
scala> val loc = "/user/omega/records.csv"
loc: String = /user/omega/records.csv
scala> val df = spark.read.option("delimiter", ",").option("quote", "\"").option("escape", "\"").schema(schema).csv(loc)
df: org.apache.spark.sql.DataFrame = [emp_id: string, emp_name: string ... 2 more fields]
scala> df.show(10,false)
+------+------------+--------+-----------+
|emp_id|emp_name |emp_city|emp_country|
+------+------------+--------+-----------+
|100 |surender,CHN|IND |null |
|101 |ajay,HYD |IND |null |
+------+------------+--------+-----------+
but my expected output is
+------+------------+--------+-----------+
|emp_id|emp_name |emp_city|emp_country|
+------+------------+--------+-----------+
|100 |surender |CHN |IND |
|101 |ajay |HYD |IND |
+------+------------+--------+-----------+
How do i get the expected output ?
I tried another code as below
val df1 = spark.read.option("delimiter", ",").option("quote", "").option("escape quote", "").schema(schema).csv(loc)
and the above df1 gives below results
+------+---------+--------+-----------+
|emp_id| emp_name|emp_city|emp_country|
+------+---------+--------+-----------+
| 100|"surender| CHN"| IND|
| 101| "ajay| HYD"| IND|
+------+---------+--------+-----------+