从架构中删除非法的配置单元字符

vltsax25  于 2021-06-26  发布在  Hive
关注(0)|答案(0)|浏览(184)

我有一个非常大的pysparkDataframe,它从json文件获取数据。这是模式的一个例子

|-- Col1: array (nullable = true)
 |    |-- element: double (containsNull = true)
 |-- Col2: struct (nullable = true)
 |    |-- Col2-Col1: string (nullable = true)
 |    |-- Col2-Col2: string (nullable = true)
 |    |-- Col2-Col3: string (nullable = true)

当我执行以下操作时,我无法获取结构中的所有列名。

df.columns
out: ['Col1', 'Col2']

我需要用下划线替换所有连字符,以便将其写入配置单元。配置单元不接受列名中的“-”、“[”、“/”等。
例如,
列名应更改为

|-- Col1: array (nullable = true)
 |    |-- element: double (containsNull = true)
 |-- Col2: struct (nullable = true)
 |    |-- Col2_Col1: string (nullable = true)
 |    |-- Col2_Col2: string (nullable = true)
 |    |-- Col2_Col3: string (nullable = true)

代码需要具有足够的通用性,以便可以重命名许多列,而无需对值进行硬编码。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题