用例类修剪 DataFrame

Posted

技术标签:

【中文标题】用例类修剪 DataFrame【英文标题】:Use Case Class To Trim DataFrame 【发布时间】:2018-10-15 20:09:44 【问题描述】:

我有以下代码。在 cosmo 中存储包含数据的巨型 JSON。目前,display 命令显示 Azure Cosmos DB 位置中的所有字段。但是,我只想显示 Employee Class 中指定的字段; smtNr、smtDt、prcCnyCd 和 busLinCd。谁能解释为什么这段代码不起作用或如何使用案例类来做到这一点?

val sourceConfigMap = Map(
  "Endpoint" -> "https://endpoint/",
  "Masterkey" -> "masterkey",
  "Database" -> "database",
  "Collection" -> "collection",
  "ConnectionMode" -> "DirectHttps",
)

final case class Employee(smtNr: String, smtDt: String, prcCnyCd: String, busLinCd: String)

val config = Config(sourceConfigMap)
val output = spark.sqlContext.read.cosmosDB(config).as[Employee]

display(output)

【问题讨论】:

【参考方案1】:

您需要从案例类对象中创建一个架构,然后使用架构方法应用创建的架构进行读取。

val config = Config(sourceConfigMap)
val schema = ScalaReflection.schemaFor[Employee].dataType.asInstanceOf[StructType]
val output = spark.sqlContext.read.schema(schema).cosmosDB(config)

【讨论】:

以上是关于用例类修剪 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

unittest 用例编写,套件执行

如何自定义测试用例向导生成的 DUnit 测试用例类?

unittest上下关联关系的接口——继承测试用例类

OCUnit的测试用例类中是不是需要在公共接口中定义测试方法

如何从 UI 测试用例类访问 SwiftUI 视图的属性?

UML静态图,用例类图对象图包图,UML关系