Spark 2 Python重命名列并设置列数据类型

时间:2018-08-05 16:05:05

标签: python apache-spark pyspark

我正在使用DataFrame读取HDFS文件并使用正则表达式提取数据。

使用索引动态生成列名,并且将列数据类型创建为字符串。

是否可以在不单独重命名或强制转换列的情况下重新定义DataFrame的架构?

我的计划是将DataFrame转换为RDD,并使用模式将RDD转换回DataFrame。

我不确定这是否是个好主意。

1 个答案:

答案 0 :(得分:1)

如果数据框中的列很少,请说5,并且您想重命名所有列,则可以使用toDF()函数,如下所示。

旧列名称:A,B,C,D,E。 新列名称:V,W,X,Y,Z

newdf = df.toDF("V", "W", "X", "Y", "Z")

因此在newdf中,您将找到新的列名。

如果您想重命名特定名称,可以使用函数“ withColumnRenamed”

newdf = df.withColumnRenamed("current-_name", "new_name")

希望有帮助。