小编Ale*_*ida的帖子

在 SparkSQL 中,如何从嵌套结构中选择列的子集,并使用 SQL 语句将其保留为结果中的嵌套结构?

我可以在 SparkSQL 中执行以下语句:

result_df = spark.sql("""select
    one_field,
    field_with_struct
  from purchases""")
Run Code Online (Sandbox Code Playgroud)

生成的数据帧将具有完整结构的字段field_with_struct

一个字段 带结构的字段
123 {名称1,val1,val2,f2,f4}
第555章 {名称2,val3,val4,f6,f7}

我只想从 中选择几个字段field_with_struct,但将它们保留在结果数据框中的结构中。如果有可能(这不是真正的代码):

result_df = spark.sql("""select
    one_field,
    struct(
      field_with_struct.name,
      field_with_struct.value2
    ) as my_subset
  from purchases""")
Run Code Online (Sandbox Code Playgroud)

要得到这个:

一个字段 我的子集
123 {名称1,值2}
第555章 {名称2,值4}

有没有办法用 SQL 来做到这一点?(不适用于流畅的 API)

apache-spark-sql pyspark

1
推荐指数
1
解决办法
1001
查看次数

标签 统计

apache-spark-sql ×1

pyspark ×1