我正在使用DataFrame读取HDFS文件并使用正则表达式提取数据。
使用索引动态生成列名,并且将列数据类型创建为字符串。
是否可以在不单独重命名或强制转换列的情况下重新定义DataFrame的架构?
我的计划是将DataFrame转换为RDD,并使用模式将RDD转换回DataFrame。
我不确定这是否是个好主意。
答案 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")
希望有帮助。