Я пытаюсь прочитать CSV из корзины AWS S3, используя pyspark. Поскольку в моем CSV есть столбец со встроенными запятыми, он неправильно записывается в информационный кадр.
Моя версия Spark - 2.4.4. Цените любую помощь с этим.
Ниже приведен код.
url= "<url of the file from AWS S3>"
spark.sparkContext.addFile(url)
df = spark.read.option('header', 'true').csv(SparkFiles.get("drugsComTrain_raw.csv"), inferSchema=True, quote='\"', escape='\"',sep=",", timestampFormat="mm/dd/yy")
Вывод выглядит следующим образом.
+--------------------+----------+--------------------+--------------------+------+---------+-----------+
| uniqueID| drugName| condition| review|rating| date|usefulCount|
+--------------------+----------+--------------------+--------------------+------+---------+-----------+
| 206461| Valsartan|Left Ventricular ...|"It has no side e...| 9|20-May-12| 27|
| 95260|Guanfacine| ADHD|"My son is halfwa...| null| null| null|
|We have tried man...| 8| 27-Apr-10| 192| null| null| null|
+--------------------+----------+--------------------+--------------------+------+---------+-----------+
Ниже приведен столбец со встроенными запятыми.
df.select("review").show(1,truncate=False)
+-------------------------------------------------------------------------------+
|review |
+-------------------------------------------------------------------------------+
|"It has no side effect, I take it in combination of Bystolic 5 Mg and Fish Oil"|
+-------------------------------------------------------------------------------+
only showing top 1 row
df.select("uniqueID").show(5)
+--------------------+
| uniqueID|
+--------------------+
| 206461|
| 95260|
|We have tried man...|
| 92703|
|The positive side...|
+--------------------+
only showing top 5 rows
uniqueID должен показывать только цифры.