я могу указать имена столбцов при создании DataFrame - PullRequest
0 голосов
/ 03 февраля 2019

Мои данные в файле csv.В файле нет заголовка столбца

United States   Romania 15
United States   Croatia 1
United States   Ireland 344
Egypt   United States   15

Если я прочитал его, Spark автоматически создает имена для столбцов.

scala> val data = spark.read.csv("./data/flight-data/csv/2015-summary.csv")
data: org.apache.spark.sql.DataFrame = [_c0: string, _c1: string ... 1 more field]

Можно ли указать мои собственные именадля столбцов при чтении файла, если я не хочу использовать _c0, _c1?Например, я хочу, чтобы spark использовал DEST, ORIG и count для имен столбцов.Я не хочу добавлять строку заголовка в csv, чтобы сделать это

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Лучше сначала определить схему (StructType), а затем загрузить данные CSV, используя схему.

Вот как определить схему:

import org.apache.spark.sql.types._
val schema = StructType(Array(
      StructField("DEST",StringType,true),
      StructField("ORIG",StringType,true),
      StructField("count",IntegerType,true)
    ))

Загрузить фрейм данных:

val df = spark.read.schema(schema).csv("./data/flight-data/csv/2015-summary.csv")

Надеюсь, это вам поможет.

0 голосов
/ 03 февраля 2019

Да, вы можете, Есть способ, Вы можете нам toDF функция dataframe.

val data = spark.read.csv("./data/flight-data/csv/2015-summary.csv").toDF("DEST", "ORIG", "count")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...