我有Spark in_df
有300多列,其中一列是字符串,其余的是双列。我需要在其上运行groupedmap和udf,并在运行之前定义输出的模式。在输出的列数应该相同但类型不同的情况下,如何定义该模式?我能找到的几个Pandas自定义项示例通常只使用 in
作为输出模式。
我见过的一种方法 withColumn
以及 cast()
在 in_df
. 这是最佳做法吗?如果我想我的输出是一个完全不同的形状比 in_df
但是有太多的列需要手工编码吗?我还没找到合适的资源。
1条答案
按热度按时间cidc1ykv1#
乌辛
pyspark.sql.types.StructType.fromJson()
您可以从json动态构造模式。根据您的要求,我更改了用于“col\e”的数据类型,您可以根据您的用例将数据类型更改为一列或多列。
输入文件test.csv
结果是什么