Scala: создать имена столбцов в датафрейме
пытаюсь присвоить имена столбцам в выгружаемом датафрейме. для выгрузки использую следующий код:
'''def main(args: Array[String]): Unit = {
val spark = SparkSession.builder()
.appName(name = "Create DataFrame from CSV file")
.master(master = "local")
.getOrCreate()
spark.sparkContext.setLogLevel("ERROR")
val csv_path = "data...csv"
val df = spark.read
.option("header", false)
.csv(csv_path)'''
датафрейм получается с именами поумолчанию: _c0/_c1/_c2 мне же нужно присвоить, например: full_name/date/время пробовала с withcolumnrename - не получается
Ответы (1 шт):
Автор решения: EnverOsmanov
→ Ссылка
- Можно с помощью метода
.toDF:
val df2 = df.toDF("full_name "date", "время")
- Если типы известны заранее, можно указать структуру перед чтением:
import org.apache.spark.sql.Encoders
import java.sql.Timestamp
import java.sql.Date
case class User(full_name: String, date: Date, `время`: Timestamp)
spark.read
.schema(Encoders.product[User].schema)
.option("inferSchema", value = false)
.option("header", false)
.csv(csv_path)