我的数据在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
中添加标题行
答案 0 :(得分:0)
是的,有一种方法,您可以使用toDF
数据框功能。
val data = spark.read.csv("./data/flight-data/csv/2015-summary.csv").toDF("DEST", "ORIG", "count")
答案 1 :(得分:0)
最好先定义架构(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")
希望对您有所帮助。