如何在Spark中将数据框的列类型从字符串转换为(数组和结构)

马亨德拉

我有一个具有以下架构的数据框,其中“名称”是字符串类型,值是具有Array和struct的复杂JSON。

基本上使用字符串数据类型,我无法解析数据并写入行。所以我试图转换数据类型并应用爆炸来解析数据。

Current:
root
|--id: string (nullable = true)
|--partitionNo: string (nullable = true)
|--name: string (nullable = true)

转换后:

Expected:
root
|id: string (nullable = true)
|partitionNo: string (nullable = true)
|name: array (nullable = true)
|     |-- element: struct (containsNull = true) 
|     |    |-- extension: array (nullable = true)
|     |    |    |-- element: struct (containsNull = true)
|     |    |    |    |-- url: string (nullable = true)
|     |    |    |    |-- valueMetadata: struct (nullable = true)
|     |    |    |    |-- modifiedDateTime: string (nullable = true)
|     |    |    |    |-- code: string (nullable = true)
|     |    |-- lastName: string (nullable = true)
|     |    |-- firstName: array (nullable = true)
|     |    |    |-- element: string (containsNull = true)
麦克

您可以使用from_json,但是您需要提供一个架构,可以使用意大利面条代码自动推断出from_json该架构...因为仅接受以下形式的架构lit

val df2 = df.withColumn(
    "name",
    from_json(
        $"name",
        // the lines below generate the schema
        lit(
            df.select(
                schema_of_json(
                    lit(
                        df.select($"name").head()(0)
                    )
                )
            ).head()(0)
        )
        // end of schema generation
    )
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Spark SQL Java中将CSV类型字符串转换为数据帧?

来自分类Dev

如何在熊猫中将列的数据类型从字符串转换为列表?

来自分类Dev

在数据框列中将字符串数组转换为整数数组

来自分类Dev

将Spark数据框中的MapType类型的列的数据转换为字符串

来自分类Dev

在Pandas数据框中将列类型从字符串转换为日期时间格式

来自分类Dev

如何在Javascript中将字符串数组转换为特定的树结构

来自分类Dev

在Spark Dataframe中将字符串数据类型列转换为MapType

来自分类Dev

如何在php中将某种类型的字符串转换为带有键的数组?

来自分类Dev

如何在MongoDB中将字符串转换为数组?

来自分类Dev

如何在JavaScript中将字符串转换为数组

来自分类Dev

如何在MongoDB中将数组转换为字符串

来自分类Dev

如何在Ruby中将字符串转换为数组

来自分类Dev

如何在 JavaScript 中将字符串转换为数组?

来自分类Dev

如何在Postgres中将字符串类型数据转换为日期格式?

来自分类Dev

如何在Android中将arraylist数据转换为字符串数组

来自分类Dev

如何在 Pandas 中将列值转换为字符串数组?

来自分类Dev

如何在Typescript中将字符串转换为字符串文字类型?

来自分类Dev

如何在Linq中将字符串数组转换为字符串?

来自分类Dev

如何在Android中将字符串生成器转换为字符串数组?

来自分类Dev

如何在 Rust 中将字符串转换为字符串数组/向量

来自分类Dev

在熊猫数据框中将字符串“02-04-20189.45”转换为日期时间类型

来自分类Dev

在spark中将字符串名称转换为sql数据类型

来自分类Dev

如何在Python中将年份和季度数字的字符串转换为period [Q-DEC]数据类型?

来自分类Dev

如何在熊猫数据框中将字符串1.424304064E9转换为日期时间?

来自分类Dev

如何在Swift中将字符数组转换为字符串数组

来自分类Dev

如何在Swift中将字符数组转换为字符串数组

来自分类Dev

如何在Hive中将格式为“ dd.mm.aaaa”的字符串转换为数据类型?

来自分类Dev

如何在asp.net + vb中将日期时间数据类型转换为字符串

来自分类Dev

如何在 Python 中将 [{'id':1'}] 之类的字符串转换为列表 [{'id':1'}] 数据类型?

Related 相关文章

  1. 1

    如何在Spark SQL Java中将CSV类型字符串转换为数据帧?

  2. 2

    如何在熊猫中将列的数据类型从字符串转换为列表?

  3. 3

    在数据框列中将字符串数组转换为整数数组

  4. 4

    将Spark数据框中的MapType类型的列的数据转换为字符串

  5. 5

    在Pandas数据框中将列类型从字符串转换为日期时间格式

  6. 6

    如何在Javascript中将字符串数组转换为特定的树结构

  7. 7

    在Spark Dataframe中将字符串数据类型列转换为MapType

  8. 8

    如何在php中将某种类型的字符串转换为带有键的数组?

  9. 9

    如何在MongoDB中将字符串转换为数组?

  10. 10

    如何在JavaScript中将字符串转换为数组

  11. 11

    如何在MongoDB中将数组转换为字符串

  12. 12

    如何在Ruby中将字符串转换为数组

  13. 13

    如何在 JavaScript 中将字符串转换为数组?

  14. 14

    如何在Postgres中将字符串类型数据转换为日期格式?

  15. 15

    如何在Android中将arraylist数据转换为字符串数组

  16. 16

    如何在 Pandas 中将列值转换为字符串数组?

  17. 17

    如何在Typescript中将字符串转换为字符串文字类型?

  18. 18

    如何在Linq中将字符串数组转换为字符串?

  19. 19

    如何在Android中将字符串生成器转换为字符串数组?

  20. 20

    如何在 Rust 中将字符串转换为字符串数组/向量

  21. 21

    在熊猫数据框中将字符串“02-04-20189.45”转换为日期时间类型

  22. 22

    在spark中将字符串名称转换为sql数据类型

  23. 23

    如何在Python中将年份和季度数字的字符串转换为period [Q-DEC]数据类型?

  24. 24

    如何在熊猫数据框中将字符串1.424304064E9转换为日期时间?

  25. 25

    如何在Swift中将字符数组转换为字符串数组

  26. 26

    如何在Swift中将字符数组转换为字符串数组

  27. 27

    如何在Hive中将格式为“ dd.mm.aaaa”的字符串转换为数据类型?

  28. 28

    如何在asp.net + vb中将日期时间数据类型转换为字符串

  29. 29

    如何在 Python 中将 [{'id':1'}] 之类的字符串转换为列表 [{'id':1'}] 数据类型?

热门标签

归档