用Spark将数组转换为结构

时间:2019-06-14 13:42:35

标签: apache-spark pyspark schema parquet

我正在将Spark与如下数据帧一起使用:

struct<
    clk:string,
    id:bigint,
    mc:array<struct<
        rc:array<struct<
            one_array:array<array<double>>
        >>
    >>
>

其中一个数组是三个double的数组,我想将其转换为类似

的结构
one_array:struct<
                el1:double
                el2:double
                el3:double
            >

但是我找不到修改显示的第一个架构的方法。

然后我用此代码获取数据框

from pyspark.sql import SparkSession
from pyspark.sql import functions as F
from pyspark.sql.types import StructType
df.withColumn('typed_data', F.from_json('data', schema=data_schema_simple))

其中

data_schema = 
"""
struct<
        clk:string,
        id:bigint,
        mc:array<struct<
            rc:array<struct<
                one_array:array<array<double>>
            >>
        >>
    >
"""

0 个答案:

没有答案