gpt4 book ai didi

scala - 如何在Spark Scala中的变量中存储嵌套JSON的架构

转载 作者:行者123 更新时间:2023-12-02 22:07:11 24 4
gpt4 key购买 nike

我可以使用以下方法获取嵌套JSON的结构:df.schema
我明白了:

StructType(StructField(CreatedBy,StringType,true), StructField(Description,StringType,true), StructField(ExpirationDate,LongType,true), StructField(ID,StringType,true), StructField(Name,StringType,true), StructField(Package,StringType,true), StructField(PackageDependencies,StructType(StructField(dataShape,StructType(StructField(fieldDefinitions,StructType(StructField(Name................

我只想获取具有数据类型的列。如果在Spark Scala上工作的人可以向我建议这一点,那就太好了。

谢谢

最佳答案

我认为您正在使用架构作为输入来寻找df.dtypes。
您可以使用一个空的数据框得到它。看一下这个

scala> import org.apache.spark.sql.types._
import org.apache.spark.sql.types._

scala> val typ = StructType(Seq(
| StructField("CreatedBy",StringType,true),
| StructField("Description",StringType,true),
| StructField("ExpirationDate",LongType,true),
| StructField("ID",StringType,true),
| StructField("Name",StringType,true),
| StructField("Package",StringType,true)));
typ: org.apache.spark.sql.types.StructType = StructType(StructField(CreatedBy,StringType,true), StructField(Description,StringType,true), StructField(ExpirationDate,LongType,true), StructField(ID,StringType,true), StructField(Name,StringType,true), StructField(Package,StringType,true))

scala> import org.apache.spark.sql.Row
import org.apache.spark.sql.Row

scala> val df = spark.createDataFrame(spark.sparkContext.emptyRDD[Row],typ)
df: org.apache.spark.sql.DataFrame = [CreatedBy: string, Description: string ... 4 more fields]

scala> df.dtypes
res8: Array[(String, String)] = Array((CreatedBy,StringType), (Description,StringType), (ExpirationDate,LongType), (ID,StringType), (Name,StringType), (Package,StringType))

scala> df.dtypes.foreach(println)
(CreatedBy,StringType)
(Description,StringType)
(ExpirationDate,LongType)
(ID,StringType)
(Name,StringType)
(Package,StringType)

scala>

关于scala - 如何在Spark Scala中的变量中存储嵌套JSON的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55097309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com