美文网首页
2020-04-24 spark json字符串转数组

2020-04-24 spark json字符串转数组

作者: 破阵子沙场秋点兵 | 来源:发表于2020-04-24 20:58 被阅读0次

    首先引入包

    import org.apache.spark.sql.functions.{explode, from_json, udf}
    import org.apache.spark.sql.types._
    

    然后构造数据

    val df = spark.sql("""select '[{"item":17991,"score":0.63,"rk":5},{"item":18000,"score":0.64,"rk":4},{"item":15248,"score":0.82,"rk":2},{"item":18008,"score":0.78,"rk":3},{"item":18023,"score":1.0,"rk":1}]' as item""")
    df.show(false)
    

    最后使用from_json来构建数组

    import spark.implicits._
    val jsonDF = df.select(from_json($"item", ArrayType(StructType(StructField("item", StringType) :: StructField("score", DoubleType) ::StructField("rk", IntegerType) :: Nil))).as("items"))
    jsonDF.show(false)
    jsonDF.printSchema
    
    image.png

    相关文章

      网友评论

          本文标题:2020-04-24 spark json字符串转数组

          本文链接:https://www.haomeiwen.com/subject/zlpqwhtx.html