【发布时间】:2022-07-25 22:07:59
【问题描述】:
我可以在 SparkSQL 中做如下语句:
result_df = spark.sql("""select
one_field,
field_with_struct
from purchases""")
生成的数据帧将在field_with_struct 中具有完整结构的字段。
| one_field | field_with_struct |
|---|---|
| 123 | {name1,val1,val2,f2,f4} |
| 555 | {name2,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""")
要得到这个:
| one_field | my_subset |
|---|---|
| 123 | {name1,val2} |
| 555 | {name2,val4} |
有没有办法用 SQL 做到这一点? (不使用流畅的 API)
【问题讨论】: