Пытается прочитать файл csv в простой код фрейма данных

df = spark.read.csv("1.csv")

Я получил

    df.printSchema()
root
 |-- _c0: string (nullable = true)

Также я пробую это

db = spark.read.csv("1.csv", header=True, inferSchema= "True")
db.printSchema()
root
 |--                   id                  |                      date                      |                              cases                               |                      country                      |                       deaths                       |   cities   |    per_cap     | 

Заранее спасибо за помощь

0
ben 8 Окт 2020 в 16:22

2 ответа

Лучший ответ

Очевидно, ваш разделитель строк - это труба |.

Пытаться:

db = spark.read.csv("1.csv", sep='|', header=True, inferSchema= "True")

for col in db.columns:
    db = db.withColumnRenamed(col, col.strip())
1
Steven 8 Окт 2020 в 14:28

Вам следует создать свою собственную схему.
используя scala:

val schemaExpected = new StructType()
.add("id" , StringType , nullable = true)
.add("date" , DateType, nullable = true)
...
.add(deaths , IntegerType, nullable = true)

Тогда вы можете прочитать свой DataFrame:

val db = spark.read.option("header","true").schema(schemaExpected).csv("1.csv")
0
maxime G 8 Окт 2020 в 13:39