scala – 为没有列名的csv文件中读取的数据添加列名
发布时间:2020-12-16 18:23:21 所属栏目:安全 来源:网络整理
导读:我正在使用Apache Spark和 Scala. 我有一个csv文件,第一行没有列名.就像这样: 28,Martok,49,47629,Nog,48,36430,Keiko,50,17531,Miles,39,161 列表示ID,名称,年龄,numOfFriends. 在我的Scala对象中,我使用来自csv文件的SparkSession创建数据集,如下所示: v
我正在使用Apache Spark和
Scala.
我有一个csv文件,第一行没有列名.就像这样: 28,Martok,49,476 29,Nog,48,364 30,Keiko,50,175 31,Miles,39,161 列表示ID,名称,年龄,numOfFriends. 在我的Scala对象中,我使用来自csv文件的SparkSession创建数据集,如下所示: val spark = SparkSession.builder.master("local[*]").getOrCreate() val df = spark.read.option("inferSchema","true").csv("../myfile.csv") df.printSchema() 当我运行程序时,结果是: |-- _c0: integer (nullable = true) |-- _c1: string (nullable = true) |-- _c2: integer (nullable = true) |-- _c3: integer (nullable = true) 如何在数据集中的列中添加名称? 解决方法
在读取CSV文件时,您可以使用toDF指定列名:
val df = spark.read.option("inferSchema","true").csv("../myfile.csv").toDF( "ID","name","age","numOfFriends" ) 或者,如果您已经创建了DataFrame,则可以按如下方式重命名其列: val newColNames = Seq("ID","numOfFriends") val df2 = df.toDF(newColNames: _*) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |