小编Rud*_*ven的帖子

swagger2多态:将抽象类列表添加到swagger文档

我有一个带有swagger2的spring-boot应用程序。我希望能够将父对象列表以敏捷的方式映射到我的请求模型。我正在使用注释atm,但也可以使用yaml文件。

假设我有一个抽象类Person和两个孩子类Child和Adult。在我的请求中,我列出了一个Person列表,其中可以包含Child对象和Adult对象。

@JsonTypeInfo(
      use = JsonTypeInfo.Id.NAME,
      include = JsonTypeInfo.As.PROPERTY,
      property = "type",
      visible = true)
@JsonSubTypes({
      @JsonSubTypes.Type(value = Child.class, name = "CHILD"),
      @JsonSubTypes.Type(value = Adult.class, name = "ADULT")})
@ApiModel(value = "Child", subTypes = {Child.class, Adult.class}, discriminator = "type")
public abstract class Person { 
   @ApiModelProperty(notes = "Name of the person", example = "aaron")
   private String name;
   @ApiModelProperty(notes = "Birthdate of the person", example = "2000-07-10")
   private Date birthDate;
   @ApiModelProperty(notes = "Type of the person ('CHILD' or 'ADULT')", example = "CHILD")
   private …
Run Code Online (Sandbox Code Playgroud)

java swagger-ui spring-boot swagger-2.0

5
推荐指数
1
解决办法
1031
查看次数

NoSuchMethodError:Databricks 上的 com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase.findFormatOverrides

我正在做一个相当大的项目。我需要使用 azure-security-keyvault-secrets,因此我在 pom.xml 文件中添加了以下内容:

        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-security-keyvault-secrets</artifactId>
            <version>4.0.1</version>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-identity</artifactId>
            <version>1.0.1</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

当我运行此示例代码时:

object Test {

  def main(args: Array[String]): Unit = {
    // get vault name from system env -> databricks
    val secretClient = new SecretClientBuilder()
      .vaultUrl("https://myVault.vault.azure.net/")
      .credential(new DefaultAzureCredentialBuilder().build())
      .buildClient

    val secret = secretClient.getSecret("AzureAccountName")
    println("===================== " + secret.getValue)
  }

}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

java.lang.NoSuchMethodError: com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase.findFormatOverrides(Lcom/fasterxml/jackson/databind/DeserializationContext;Lcom/fasterxml/jackson/databind/BeanProperty;Ljava/lang/Class;)Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
    at com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase.createContextual(JSR310DateTimeDeserializerBase.java:79)
    at com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer.createContextual(InstantDeserializer.java:241)
    at com.fasterxml.jackson.databind.DeserializationContext.handleSecondaryContextualization(DeserializationContext.java:669)
    at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:430)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.findDeserializer(StdDeserializer.java:947)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:439)
    at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:296)
    at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
    at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
    at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:428)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.findDeserializer(StdDeserializer.java:947)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:439)
    at …
Run Code Online (Sandbox Code Playgroud)

scala jackson maven azure-security azure-databricks

5
推荐指数
1
解决办法
6258
查看次数

Spark 在 Databricks 中设置驱动程序内存配置

我正在研究 Azure databricks。我的驱动程序节点和工作程序节点规格为:14.0 GB 内存、4 核、0.75 DBU Standard_DS3_v2。

我的 pyspark 笔记本因 Java 堆空间错误而失败。我上网查了一下,有一个建议是增加驱动内存。我正在尝试在笔记本中使用以下conf参数

spark.conf.get("spark.driver.memory")
Run Code Online (Sandbox Code Playgroud)

获取驱动程序内存。但我的笔记本电脑因错误而失败。

java.util.NoSuchElementException: spark.driver.memory
Run Code Online (Sandbox Code Playgroud)

知道如何检查驱动程序内存并更改其值吗?

apache-spark pyspark azure-databricks

5
推荐指数
1
解决办法
1万
查看次数

无法使用 Apache Spark 读取 AWS Glue 中的 json 文件

对于我们的用例,我们需要从 S3 存储桶加载 json 文件。我们使用 AWS Glue 作为处理工具。但由于我们很快就会迁移到 Amazon EMR,因此我们已经在开发仅使用 Spark 功能的 Glue 作业。这样以后迁移会更容易。这意味着对于我们的用例,我们不能使用任何 Glue 功能,例如对输入文件进行分组

我们面临的问题是,当我们读取这些 JSON 文件时,我们发现驱动程序的内存将达到 100%,直到最终作业因 OOM 异常而失败。

--conf spark.driver.memory=20g我们已经尝试通过使用 G.2X 实例并向Glue 作业添加参数来最大化驱动程序内存。

我们使用的代码很简单:

spark.read.option("inferSchema", value = true).json("s3://bucket_with_json/sub_folder")
Run Code Online (Sandbox Code Playgroud)

输入数据是21个json文件,大小为100MB。文件本身不是有效的 json 对象,但每个文件包含多个 json 对象。例如:

{
  "RecordNumber": 2,
  "Zipcode": 704,
  "ZipCodeType": "STANDARD",
  "City": "PASEO COSTA DEL SUR",
  "State": "PR"
}
{
  "RecordNumber": 10,
  "Zipcode": 709,
  "ZipCodeType": "STANDARD",
  "City": "BDA SAN LUIS",
  "State": "PR"
}
Run Code Online (Sandbox Code Playgroud)

(不是真实的数据集)

我们目前使用的胶水作业规格:

  • 工人类型:G.2X
  • 工人人数:20人
  • 其他 Spark 参数:'--conf': 'spark.driver.maxResultSize=2g …

scala amazon-s3 apache-spark aws-glue

5
推荐指数
1
解决办法
1260
查看次数

将架构从一个数据帧复制到另一个数据帧

我正在尝试将现有数据帧的架构更改为另一个数据帧的架构.

DataFrame 1:

Column A | Column B | Column C | Column D
   "a"   |    1     |   2.0    |   300
   "b"   |    2     |   3.0    |   400
   "c"   |    3     |   4.0    |   500
Run Code Online (Sandbox Code Playgroud)

DataFrame 2:

Column K | Column B | Column F
   "c"   |    4     |   5.0
   "b"   |    5     |   6.0
   "f"   |    6     |   7.0
Run Code Online (Sandbox Code Playgroud)

所以我想在第二个数据帧上应用第一个数据帧的模式.所以所有相同的列都保留下来.数据框2中不在1中的列将被删除.其他人变成"空".

产量

Column A | Column B | Column C | Column D
 "NULL"  |    4     |   "NULL" |  "NULL" …
Run Code Online (Sandbox Code Playgroud)

scala dataframe apache-spark apache-spark-sql

4
推荐指数
1
解决办法
8080
查看次数

使用 AWS CloudFormation 为 AWS Glue 作业启用自动扩展功能

最近,AWS 宣布了针对 Glue ETL 和流作业的自动缩放功能。我今天看到我当前工作的区域现在支持此功能。

我可以确认这正在使用控制台工作,如文档中所述。

我想知道是否可以使用 CloudFormation 启用此功能。在CloudFormation 文档中,我没有看到任何可以启用此功能的设置。

我猜测只有该功能退出预览模式后才可用,但我不能 100% 确定。有人知道更多吗?或者有人可以证实我的推测吗?

amazon-web-services aws-cloudformation aws-glue

2
推荐指数
1
解决办法
2122
查看次数